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