DPU 作為一種軟硬協同的虛擬化架構,相較僅做網絡加速的智能網卡而言,一方面需要考慮與 CPU 中運行的虛擬化軟件棧對接,另一方面由于 DPU 硬件的特殊設計導致卡與服務器存在更多的適配對接需求,因此 DPU 產業發展與軟硬件市場的配合度存在強關聯。能否理解行業需求,拉通軟硬件形成完整解決方案成為 DPU 發展與落地的關鍵。
當前 DPU 解決方案百花齊放,在下表總結的業界主流 DPU 方案中,由于硬件路線選擇不同,DPU 卡的硬件設計存在較大差異,同時,各廠家均開始布局自有配套軟件生態,并呈現出各自為營的態勢。
縱觀處理器芯片幾十年的發展歷程,定制產品總是逐漸走向硬件形態的標準化和軟件生態的通用化,最終形成專用與通用并存的格局。DPU 作為繼 CPU、GPU 之后的第三顆數據中心核心處理器,基于自身虛擬化需求定制軟硬耦合DPU 產品固然能夠最大化發揮 DPU 產品優勢,但是隨著更多的數據中心提出DPU 需求,這種方式的技術門檻和引入成本過高,難以復制。而商業 DPU 產品由于各自發展軟件棧生態,也導致軟件與 DPU 適配對接的成本較高。同時,DPU與服務器整機的生態也不可忽視。
從物理關系上看,DPU 是掛載在服務器主 CPU下的 PCIe 子設備,但從頂層云管邏輯來看,DPU 是服務器的管理員,是提供數據加速、存儲加速、安全管控及云管的云底座。因此,不同于傳統網卡、HBA 卡、GPU 等標準 PCIe 設備,主從關系的倒換使得 DPU 對傳統服務器硬件設計提出了特殊要求,主要體現在硬件供電、散熱適配、帶外管理、整機開關機及異常處理策略等方面。
市場需求決定了 DPU 的軟硬件設計,而軟硬件的開發、適配需要高昂的人力、財力成本投入,當前專用化的 DPU 路徑不利于生態的發展,在百花齊放的行業現狀下更需要考慮通用性和標準化,拉通需求方、虛擬化軟件廠商、DPU 廠商與服務器廠商,形成端到端的閉環生態體系。
隨著需求越來越廣泛,技術的演進對 DPU 的落地帶來了諸多挑戰,關鍵挑戰即標準化程度對 DPU 技術易用性的影響。
軟件系統標準化
與 CPU 和 GPU 這種先有硬件再有軟件生態的發展背景不同,DPU 承載的虛擬化軟件已經較為成熟,DPU 在此基礎之上實現功能和性能的提升,因此對于業界云平臺以及 DPU 廠商來說,DPU 能否規模部署取決于 DPU 配套軟件是否“能用”且“好用”。
中國移動結合典型 DPU 應用場景需求,分析 DPU 軟件部署方式,結合開源社區方案成熟情況,給出 DPU 云化技術架構管理、網絡、存儲、計算和安全五大系統軟件標準化建議,并結合中國移動業務需求場景推動軟件標準化階段式發展和落地:
一、管理系統:引入 DPU 后,計算節點上的管理系統軟件(OpenStack 等)安裝位置從主機側 CPU 調整到 DPU 的 ARM 或 x86 核上。管理系統軟件主要實現虛擬硬件資源的邏輯管理功能,不使用 DPU 上的硬件加速引擎,因此理論上該部分軟件與 DPU 天然解耦,DPU 需支持管理系統軟件的編譯、安裝,可以通過 DPU OS 和 Host OS 互通或者融合的方式,實現傳統云平臺管理軟件在 DPU上的無縫遷移部署和無感卸載,降低適配開發成本。
虛擬化場景下,Libvirt 作為虛擬機管理組件也安裝在 DPU 上,OS 資源視圖發生變化,因此需要在主機側CPU 運行輕量化代理完成主機資源和虛擬機管理。此時需要保證 Libvirt 管理面接口和原生 Libvirt 接口保持一致,同時支持接口的擴展。裸金屬場景下,可采用 Ironic 組件或增強 Nova 組件完成裸金屬管理,DPU 廠商可以提供標準 IronicDriver 集成到云管理軟件中或適配標準 Nova 管理流程,實現裸金屬生命周期的管理功能。
二、網絡系統:虛擬交換網絡 vSwitch 控制面運行在 DPU 的 CPU 核上,與SDN 控制器對接,生成流表規則并通過 DPDK 標準 rte_flow 完成流表向轉發面的下發,且需完成 bond 模式、mtu 值等數據通道參數的配置;轉發面運行在 DPU的硬件加速引擎上,負責流表匹配邏輯的硬件實現,并為虛擬機、容器或裸金屬提供標準的 virtio 硬件后端。結合中國移動現網需求,提出以下標準化要求:
?采用 DPDK 標準 rte_flow 接口完成流表從控制面到轉發面的下發。同時考慮 NFV 業務網絡拓撲需求,尤其在與終端用戶或基站通信時容易產生大規模流表瓶頸,影響轉發性能,因此需定制流表收斂方案,規避大流表場景問題,同時降低業務倒換場景下流表下發通道阻塞的風險;
?增強運維靈活性,業務網絡平面數據全部在硬件加速引擎完成接收與發送,因此需要在數據在硬件加速引擎的生命周期流程中增加入口與出口的運維統計能力,便于故障分析定位,保證端到端可靠性;
?網絡接口采用用戶態 vDPA 框架,在 DPU 上實現 virtio 后端,同一站點資源池內需統一要求 virtio 支持的 feature,以實現在部署不同廠商 DPU的計算節點之間的虛擬機熱遷移功能,保證云主機彈性特點。
RDMA 是超低時延網絡的關鍵技術,但是由于傳統 Socket 編程模型和RDMA Verbs 編程模型差距顯著,導致傳統應用遷移到 RDMA 網絡環境下需要進行大量代碼改造,進而給業務帶來不確定性風險或者可靠性風險,因此使用RDMA Socket 適配層屏蔽底層 RDMA 原語,向上對接 Socket 接口成為必然趨
勢,通過標準化的適配層,可以實現傳統 Socket 應用無縫遷移到 RDMA 網絡環境,在不改變業務代碼的情況下,提高業務的響應時間和吞吐量。
三、存儲系統:包含存儲接口和存儲網絡協議兩部分。基于開源 SPDK 框架提供存儲卸載服務,利用 SPDK 的 JSON-RPC 配置接口,為虛擬機、裸機、容器提供一致的 virtio-blk/NVMe 虛擬塊設備后端,基于 bdev 層抽象虛擬磁盤并提供QoS、加密、壓縮、DIF、EC、RAID 等高級特性。存儲網絡協議方面,iSCSI 協議運行在 DPU 上的 CPU 核上,需要支持標準 iSCSI-Initiator 的編譯和安裝;NVMe-oF 由 DPU 硬件加速引擎實現,需要實現 RoCEv2 等高性能 Fabric 網絡。
四、計算系統:主要為 Hypervisor 計算虛擬化系統的前后端分離,在計算節點需要對 Hypervisor 軟件進行合理的剪裁和卸載。主機側保留輕量化的Hypervisor 前端,KVM 完成 CPU 和內存的虛擬化管理,DPU 側的 Hypervisor 后端配合 QEMU 完成虛擬機的初始化,并配合 Libvirt 完成虛擬機的生命周期管理。
Hypervisor 前后端對接應標準化,同時需要對操作系統內核進行深度剪裁和修改,業界尚無參考模型,需要共同探索。
五、安全系統:DPU 可以提供節點出入口硬件級的數據加解密功能,通過虛擬化方式實現的分布式防火墻、DDoS 防御設備等安全應用可以利用 DPU 硬件級的數據處理能力,提升安全應用處理性能。此外針對 HTTPS 等應用層的加解密處理,需要提供統一的 API 接口來完成業務層用戶密鑰證書的管理。
針對以上五大系統在 DPU 上的卸載,OpenStack、DPDK、SPDK 等云計算虛擬化相關的主流開源技術框架已經逐步實現在 DPU 環境下的部署與應用,當前在裸金屬管理和虛擬交換網絡卸載兩類功能需求下已經有較為成熟的技術方案。中國移動軟件標準化推進將分為兩個階段進行:
?第一階段將聚焦于管理系統卸載、虛擬交換網絡的卸載、iSCSI 存儲網絡協議棧卸載,主要解決核心網網絡帶寬升級導致的 CPU 處理瓶頸和滿足彈性裸金屬云化管理需求,利用開源技術方案,并增強平臺端到端可靠性,制定技術方案,形成企業標準,實施現網試點驗證;
?第二階段將聚焦于 RDMA 技術及接口標準化、NVMe-oF 高性能存儲網絡協議卸載、Hypervisor 卸載、安全功能卸載等方面,滿足 AI 訓練場景低時延網絡、大數據高性能存儲讀寫、虛擬機“零”抖動、零信任安全等場景下更為極致的性能需求,這些領域在業界尚無規模性商用案例和成熟技術方案,需要共同探索和推進。
硬件系統標準化
當前 DPU 內除網絡、存儲卸載芯片外還會包含輕量級處理器芯片(或集成在其他芯片內的處理器內核)及帶外管理芯片,該部件可看作在服務器整機內部的另一個小型服務器。在硬件標準化設計時,無論是對服務器自身還是承載的業務都應該遵循最小影響原則做通用增強,梳理絕對必要項,約束服務器整機能為DPU 提供的最大能力。
從服務器整機角度,需重點考慮機構設計、供電散熱和邊帶信號等方面的標準化工作:
?機構設計:約束整機可支持卡的最大規格,避免異形卡及特殊機構件,減少機構適配工作量,減小應力可靠性風險;
?供電散熱:在槽位供電及輔助供電方面,約束整機可支持卡在整機 S5 狀態啟動,滿足裸金屬場景云底座管理訴求,同時高度關注 DPU 因業務需要不斷增長的最大功耗,謹慎討論并確定功耗門限;在配套散熱能力方面,約束整機支持 S5 狀態卡散熱及調速;
?邊帶信號:對于 PCIe 標準形態的 DPU 卡,在 PCIe 標準連接器定義基礎上,約束整機能夠提供給 DPU 的邊帶信號,落實信號類型、信號方向、電平、連接器選型、Pin 定義等細節,逐步引導行業做歸一化設計。
從 DPU 角度,業務的多樣性需求決定了當前硬件形態的多樣化,行業內存在如 PCIe 卡、OCP 卡、自定義扣卡等多種形態,結合服務器整機的標準化方向,需要考慮以下方面:
?關注服務器整機標準所能提供的機構外框上限及功耗上限;
?避免主動散熱器設計,并針對因高功耗引起的散熱片材質升級進行必要的力學前置仿真及后續測試;
?預留必要的調試接口(通過線纜接入到 BMC 或者前擋板直出)。
由于 DPU 上存在 CPU 核,因此可以看作服務器整機的第二系統,這種架構的變化也導致服務器的帶外管理方式產生了變化,從 DPU 與服務器整機帶外管理交互角度,需要以下方面的標準化工作:
1. DPU BMC(或其他帶外管理模塊)具備的最小管理功能
2. 裸金屬場景服務器及 DPU 的上下電、復位、固件升級、異常下電、故障處理時的開關機流程及軟件處理策略;
3. 云管業務對帶外信息抓取方案,定義裸金屬網卡 BMC 與主機 BMC 的核心職責,細化兩者交互信息框架。
服務器整機硬件層面的標準化可讓通用服務器與各廠家 DPU 具備適配前提,掃清新生態發展中的技術障礙。在這一過程中,需共同探討 DPU 帶外管理系統與服務器整機帶外管理系統關系,明確 DPU BMC 應具備的核心功能,逐步收斂雙 BMC 控制信息的交互框架,最終做到邊界清晰。
同時,中國移動倡議各行業終端客戶關注因引入裸金屬服務引發的組網方式變革,立足自身業務特征探討網絡業務平面、存儲平面、帶內管理平面、帶外 BMC 管理平面的處理方式,明確DPU 需提供的帶內帶外網口規格及數量,為 DPU 廠商提供產品路標。
審核編輯:郭婷
-
cpu
+關注
關注
68文章
10905瀏覽量
213031 -
DPU
+關注
關注
0文章
368瀏覽量
24260
原文標題:詳談DPU技術挑戰和發展建議
文章出處:【微信號:AI_Architect,微信公眾號:智能計算芯世界】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論