DPU(Data Processing Unit)数据处理器
DPU(Data Processing Unit)數據處理器
DPU:5G邊緣云
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、圖像渲染等計算能力,以及面向行業的安全能力。
圖1:邊緣云網融合架構
邊緣計算將從傳統的集中式互聯網交換(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。
圖2:BlueField-2 DPU芯片
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)。
圖3:DPU示意圖
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控制器及編排工具無縫兼容。基于該DPU,裸金屬云可以快速部署,實現網絡性能的提升。
DPU提供高可靠的存儲。相比于智能網卡,DPU增加了存儲卸載功能,通過SNAP技術向主機OS呈現多個存儲設備。應用對DPU的訪問由IO Processor統一處理,包括SPDK和硬件卸載兩種處理方式。用戶可以在DPU連接的存儲設備上安裝操作系統,并啟動,從而構建本地完全沒有磁盤的裸金屬架構,實現比本地磁盤更高的可靠性。租戶對存儲的定義和訪問都通過DPU完成,對主機操作系統無依賴,同時可以充分利用遠端存儲支持數據快速遷移(分鐘級)。
小結
當前,雖然有眾多巨頭的參與,DPU市場仍然處于初級階段。隨著網絡流量指數上漲,在任何有大流量的地方,DPU都將存在,市場前景廣闊。在DPU加持下,5G時代邊云協同、云網一體都將逐漸成為現實。
DPU數據處理器
DPU-數據中心的心臟
一種新型領域專用處理器DPU正悄然興起。DPU,是Data Processing Unit的簡稱,是面向數據中心的專用處理器。DPU產品還處于發展初期階段,但順應數據要素化的爆發浪潮,已吸引了從半導體巨頭到創業公司的廣泛關注。
CPU優勢是通用和所承載的復雜的業務生態,具有豐富的軟件生態和穩定的系統的可用性。GPU作為圖像處理的核心,將繼續向虛擬現實、增強現實、深度學習等方向發展。DPU將軟件定義網絡、軟件定義存儲、軟件定義加速器融合到一個有機的整體中,解決協議處理、數據安全、算法加速等負載。
DPU將助力隱私計算的發展
基于隱私保護技術的數據要素化,使得數據所有權和使用權分離,使得數據價值可以流動。這顯然是有巨大代價的。主要是算力和網絡的兩方面:
? 多方安全計算、聯邦學習、同態加密、差分隱私、零知識證明等密碼學方法,性能低,需要的計算資源比明文多幾個數量級;
? 算力不足可以用硬件加速緩解,但是網絡帶寬,尤其是公網環境,有限的帶寬是目前落地的瓶頸。尤其是多方安全計算MPC、聯邦學習等需要多輪網絡交互的技術。
對于性能問題,DPU可以帶來改善。DPU的本質是將計算向存儲靠近。類似的方案有存內計算、近內存計算等框架,還有將計算和數據融合的霧計算。以數據為中心的處理器首先解決的是性能問題。
在數據的流動,即網絡傳輸,是數據中心的第二大職能。諸如網絡協議處理、傳輸壓縮、數據加密等任務都是網卡設備的職能。DPU可以被集成到SmartNIC(下一代網卡)中,從而帶來網卡的性能提升,那么它不僅可以處理物理層和鏈路層的數據幀,也有能力承擔網絡層和應用層的職能。
如果DPU可以將網絡和算力的性能分別提升2個數量級以上,將會極大地加速整個隱私計算行業的應用落地,促進行業大發展。
端上DPU-全面軟件定義硬件
數據中心的負載主要有:計算的分配、存儲的共享、硬件資源的虛擬化等。DPU不僅使得網卡功能變得“軟件定義硬件”,可能成為全面的“軟件定義硬件”的工具。未來,DPU的市場也將不會局限在數據中心,也會出現在移動端和邊緣端,例如自動駕駛場景、物聯網數據融合和一些消費級的DPU產品、移動端上隱私保護。
DPU在端上的發展,將促進形成以用戶為中心的數據所有權格局。借助分布式系統等技術例如區塊鏈。新的數據生態、數據經濟、數據商業模式將成為現實。
DPU全稱是 data processing unit,在云計算技術和產品里出現時間也有幾年了,包括AWS的Nitro(注意不是智能網卡ENA,ENA對應的是Mellanox的CX-5等),不過大部分云廠商都是用于自己云平臺上,只是最近NVIDIA CEO Jensen Huang對其DPU產品BlueField-X的介紹和產品發布視頻導致了一股討論熱潮。
BlueField-2圖例
那么到底什么是DPU?通過以下幾點對DPU即同類型設備的幾點特征做如下解釋:
1)DPU是一塊完整的板卡,這塊卡有獨自的CPU,不是類似原來嵌入式設備的MIPS等性能不高的CPU,通常是ARM等服務器同類型的CPU;這塊卡還有獨立的內存、磁盤、網卡及可配置GPU等增強設備,有獨立的BMC和OS,如果不看物理形態,完全是一臺體積小的服務器;
2)DPU設備工作時,附錄在通用服務器上,作為附屬設備使能,通過PCI設備與所屬Host進行交互信息;在Host OS來看,DPU設備是透明的,但是提供的網路、存儲、安全等能力是可見的;
3)DPU設備的啟動/重啟,對所屬Host有依賴,二者的OS相互獨立但是有控制信息傳遞和數據信息的交互(通過PCI接口);相比智能網卡,完全在所屬主機Host內可視可控;
4)不少人認為DPU是智能網卡或智能網卡的增強版,個人并不這么認為;一方面是DPU要比智能網卡的能力全的多(包括有網絡能力、存儲能力、安全能力等),再一個是智能網卡的驅動通常是在所在主機內,DPU完全不需要任何驅動,最后DPU有獨立的CPU和OS而智能網卡僅是驅動設備;所以DPU是一種全新的軟件定義基礎設施的設備(Software-Defined Infrastructure),不是已有網卡設備的增強版;
DPU可以提供的幾點能力:
1)提供為所屬主機的網絡處理能力、存儲處理能力和安全處理能力,這些能力可以使用DPU的OS的軟件棧來實現,也可以通過智能網卡或安全設備實現網絡處理能力、存儲處理能力和安全處理能力的硬件卸載,以提升處理性能;比如NVIDIA的BlueField-2,集成了ConnectX-6提供200G的以太網,或IB處理能力,實現了虛擬交換機卸載;
2)DPU類型的設備所用CPU,可以是前面提及的ARM,也可以是其它能力匹配的CPU,比如X86等,但產品化要考慮性能、功耗、產品體積、主機插槽等各方面影響;
3)DPU類型的設備,如類似AWS的Nitro卡,可以提供hypervisor的能力,對BMS和EC2實例提供一致的產品架構和特性能力,對于BMS產品實現尤其重要,可以參考阿里的神龍相關說明;
4)DPU類型設備提供了服務器“異構”的生態自主構建能力,如X86的服務器上,很多如Mellanox(已被NVIDIA 收購)的網卡、英偉達的GPU,可以很方便的在X86上,通過標準的PCI標準提供相應的能力,無需再直接和X86 主板CPU產生關聯;使得其它廠商給服務器的主機CPU外圍,提供更多能力構建的通道,不會和主機CPU產生綁定和依賴,“繞開”了主機CPU廠商設置的“門檻”。
DPU給業界帶來什么?
1)從技術上來說,可以通過主機外面附加DPU設備,最大化Host資源使用率,通過DPU的廉價性使能,在如云計算場景,有更多的主機CPU可以銷售,提供更大規格單EC2實例,甚至BMS提供了方案,更多的主機CPU出售,主機數沒有增加,銷售產品數量增加了;使用DPU的智能網卡等硬件卸載,提升網絡能力和存儲能力,以及加解密安全能力;DPU設備對于主機的透明性,增加了云計算主機入侵后的擴散隔離能力;
2)從商業上講,以DPU對于NVIDIA為例,NVIDIA產品中網卡、GPU外設,可以不再受Host主板/板載約束,DPU設備通過PCI標準通信,實現了CPU算力的逐步搶占,可以在維持客戶數據中心已有X86設備的基礎上,疊加NVIDIA的設備能力,逐步蠶食這塊算力市場,構建NVIDIA在數據中心整體能力建設,最終實現數據中心全NVIDIA的“設備全棧”目標;突破比如intel CPU板載網卡,必須是本廠商的限制;
3)從趨勢上講,DPU設備對于主機Host,具有了更多“智能化”,雖然原來服務器通常有管理職能化(BMC),但接口標準性、接口性能、功能豐富度一直存在不足,DPU設備對于數據中心硬件設備的SDN(Network?Defined?Software)、SDS(Network?Defined?Storage)后的SDC(Network?Defined?Compute)最后一環,提供了一種實現,相比原來純虛擬化內容的SDC,最終實現了能力加設備的智能管控,即前面提及的SDI能力;
4)DPU設備的出現,解決了數據中心服務器設備,尤其是在云場景下的一些問題,為數據中心的智能化,實現了重要的一環;如果X86服務器的CPU主機,使用了NVIDIA的DPU后,導致CPU的板載網卡處于無用之地,給整體設備采購成本、采購流程帶來了影響,DPU選型需要考慮到市場和客戶因素;
5)從整體運行的系統性來講,原來單主機允許的故障范圍,擴大到DPU設備和CPU主機,二者之一有故障,會帶來整體的損壞,可靠性和穩定性角度是有下降的,畢竟“沒有免費的午餐”,想獲得收益就得有付出,只是這個代價是否是客戶可以接受的。
6)DPU畢竟也屬于一款硬件產品,研發不僅包括了CPU,還有網卡、OS等,對于基于DPU進行自主和服務器設備自身研發,不會存在太多差異,甚至因為設備體積限制等,帶來更多制造精度的要求,因此DPU的制造可以當做服務器集成,技術上還是有很多可以從服務器商借鑒的;如果說一款DPU類型的設備全是創業公司自研,這個自研說法的可信度也自然就值得懷疑;
總之,DPU設備提供了較多的實用能力,有NVIDIA等廠商對產品的定位和市場考慮,但“數據中心基礎架構”只能當做廠商自己目標的宣傳語,沒到必要的程度;從DPU的市場來看,主要用于云計算場景,云計算大廠商基本都會有自己自研設備或設備合作定制;DPU產品之路,且行且看路,因為這條路真不寬。
參考鏈接:
http://www.techweb.com.cn/cloud/2021-08-27/2855191.shtml
http://www.techweb.com.cn/cloud/2021-08-31/2855676.shtml
https://zhuanlan.zhihu.com/p/366784412
總結
以上是生活随笔為你收集整理的DPU(Data Processing Unit)数据处理器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为公有云架构解决方案
- 下一篇: 特斯拉fsd全自动驾驶与华为自动驾驶