DPU本質上是通過DPU卡上資源,解耦計算、控制、存儲,利用CPU、GPU、FPGA加速器等異構處理單元,通過以智能卡為接口的網絡實現高效的數據分發(fā)和調度。市面上流行的DPU產品基本上都實現了3類功能卸載,包括網絡功能卸載、存儲功能卸載、安全服務卸載。
DPU網卡直接將數據送達GPU和虛擬機CPU,時延3~4微秒。同時DPU卡通過自身的加速模塊,實現了數據處理效率的提升,控制能力的卸載。從某種角度來看,DPU 是一個強IO型的板卡系統(tǒng),其IO帶寬幾乎與網絡帶寬等同,能夠直接進行數據內容處理,以及復雜計算。
| DPU功能示意圖
DPU通用架構
通常,DPU板卡包括控制平面、數據平面及接口平面三個組成部分。
| DPU參考架構
控制平面
控制平面負責DPU網卡的運行管理、計算任務和計算資源的配置,以及虛擬機的管理??刂破矫嫱ǔS赏ㄓ?a target="_blank">處理器核來實現,如ARM、MIPS等,運行標準Linux系統(tǒng)。控制平面與數據平面交互的驅動程序進行了深度優(yōu)化,以提升數據交互、任務調度效率。控制平面的主要功能包括運行管理、計算任務和計算資源配置、虛擬機管理等功能。
# 運行管理
運行管理包括設備的安全管理和實時監(jiān)控。安全管理模塊包括信任根、安全啟動、安全固件升級以及基于身份驗證的容器和應用的生命周期管理。實時監(jiān)控模塊動態(tài)監(jiān)測DPU各子系統(tǒng)、各處理核,實時監(jiān)測流量,記錄設備訪問日志。
# 計算任務和計算資源配置
根據計算任務實時配置處理單元間的通道,以及各處理單元參數。根據處理單元資源利用情況實時調度任務。
# 虛擬機管理
卸載虛擬機管理,隔離數據和資源,記錄運行狀態(tài),通過vDPA(Virtual Data Path Acceleration)框架等技術協(xié)助虛擬機熱遷移。
數據平面
數據平面負責高速數據包處理、虛擬化協(xié)議加速、安全加密、流量壓縮、算法加速等功能。
# 高速數據包處理
OvS解析、匹配和處理,RDMA遠程數據傳輸加速,處理帶寬達到100Gbps、200Gbps、400Gbps,具備有狀態(tài)數據處理能力,能夠記錄各連接信息,能夠在多連接間無縫切換。
#虛擬化協(xié)議加速
支持SR-IOV、VirtIO、PV加速,支持VxLAN、Geneve Overlay卸載、VTEP卸載。
# 安全加解密
IPSec和TLS加解密加速,安全算法加密。
#流量壓縮
實時壓縮/解壓縮數據,加速地址轉換和地址重映射、數據流變換。如面向多媒體流、CDN和4K/8K 視頻的 流量整形加速等
# 其他算法加速
NVMe 存儲協(xié)議、大數據分析SQL加速。
接口平面
接口平面包括三個方面系統(tǒng)接口平面、網絡接口平面、主存接口平面。
系統(tǒng)接口平面
主要負責DPU與其他處理平臺(如X86、ARM、GPU、FPGA等)或高速外部設備(SSD等)的集成。DPU板卡數據傳輸量大,帶寬要求高,通常基于PCIe實現接口平面,可以分為EP(Endpoint)類和RC(Root Complex)類兩種。EP類接口 DPU作為其他處理平臺的從設備。
支持硬件設備虛擬化功能,如SR-IOV和VirtIO,并且可以靈活地支持多種類型的設備,如NIC、Storage、Compute等。RC類接口 DPU作為主設備與加速平臺或外設連接。部分數據處理卸載到第三方加速平臺,支持DMA方案。
網絡接口平面
負責DPU與網絡的相連,以以太網接口、FC接口為主。通常需要借助專門的網絡協(xié)議處理核加速網絡包的處理。包括:L2/L3/L4層的ARP/IP/TCP/UDP網絡協(xié)議處理、RDMA、數據包交換協(xié)議、網絡虛擬化協(xié)議,實現100G以上的網絡包線速處理。
主存接口平面
是DPU與緩存的接口。緩存用于存儲數據平面的中間結果,實現處理核之間的數據通信,包括DDR和HBM接口類型;其中DDR可以提供大容量緩存(512GB以上);HBM可以提供大存儲帶寬(500GB/s以上)。
DPU的架構設計
DPU的多種架構的設計主要是指DPU 數據平面的設計。
在DPU的組成框架中,控制平面主要用作CPU的卸載,數據平面則是用作各種專用功能、算法的加速??刂破矫嫱ǔ=柚ㄓ梅掌鲗崿F。數據平面包含了各種專用的處理核,以及可編程的處理模塊,提升數據的處理速率。以應用特征為依據,可以把應用分為“IO密集型”和“計算密集型”兩類。
IO密集型應用有較高的輸入和輸出帶寬,數據直接來自于IO,具備流式特征,要求線性處理,如路由轉發(fā)應用、數據加密應用、壓縮應用等。
IO密集型處理器芯片的構建方式:以CPU或者專用加速器為核心構造主體計算架構,前者可稱之為控制中心模式,后者為數據中心模式。DPU偏向于數據為中心的結構,集成了更多類別的專用加速器,在獲得機制性能的同時犧牲了指令靈活性。
DPU要處理更多的網絡IO,包括外部以太網、內部虛擬IO。同時DPU通常也會配置少數通用核(如ARM、MIPS)等來處理一定的控制面任務,通過運行輕量級的操作系統(tǒng)來管理DPU上的異構核資源。
# 數據平面是DPU設計的關鍵,數據平面通常需要解決4類問題:
1.異構處理核多,需要解決處理核之間的功能解耦、協(xié)同配合問題,需要妥善處理好網絡、存儲、安全、虛擬化、業(yè)務的卸載加速。
2.高并發(fā)的數據處理,并行計算、并行數據流,核心數量眾多,規(guī)模通常達到幾百個。
3.片上互聯問題,包括處理核之間的數據互聯,核間的數據一致性問題。
4.高效易用的編程方式。
構成DPU的處理核包括GPU、FPGA、ASIC、NP、類腦芯片。
GPU(Graphics Processing Unit)圖形處理器。在浮點運算、并行計算方面,GPU可以提供優(yōu)秀的性能,執(zhí)行類型高度統(tǒng)一的、相互吳以來的大規(guī)模數據處理效率高。GPU中邏輯運算單元(ALU)多,控制器功能簡單,緩存少,擅長高強度的并行計算。GPU可以將大規(guī)模、非結構化的數據分解成獨立模塊,分配給各個流處理集群(SMM)。每個流處理集群再次把數據分解,分配給調度器,調度器將任務放入自身所控制的計算核心core中,完成最終的數據處理任務。
FPGA(Field Programmable Gate Array):是在PAL、GAL、CPLD等可編程期間的基礎上發(fā)展起來,作為專用集成電路領域中的一種半定制電路而出現,解決了定制電路的不足,無指令、無需共享內存。寄存器和片上內存由各自的控制邏輯,不需要仲裁和緩存。通過編程可定義單元配置和鏈接架構,具有較強的靈活性。流水線并行和數據并行,實時性最強,靈活性最高。但是只適合定點運算。FPGA內部有很多可配置邏輯模塊(CLB),通過對CLB的配置來實現邏輯功能。FPGA帶有豐富的片上存儲資源,可以大大減少訪問時延(訪問DRAM存儲大約是訪問寄存器存儲延遲的幾百倍以上)。FPGA可硬件編程,可進行靜態(tài)重復編程和動態(tài)系統(tǒng)重配置。
ASIC(Application Specific Integrated Circuit):根據產品的需求進行特定設計和制造的集成電路,能夠在特定功能上進行強化,具有更高的處理速度和更低的能耗。但是研發(fā)成本高,研發(fā)投入周期長,只有用量足夠大時才能夠分攤前期投入,降低成本。
NP芯片由微碼處理器和協(xié)處理器組成,多個微碼處理器并行運行,可以通過編制微碼控制處理流程。復雜的標準操作,如內存操作、路由表查找、QoS擁塞控制、流量調度采用硬件協(xié)處理器來提高處理性能。NP芯片具有豐富的高速I/O接口,包括物理鏈路接口、交換接口、存儲器接口、PCI/PCIE總線接口等,通過內部高速總線連接在一起,具有很強的硬件并行處理能力。
類腦芯片:類人腦芯片架構是基于神經形態(tài)的架構,模擬人腦處理過程,感知世界、處理問題。此類架構芯片功能類似于大腦袋額神經突觸,處理器類似于神經元,而其通訊系統(tǒng)類似于神經纖維。通過神經元網絡系統(tǒng),計算機可以感知、記憶和處理大量不同的信息。類腦芯片有望形成自主認知的新形勢,突破傳統(tǒng)計算機體系結構的限制,實現數據并行傳送、分布式處理,以極低功耗實時處理大量數據。
SoC架構:基于多核SoC的DPU使用大量嵌入式CPU核來處理分組,可編程性比ASIC好,可以使用標準的DPDK代碼在linux環(huán)境中運行。但是在40Gb以上的高帶寬場景,CPU核數顯著增加,數據包處理的復雜度提升,效率降低,且延時增大。對于有狀態(tài)的數據流往往只映射到一個CPU核心/線程,以防止狀態(tài)共享和單流中的無序處理。
眾觀市面流行的DPU型板卡,實現各不相同。Intel IPU Oak Springs Canyon基于Agilex FPGA和Xeon-D CPU實現。Intel IPU(Mount Evans)基于ASIC實現,通過PCIe鏈接4個Xeon處理器,加速引擎包含:vSwitch、防火墻、虛擬路由、NVMe、QAT(量化感知)。Xilinx的 Alveo系列加速卡,融合了FPGA、MP SoC和ACAP。這些DPU處理場景各有側重,難以形成有效比較。
各類實現方式的性能比較
DPU與CPU、GPU等處理芯片構成統(tǒng)一的計算平臺,高效支撐已有應用,并為未來應用提供必要的運行基礎。對于DPU在網絡、存儲、計算、安全方面的加速性能,《專用數據處理器(DPU)性能基準評測方法與實現》中提出了對DPU的評測標準,可以歸納為:
網絡能力
表項(會話)規(guī)模,表征DPU網絡支撐節(jié)點規(guī)模能力。
吞吐能力,表征DPU網絡數據包的轉發(fā)處理能力。
建表性能,表征DPU支持并發(fā)會話或路由學習的能力。
時延性能,表征DPU轉發(fā)處理數據包的效率。
網絡可觀測能力,表征DPU的統(tǒng)計和遙測能力。
確定性網絡能力,表征DPU網絡的可靠數據傳輸能力。
存儲能力
DPU上存儲加速卸載的主要場景是NVMe-oF。
NVMe-oF存儲的I/O讀寫能力,表征DPU存儲的讀寫能力。
NVMe-oF存儲的吞吐能力。
NVMe-oF存儲的時延性能,表征DPU存儲的數據讀寫和傳輸效率。
NVMe-oF存儲的QoS能力,表征DPU存儲的可靠I/O讀寫能力。
計算能力
計算能力包括大數據計算加速、ML/AI算法加速和視頻編解碼等。
計算業(yè)務的吞吐能力,表征DPU計算業(yè)務處理能力。
計算業(yè)務的時延性能,表征DPU計算業(yè)務處理效率。
計算業(yè)務的并行處理能力,表征DPU并行處理能力。
計算業(yè)務的能效比,表征DPU計算業(yè)務處理效能。
安全能力
安全策略規(guī)模,表征DPU上支持的安全策略規(guī)模。
安全業(yè)務的吞吐能力,表征DPU加解密和安全過濾匹配查詢的能力。
安全業(yè)務的時延性能,表征DPU安全處理的效率和效能。
安全業(yè)務的并發(fā)會話規(guī)模,表征DPU安全并行處理能力。
不同廠商的DPU定位不同、功能各有差異,網絡、存儲、計算、安全、管理各有所側重。作為最終用戶,必須首先明確自身需求,在此基礎上,選擇合適的測試指標體系和具體的測試模型,才能對同類產品有比較清晰的了解。
不同應用場景的性能要求
隨著云技術、5G等技術的發(fā)展,DPU將在云網絡、存儲、安全、電信與邊緣計算等場景廣泛應用。
云網絡應用場景
云網絡場景具體包括網絡功能卸載,包括虛擬交換機功能的卸載、虛擬主機接口的硬件加速、網絡協(xié)議的卸載。虛擬交換機卸載,解決報文頭分析,L2/L3轉發(fā)策略、Overlay網絡報文封裝/解封裝。
虛擬主機接口的硬件加速,為虛擬主機提供virtion-net硬件接口,提升網絡I/O性能。RDMA/RoCEv2卸載實現NVMe-oF協(xié)議卸載,在target端,對NVMe、RDMA、TCP等協(xié)議進行硬件加速,在initiator端,通過PCIe的P2P機制在網絡接口和其他PCIe設備之間構建快速通道。
存儲接口的硬件加速:將virtio-blk接口硬件化,virtio-blk或者NVMe接口通過SPDK和遠端的存儲節(jié)點進行對接,也可以直接對接DPU上的存儲設備。存儲應用的卸載卸載SPDK,提供vhost-blk、vhost-nvme-vhost-scsi Target等組件,通過減少VM事件數目,實現對virtio-blk、 KernelNative NVMe、SCSI驅動的加速。Service Mesh卸載卸載服務之間的網絡調用、限流、熔斷和監(jiān)控。
存儲應用場景
存儲應用場景通過DPU卸載存儲,統(tǒng)一管控和運維存儲資源,提供硬件級別的QoS服務,對服務器呈現虛擬的virtio-blk,虛擬的NVMe等PCIe存儲設備,為服務器提供提供統(tǒng)一的存儲設備,同時支持裸金屬、虛擬和容器場景。DPU統(tǒng)一管理內置存儲、DAS存儲、SAN存儲,卸載本地存儲協(xié)議和網絡存儲協(xié)議,實現存儲的統(tǒng)一管理。提供基于設備層面的數據加解密、數據完整性校驗、數據壓縮解壓縮等功能。
安全應用場景
安全應用場景通過DPU實現基于信任根的安全啟動,實現數據傳輸安全、存儲安全。DPU卸載零侵入管控組件,提供從硬件到軟件各個層次的安全保證?;谛湃胃陌踩珕樱删幊虒崿F的分布式防火墻、數據傳輸安全、數據存儲安全。DPU中的一次性非易失性存儲區(qū)中存放公鑰,作為安全啟動的可信根計算基礎。在DPU固件法布施,采用數字簽名系統(tǒng)的私鑰進行加密。安全啟動時,采用逐級驗簽的方式,確保系統(tǒng)固件的安全性、可靠性。防火墻卸載,支持租戶定義自身的防火墻過濾規(guī)則,保護面向互聯網的工作負載和VM之間的流量,隔離租戶本地網絡與服務提供商的虛擬網絡。
DPU支持虛擬機數據傳輸加密,通過卸載IPSec VPN,識別VM流量,觸發(fā)IPSec IKE協(xié)議和目的端協(xié)商,完成身份認證和加密參數協(xié)商,建立隧道。DPU支持RPC調用數據傳輸加密,主要指基于TLS協(xié)議的HTTP,HTTP2協(xié)議。DPU卸載存儲數據的加解密功能,通過識別租戶遠端云盤訪問請求,啟動存儲加解密引擎,加密寫入云盤的數據,解密從云端讀取的數據,實現存儲安全。
電信與邊緣計算場景
在電信與邊緣計算應用場景下,DPU應用于云RAN、虛擬化邊緣網關、VNF加速、邊緣微服務器等多個環(huán)節(jié),可以實現UPF-U(用戶數據面)卸載,保證QoS、時延和帶寬,可以卸載N3接口(采用GTP-U協(xié)議進行用戶數據的隧道傳輸),N4接口中傳輸SMF需要通過UPF接收或發(fā)送的報文,以及N6接口。UPF或者SDN控制器向DPU下發(fā)rte-flow規(guī)則實現UPF-U的硬件卸載。此外,為了滿足UPF的管理要求,DPU通過開放自動化管控接口,實現了資源的統(tǒng)一調配。
小 結
DPU逐漸應用于云網絡、存儲、安全、電信與邊緣計算等場景,不同應用場景對DPU的要求不盡相同,因而要給出通用化DPU的性能、功能比較非常困難。在實際的應用中,建議結合具體應用場景,針對特定方向進行比較,選擇最優(yōu)性價比的產品。
審核編輯:劉清
-
處理器
+關注
關注
68文章
19100瀏覽量
228813 -
FPGA
+關注
關注
1625文章
21620瀏覽量
601232 -
加速器
+關注
關注
2文章
790瀏覽量
37674 -
DPU
+關注
關注
0文章
353瀏覽量
24100 -
虛擬機
+關注
關注
1文章
904瀏覽量
28017
原文標題:DPU從炒作到應用:不同場景的性能要求
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論