DPU:5G邊緣云的新基石
2021年7月24日,由江蘇省未來網絡創新研究院主辦、SDNLAB承辦的2021中國5G網絡創新論壇上,多家機構談到了DPU的進展,我們對此進行了整理,以饗讀者。
5G時代帶來通信帶寬的巨大提升,更多的帶寬使能更多的應用。數據量的迅猛增多以及服務器網絡帶寬的快速增長都已經遠超計算能力的增長,有線速I/O處理需求的應用程序受到CPU和內存的限制,現有系統也會因為CPU資源占用而導致延遲增加,包處理性能出現波動。
5G時代帶來互聯終端設備的大爆發,也帶來數據大爆發。據統計2019年全球產生數據45ZB,預計到2024年這一數字將達到142ZB,其中24%的數據將來自終端實時數據。海量數據條件下低時延網絡傳輸及數據處理的算力需求及性能壓力巨大。
5G時代帶來個性化定制私域網絡時代。5G網絡不止用于公眾客戶,更主要的賦能各行各業,作為新基建的重要組成,推動社會發展。5G將大量部署在網絡邊緣,提供實時應用和服務。據IDC統計,近10年來全球算力增長明顯滯后于數據的增長。每3.5個月全球算力的需求就會翻一倍,遠超算力增長的速度。算力,作為先進生產力,承載了十萬億美元規模經濟。在5G的推動下,計算組織從“端-云”一體,到“端-邊緣-云”一體;從內存計算發展到網內計算。基礎設施云資源作為5G發展的重要基石,也發生了極大的變化。
5G的需求
5G MEC是一種分布式計算部署架構,將計算能力、業務以及部分5G網絡能力部署到網絡邊緣,實現低時延的就地數據處理、敏感數據本地處理。MEC可以很好的適配低頻、頻次不確定性同時時間敏感的業務場景。(來源:網絡通信與安全紫金山實驗室)
5G MEC包括5G網關UPF、邊緣應用平臺MEP、行業應用APP以及虛擬化基礎設施。5G MEC作為一體式設備部署在靠近終端用戶側的邊緣位置,提供大帶寬、低時延的網絡連接能力,AI、圖像渲染等計算能力,以及面向行業的安全能力。
邊緣計算將從傳統的集中式互聯網交換(Internet Exchange IX)模型擴展到邊緣交換模型。位于邊緣的最終用戶和設備遠離主要IX點,流量到達這些位置所需的距離會降低性能并顯著增加傳輸成本。網絡互聯需要在靠近最終用戶的最后一公里網絡附近的邊緣進行。數據在邊緣互聯和共享,不涉及核心網。邊緣互聯將更多流量保留在本地。
低延遲網絡是邊緣計算的重要組成,要求網絡節點盡可能靠近本地。隨著越來越多的數據在本地產生本保存,網絡互聯密度將在邊緣激增,骨干網將延伸到邊緣,對等互聯和數據交換將發生在接入網的1-2跳內。隨著邊緣計算基礎設施的建設,許多設施將發揮網絡間數據交換點的作用。網絡匯聚于這些節點,為邊緣服務提供支持,降低邊緣服務延遲,縮短光纖距離,減少網絡跳數。隨著計算向邊緣擴展,網絡交叉連接也將更加分散。預計到2025年,75%的數據將在工廠、醫院、零售、城市的邊緣產生、處理、存儲和分析。
5G具有靈活的前導碼,以滿足低延遲連接的需求。隨著邊緣計算需求的增長,現有的回傳網絡處理速度無法匹配5G網絡數據產生的速度和容量需求,需要在邊緣部署新的、更快和更高容量的路由。
5G虛擬化網絡功能需要高度分布式的數據中心。這類數據中心可以部署足夠多的服務器,在運行5G網絡的同時運行邊緣云服務。
將工作負載置于邊緣要求對應用構建和運行的方式進行調整,讓代碼可以從數據中心的服務器到客戶場所設備中的微控制器。需要管理高度分布式的應用和數據,編排大規模的邊緣操作。(云原生技術和DevSecOps技術)推送到邊緣的代碼應該是自包含的,每個組件必須完整,包含代碼、配置、庫以及軟件定義的環境,代碼作為一個整體構建、測試和部署,確保容器或虛擬機可以在任何地方運行。
DPU的出現
在云基礎設施領域,CPU用于通用計算,構建應用生態,虛擬化技術例如Hypevisor等占用大量的內存和CPU資源,而真正用作共享的資源受到較大的影響。以網絡協議處理為例,解析報文需要接近100個cycle,線速處理10G的網絡需要約4個Xeon CPU的核,單做網絡數據包處理,就可以占去一個8核高端CPU一半的算力。而GPU用于加速計算,專注于圖像處理、流媒體處理,并繼續朝著AR、VR處理,AI加速的方向發展。在云基礎設施領域,需要一種技術,能夠卸載CPU負荷,最大限度的將硬件資源共享給租戶。
十年前,網絡處理器(NP)主要用于包處理、協議處理加速,應用在各種網關、防火墻、UTM等設備上,多采用多核NOC架構。后來Intel推出了DPDK技術,在用戶空間上利用自身提供的數據平面庫手法數據包,繞過linux內核協議棧,極大提升了包轉發速率,原來需要NP來實現的網關類設備,現在X86就能滿足性能要求。而DPU則是5G時代集網絡加速為一體的新型數據處理單元。DPU內部融合了RDMA、網絡功能、存儲功能、安全功能、虛擬化功能。接手CPU不擅長的網絡協議處理、數據加解密、數據壓縮等數據處理任務,同時兼顧傳輸和計算的需求。DPU起到連接樞紐的作用,一端連接CPU、GPU、SSD、FPGA加速卡等本地資源,一端連接交換機/路由器等網絡資源。總體而言,DPU不僅提高了網絡傳輸效率,而且釋放了CPU算力資源,從而帶動整體數據中心的降本增效。
1950年以來,CPU是計算機或智能設備的核心
1990年以來,GPU登上舞臺
而5G的時代是數據革命時代,也是DPU的時代。
什么是DPU
DPU是相當于智能網卡的升級版本,增強了網絡安全和網絡協議的處理能力,增強了分布式存儲的處理能力,將軟件定義網絡、軟件定義存儲、軟件定義加速器融合到一個有機的整體中,解決協議處理,數據安全,算法加速等計算負載,替代數據中心用于處理分布式存儲和網絡通信的CPU資源。
DPU本質上是分類計算,是將數據處理/預處理從CPU卸載,同時將算力分布在更靠近數據發生的地方,從而降低通信量,涵蓋基于GPU的異構計算,基于網絡的計算(In-NetworkComputing)、基于內存(In-Memory-Computing)的計算等多個方面。DPU定位于協同處理單元,是數據面與控制面分離思想的一種實現,其與CPU協作配合,后者負責通用控制,前者專注于數據處理。在局域網場景下DPU通過PCIe/CXL等技術連接同一邊緣內各種CPU、GPU,廣域網場景下主要通過Ethernet/infiniband等技術實現邊緣與邊緣間、邊緣與云之間的連接。
DPU包括特定的報文處理引擎,如P4、POF等,此外還包含ARM等協處理器能夠處理路由器場景中的大量分支預測。具備低延遲的交換能力,能將不同類型的數據包快速分發給不同的處理單元。
基于DPU的網絡處理模塊是完全可編程的。相比于ASIC,DPU能隨著網絡、協議、封裝和加密算法的快速變化,以軟件的速度改變硬件的能力。通過DPU提高每個網絡節點上的計算能力,相比標準網卡,同等算力所需的服務器數量更少,降低了前期成本、空間、電力和散熱的要求,DPU會降低大規模部署網絡服務的TCO。
DPU將成為新的數據網關,集成安全功能,使網絡接口成為隱私的邊界。可將開銷巨大的加解密算法如國密標準的非對稱加密算法SM2、哈希算法SM3和對稱分組密碼算法SM4,交由DPU處理。未來,隨著區塊鏈技術的成熟,共識算法POW、驗簽等都會消耗大量的CPU算力也可以固化在DPU中。
DPU將成為存儲的入口。分布式系統中NVMeof協議擴展到InfiniBand或TCP互聯的節點中,實現存儲的共享和遠程訪問。這些數據流的協議處理可以集成在DPU中,作為各種互聯協議控制器。
DPU將成為云服務提供商管理資源的工具,云服務提供商將云資源管理占用全部下沉至DPU,將CPU、GPU全部釋放出來,作為基礎設施提供給云租戶。提供者與使用者兩者之間的資源嚴格區分,管理界面清晰,方便使用。
DPU實現的方式:
不同廠商DPU實現方式不一:
- Marvell收購了Innovium,提供面向5G的基帶處理 DPU,其OCTEON 10系列DPU,采用臺積電5nm制程,首次采用ARM Neoverse N2 CPU內核;
- Netronome,其NFP4000流處理器,包括48個數據包處理內核和60個流處理內核,所有這些內核都可以通過P4編程;
- Pensando其Capri處理器具有多個可編程的P4處理單元。
- Fungible,其DPU基于MIPS,面向網絡、存儲、虛擬化,包含52個MIPS小型通用核以及6個大類的專用核。
英偉達 2019年3月,收購以色列芯片公司Mellanox,其推出的BlueField-2包括8個ARM Cortex-A72核及多個專用加速核區域。DOCA(data center infrastructure-on-a-chip Architecture)作為 DPU上的軟件開發平臺,提供標準API,將驅動程序、庫、示例代碼、文檔和與包裝的容器組合在一起,支持基于DPU應用和服務的快速開發。
英特爾,收購了深度學習芯片公司Nervana System,以及移動和嵌入式機器學習公司Movidius,將CPU與FPGA結合在一起構建DPU。提供DPDK(Intel Data Plane Development Kit),為用戶空間高效的數據包處理提供庫函數核驅動的支持,通過SR-IOV技術,實現不同應用通過DMA直接與PCIe設備一起工作。FPGA擴展到300萬個邏輯單元,可以與其他處理模塊一起實現網絡、內存、存儲和計算。
Broadcom基于Arm實現DPU,主要面向交換機、路由器芯片。以NetXtreme E系列控制器為基礎,搭載TruFlow技術,推出了Stingray SmartNIC。
Xilinx 2019年收購了solarFlare,其最新發布的Alveo SN1000系列基于 16nm UltraScale+FPGA架構,容量為100萬個LUT,包含一個NXP的16核ARM處理器,可以在FPGA上每秒處理400萬個狀態連接和1億個數據包。其solarFlare onload(TCPDirect)功能應用于全球90%的金融交易所。
AWS Nitro,采用了網絡卡、存儲卡、控制器卡多卡形態來實現DPU功能。收購了以色列芯片上Annapurna labs。
阿里云,推出了MOC卡產品,集成了志強D處理器、FPGA,是一種單卡形態產品。
英偉達的DPU(BlueField-2)功能特色
從2021中國5G網絡創新論壇上英偉達沈宇希嘉賓的演講中獲知,英偉達的BlueField-2采用SoC架構設計,最大200Gbps帶寬,編碼方式支持NRZ 25Gbps模式和PAM4 50Gbps模式,內置ConnectX-6 Dx網卡芯片,支持RDMA,同時支持TLS/IPSec。
DPU可以提供實時時鐘。搭載ConnectX-6DX的DPU,通過PHC2SYS能夠實現服務器與網卡之間400ns的同步精度,ConnetX-6DX之間借助PTP4l可以實現20ns的同步精度,滿足5G無線DU時鐘同步需求。
DPU增強邊緣網絡部署智能。DPU支持裸金屬、虛擬化、容器化部署模式。裸金屬控制層通過DPU仿真NVMe設備,數據層借助DPU的ASIC芯片高速轉發,并通過NVMatrix基于Infiniband或RoCEv2無損網絡連接后端高通量分部式集群。DPU可為裸金屬物理機接入靈活可擴展的高速云盤服務。
DPU可以提供靈活可擴展的網絡設備。DPU可以配置為兩類設備:一類為NVIDIA原生設備,包括PF/VF、SF;另一類為VirtIO-Net設備。其中,SF專門針對基于裸金屬的大規模容器開發,功能與VF設備相當,支持RDMA、內核協議棧,開啟無需打開SR-IOV。該DPU最大支持512個SF(SubFunction)。
DPU對網絡加速。DPU采用了ASAP2網絡加速技術。ConnetX-6DX內置了Embeded switch(E-Switch),能夠實現網絡設備之前的數據交換和處理。E-Switch可編程,支持查表操作及表跳轉,表項與OVS數據面匹配。OVS數據面可卸載至E-Switch,通過ASIC實現了內核OVS的卸載,轉發性能高。通過ASAP2 將OVS數據面、控制面、管理面分開,后兩者通過DPU的ARM計算組件來實現,數據面卸載到E-Switch,從而實現加速的效果。E-Switch支持多種Overlay協議的卸載,如VXLAN、GRE等,支持報文頭修改,實現NAT功能。E-Switch支持Connection Track,實現TCP連接的狀態監控,此外還支持流量統計和限速、鏡像;E-Switch與現有SDN控制器及編排工具無縫兼容?;谠揇PU,裸金屬云可以快速部署,實現網絡性能的提升。
DPU提供高可靠的存儲。相比于智能網卡,DPU增加了存儲卸載功能,通過SNAP技術向主機OS呈現多個存儲設備。應用對DPU的訪問由IO Processor統一處理,包括SPDK和硬件卸載兩種處理方式。用戶可以在DPU連接的存儲設備上安裝操作系統,并啟動,從而構建本地完全沒有磁盤的裸金屬架構,實現比本地磁盤更高的可靠性。租戶對存儲的定義和訪問都通過DPU完成,對主機操作系統無依賴,同時可以充分利用遠端存儲支持數據快速遷移(分鐘級)。
小結
當前,雖然有眾多巨頭的參與,DPU市場仍然處于初級階段。隨著網絡流量指數上漲,在任何有大流量的地方,DPU都將存在,市場前景廣闊。在DPU加持下,5G時代邊云協同、云網一體都將逐漸成為現實。