NVIDIA DPU架構
本內容來自《2021中國DPU行業發展白皮書》,內容共分4章:包括智能網卡的簡介及趨勢分析、DPU的簡介及分析、DPU產業分析及NVIDIA的DPU前景展望等。
NVIDIA的BlueField DPU產品發展路線圖如圖所示,包括了已有的二代產品BlueField-2,目前即將面世的首款達400Gb/s速度的BlueField-3 DPU,以及未來整合了NVIDIA GPU功能,可達800Gb/s的BlueField-4 DPU。
現代超大規模雲技術推動數據中心走向了新的架構,利用一種專門針對數據中心基礎架構軟件而設計的新型處理器,來卸載和加速由虛擬化、網絡、存儲、安全和其它雲原生AI服務產生的巨大計算負荷,這種產品即BlueField DPU系列。
BlueField-3 DPU是首款達400Gb/s為AI和加速計算而設計的DPU,助力各企業在任何規模的應用上都能實現業內領先的性能和數據中心的安全性。一個BlueField-3 DPU所提供的數據中心服務可相當於多達300個CPU核才能實現的服務,釋放寶貴的CPU資源來運行關鍵業務應用。這款DPU針對多租戶、雲原生環境進行了優化,提供數據中心級的軟件定義和硬件加速的網絡、存儲、安全和管理等服務。
BlueField-3 DPU的出現解決了目前產業無法完全確保數據安全的問題。BlueField-3 DPU完全承接了BlueField-2 DPU的先進特性,進行了性能加強與擴展,如下圖。
BlueField架構本質上將網卡子系統與可編程數據路徑、用於加密、壓縮等的硬件加速器子系統以及用於控制的ARM處理器子系統融合在一起。在BlueField-3中,數據路徑加速分組(DPA)包括16個處理器核,可並行處理256個線程的任務。BlueField-3的重要技術特性按照網絡業務、安全業務、存儲業務等方面具體說明:
1、 網絡業務
在網絡業務中,BlueField-3專門對RDMA、連接跟蹤(Connection Tracking)、ASAP2等這些網絡通信技術做了進一步加強,特別是對時間精度,可在數據中心和邊緣之間做非常及時的時鍾同步。重要特性技術分析如下:
RDMA技術,可直接在內存之間交換數據,並獲得較好的擴展性,提升運行性能,且可卸載CPU算力。RDMA優勢如下包括:
(1)零拷貝(Zero-copy),應用程序能夠直接執行數據傳輸,在不涉及到網絡軟件棧的情況下。數據能夠被直接發送到應用的緩沖區或者能夠直接從緩沖區里接收,而不需要被復制到網絡層;
(2)內核旁路(Kernel bypass),應用程序可以直接在用戶態執行數據傳輸,不需要在內核態與用戶態之間做上下文切換;
(3)不需要CPU干預(No CPU involvement),應用程序可以訪問遠程主機內存而不消耗遠程主機中的任何CPU。可以在遠程主機不知情的情況下進行讀寫操作;
(4)操作基於消息(Message based transactions),數據被處理為離散消息而不是流,消除了應用程序將流切割為不同消息/事務的需求,用戶可以用高達2GB的消息進行編程;
(5)支持Scatter/gather操作(Scatter/gather entries support),RDMA原生態支持分散/聚合。讀取多個內存緩沖區然后作為一個消息發出去或者接收一個消息然后寫入到多個內存緩沖區里去。
GPU-direct RDMA技術,簡稱GDR技術,該技術可實現計算機1的GPU可以直接訪問計算機2的GPU內存。在沒有這項技術之前,GPU需要先將數據從GPU內存搬移到系統內存,再利用RDMA傳輸到計算機2,計算機2的GPU還要做一次數據從系統內存到GPU內存的搬移動作。
GPU-Direct RDMA技術使得進一步減少了GPU通信的數據復制次數,通信延遲進一步降低。Mellanox網卡已經提供了GPUDirect RDMA的支持(既支持InfiniBand傳輸,也支持RoCE傳輸),在英偉達收購Mellanox后,英偉達的所有網卡已全面支持GPU-Direct RDMA技術。
2、安全業務
安全業務上,BlueField-3可以實現從IP層,傳輸層以及到MAC層的400Gb/s全線速在線加解密,當使用RegEx和DPI做深度包檢測時,速度可以達到50Gb/s。重要特性技術分析如下:
支持IPSec協議,在IP層對數據進行加解密,通過與網絡線速相同的IPSec速度達到安全性。IPSec(Internet Protocol Security)是IETF(Internet Engineering Task Force)制定的一組開放的網絡安全協議。不是一個單獨的協議,而是一系列為IP網絡提供安全性的協議和服務的集合。IPSec解決IP層安全性問題的技術,同時支持IPv4和IPv6網絡。IPSec主要包括安全協議AH(Authentication Header)和ESP(Encapsulating Security Payload),密鑰管理交換協議IKE(Internet Key Exchange)以及用於網絡認證及加密的一些算法等。IPSec主要通過加密與驗證等方式,為IP數據包提供安全服務。BlueField-3對IPSec加解密速度可以達到400Gb/s,相比之下,如果在用搭配100Gb/s、200Gb/s網絡的CPU做IPSec,性能也僅達20-40Gb/s級別,並在加解密方面耗費大量CPU資源,而使用BlueField-3做IPSec可以釋放這部分CPU的算力。
支持TLS協議,在TCP層對數據進行安全保障。TLS協議是HTTP通信所使用的加密通信,用以降低信息明文傳播所具有的三大風險:
(1)竊聽風險(eavesdropping),第三方可以獲知通信內容;
(2)篡改風險(tampering),第三方可以修改通信內容;
(3)冒充風險(pretending),第三方可以冒充身份參與通信。
相應TLS協議的設計目標為:
(1)所有信息都是加密傳播,第三方無法竊聽;
(2)具有校驗機制,一旦被篡改,通信雙方會立刻發現;
(3)配備身份證書,防止身份被冒充。
TLS協議的基本思路是采用公鑰加密法,客戶端先向服務器端索要公鑰,然后用公鑰加密信息,服務器收到密文后,用自己的私鑰解密。BlueField-3對TLS加解密速度也可以達到400Gb/s,使用BlueField-3做TLS同樣可以釋放大量CPU的算力。
3、存儲業務
在存儲業務中,BlueField-3可以實現以往不可能做到的事情,可以做到塊存儲(Block Storage)、文件存儲(File Storage)、對象存儲(Object Storage)或者NVMe存儲(NVMe Storage)的仿真,還可以在數據落盤時加解密的操作(如AES-XTS)進行硬件卸載,甚至是各種簽名操作都可以分流到DPU上。彈性塊存儲(EBS)可以達到18M的 IOP/s的讀寫性能,在虛擬化I/O加速方面可以達到80Mpps的性能。
BlueField SNAP技術,基於軟件定義的網絡加速處理,該SNAP技術允許用戶訪問與服務器連接的遠程NVMe存儲,像訪問本地存儲一樣,實現了遠程存儲的所有效率和管理優點,同時具有本地存儲的簡單性。NVIDIA BlueField SNAP解決方案消除了對本地存儲的依賴性,滿足了雲計算對於存儲解耦以及可組合性存儲的日益增長的需求。BlueField SNAP可以無縫集成到采用任何操作系統或虛擬機管理程序的幾乎所有服務器中,支持在不同的數據中心環境更快地采用NVMe over Fabrics (NVMe-oF),從而有效地為任何應用程序立即部署NVMe-oF技術。BlueField SNAP解決方案(作為 BlueField系列 PCIe DPU智能網卡的一部分提供)使網絡閃存存儲,如同本地NVMe存儲,以有效地虛擬化物理存儲。所有主要的操作系統和虛擬機管理程序,均已支持本地NVMe SSD。
BlueField SNAP利用這些現有的NVMe接口,並結合本地SSD性能、管理和軟件透明度的優勢,為客戶帶來網絡閃存存儲的可組合性和靈活性。這種BlueField SNAP技術與BlueField強大的多核ARM處理器、虛擬交換機和RDMA卸載引擎相結合,支持廣泛的加速存儲、軟件定義網絡和應用解決方案。ARM處理器與SNAP相結合,還可用於加速分布式文件系統、壓縮、重復數據消除、大數據、人工智能、負載均衡、安全性等諸多應用。
4、開發生態
在開發生態上,專為助力BlueField合作生態系統而生的DOCA(集數據中心基礎設施於芯片的架構)軟件開發包,可以通過DOCA實現軟件定義網絡、存儲、安全,開發人員可以通過DOCA直接調用到BlueField硬件的加速引擎。
NVIDIA DOCA SDK為開發者提供一個完整、開放的軟件開發平台,在BlueField系列 DPU上開發軟件定義和硬件加速的網絡、存儲、安全和管理等應用。DOCA功能包含利用BlueField DPU來創建、編譯和優化應用的運行時環境,用於配置、升級和監控整個數據中心數千個DPU的編排工具,以及各種庫、API和日益增加的各種應用,如深度數據包檢測和負載均衡等。
DOCA是一個由庫、內存管理、服務組成的框架,建立在一套成熟的驅動程序之上。部分庫與開源項目有關,部分庫是NVIDIA獨有的。如同CUDA抽象GPU編程一樣,DOCA則將DPU編程抽象到了更高的層次。英偉達通過結合面向開發人員的DOCA軟件開發工具包和用於開箱,用部署的DOCA管理軟件來提供完整的解決方案。例如,ASAP²是基於硬件的對網絡數據路徑進行處理的協議,以二進制形式提供。通過Virt I/O以及配置流跟蹤和Regex加速器的下層API,實現網絡設備仿真。安全驅動程序為TLS提供內嵌的內核卸載。存儲業務中,SNAP驅動程序提供了NVMe虛擬化。
DOCA可不斷實現向后兼容,NVIDIA的願景是讓DPU成為異構計算的第三條腿,補充CPU和GPU的功能,DOCA對於在諸多應用中實現這一願景至關重要。
DPU延續了智能網卡“釋放CPU開銷”、“可編程”、“任務加速”、“流量管理”等功能,實現了控制面和數據面的通用可編程加速。如今數據中心中的各項操作主要都在CPU上完成,包括計算任務和各項基礎設施任務等,面對數據處理需求的增長,CPU的算力已經達到瓶頸,摩爾定律逐漸失效,GPU的出現解決了CPU的算力問題,數據中心的瓶頸轉向基礎設施任務,如數據存儲、數據驗證、網絡安全等。DPU的出現滿足了這樣的通用的基礎設施任務加速的需求。由DPU構建強大的基礎設施層,上層的CPU和GPU來完成計算任務。DPU具有的特性為:
1)行業標准、高性能、軟件可編程的多核CPU,通常基於廣泛使用的ARM架構,與其它SoC組件緊密耦合。
2)高性能網絡接口,能夠以線速或網絡其余部分的速度解析、處理和有效地將數據傳輸到GPU和CPU。
3)豐富的靈活可編程加速引擎,可為AI和機器學習、安全、電信、存儲和虛擬化等執行卸載並提高應用程序性能。
DPU最核心的任務是數據的預處理和后處理,如網絡類任務(包括ALL2ALL、點對點等各種通信模式加速,IPSec,TCP連接跟蹤,RDMA等)、存儲類任務(分布式存儲,數據落盤加解密,數據壓縮,數據冗余算法等)、虛擬化加速(OVS及各種Hypervisor的卸載,控制平面和業務平面分離)、對硬件安全的保障(Root of Trust等)。從雲計算業務的角度看,DPU是把整個IaaS的服務完整的卸載到硬件做加速。
智能網卡中包括FPGA型和ARM核心型,FPGA型難以處理控制平面任務;ARM型則會因處理其它任務而負載過重,DPU包含數據平面和控制平面的雙平面卸載及加速,可以解決以上問題。另外DPU與智能網卡的最大區別是可作為數據中心的最小節點存在,擁有計算功能、網卡功能、加速計算引擎、安全引擎等並可拓展,未來將成為數據中心的標配與三大核心之一(CPU、GPU、DPU)。
更多DPU行業分析,請參閱白皮書《2021中國DPU行業發展白皮書》。本白皮書內容共分4章內容,包括智能網卡的簡介及趨勢分析、DPU的簡介及分析、DPU產業分析及NVIDIA的DPU前景展望等。
參考鏈接:
https://jishuin.proginn.com/p/763bfbd6e78c