每年,全球市場(chǎng)上交付的數(shù)據(jù)中心服務(wù)器大約有3000萬臺(tái),其中1/3用于運(yùn)行軟件定義的數(shù)據(jù)中心堆棧,這類工作負(fù)載的增長(zhǎng)速度遠(yuǎn)快于摩爾定律,除非卸載并加速這類工作負(fù)載,否則數(shù)據(jù)中心用來運(yùn)行應(yīng)用程序的CPU算力會(huì)越來越少。當(dāng)AWS提出所謂的“Datacenter Tax”時(shí),數(shù)據(jù)中心普遍的焦慮被擺上臺(tái)面。
基于減法的加法
數(shù)據(jù)中心長(zhǎng)期的迭代方向已經(jīng)隨著光網(wǎng)絡(luò)的鋪設(shè)、通信的密度、底層算力的生態(tài)設(shè)施建設(shè)等,不斷升級(jí)。隨著帶寬不斷提升,數(shù)據(jù)量和復(fù)雜性將呈指數(shù)級(jí)增長(zhǎng),包括網(wǎng)絡(luò)協(xié)議處理、存儲(chǔ)壓縮、數(shù)據(jù)加密等數(shù)據(jù)的處理也日趨復(fù)雜。受此影響,傳統(tǒng)數(shù)據(jù)中心服務(wù)器以CPU為處理中心的模式開始發(fā)生變化。
因?yàn)镃PU成本高昂,資源寶貴,被這些應(yīng)用耗費(fèi)著實(shí)有點(diǎn)可惜。如何給CPU做減法?GPU和FPGA已經(jīng)在數(shù)據(jù)分析和加速上實(shí)現(xiàn)了減法,但還不足以滿足面向未來數(shù)據(jù)中心基礎(chǔ)架構(gòu)層面的變革,即將計(jì)算移動(dòng)到接近數(shù)據(jù)的位置,而非傳統(tǒng)的將數(shù)據(jù)移動(dòng)到計(jì)算所在位置再做處理的方式,這是業(yè)界所公認(rèn)的以數(shù)據(jù)為中心的體系結(jié)構(gòu)下的創(chuàng)新。
于是,DPU應(yīng)勢(shì)而生,用以專門卸載由虛擬化、網(wǎng)絡(luò)、存儲(chǔ)、安全和AI服務(wù)而產(chǎn)生的任務(wù)負(fù)載,以及未來的關(guān)鍵——數(shù)據(jù)的傳輸。在為CPU做減法同時(shí),DPU給面向未來數(shù)據(jù)中心基礎(chǔ)架構(gòu)層面的變革做了一個(gè)加法。
不同于服務(wù)器CPU,DPU專為網(wǎng)絡(luò)包處理而設(shè)計(jì)。雖然架構(gòu)不同,但大多數(shù)都包含可編程數(shù)據(jù)平面,以及用于控制平面和應(yīng)用代碼的CPU核。DPU專用數(shù)據(jù)路徑不僅比使用CPU核更高效,而且性能也遠(yuǎn)高于后者。
例如,在網(wǎng)絡(luò)方面,DPU可以加速先進(jìn)的數(shù)據(jù)中心SDN和網(wǎng)絡(luò)功能虛擬化(NFV),包括Open vSwitch、Overlay協(xié)議(如VXLAN)、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)、負(fù)載均衡和精細(xì)化流量管理;在存儲(chǔ)方面,DPU可加速RoCE(RDMA Over Converged Ethernet)、NVMe-oF、靜態(tài)數(shù)據(jù)加密、數(shù)據(jù)去重、分布式糾錯(cuò)和數(shù)據(jù)壓縮。
可以將DPU理解成一顆集成了從網(wǎng)絡(luò)端口到PCIe接口所有主要功能的可編程網(wǎng)絡(luò)系統(tǒng)級(jí)芯片,運(yùn)行非應(yīng)用型負(fù)載,從而可以讓服務(wù)器CPU資源更好地服務(wù)應(yīng)用負(fù)載。對(duì)數(shù)據(jù)中心而言,這種分工,不僅可以實(shí)現(xiàn)效率的提升,而且也可以實(shí)現(xiàn)總體系統(tǒng)成本的降低。
顯然,DPU帶來了一個(gè)巨大的市場(chǎng),包括資本在內(nèi)的各路玩家爭(zhēng)先恐后:思科的前高管創(chuàng)辦了DPU公司Pensando,獲得了HPE、Oracle和Lightspeed Venture Partners等公司的投資;2019年,軟銀愿景基金領(lǐng)投的2億美元給了推出基于MIPS架構(gòu)DPU的Fungible;脫胎于中科院計(jì)算所計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室的中科馭數(shù),推出了其自研KPU專用處理器架構(gòu)的DPU;芯啟源去年獲得和利資本與軟銀中國(guó)共同領(lǐng)投數(shù)億元融資,該公司產(chǎn)品是基于DPU的智能網(wǎng)卡;珠海星云智聯(lián)去年也完成數(shù)億元天使輪融資,由高瓴創(chuàng)投領(lǐng)投,鼎暉VGC(鼎暉創(chuàng)新與成長(zhǎng)基金)、華登國(guó)際中國(guó)基金參與跟投。就在不久前,AMD也宣布收購Pensando,花費(fèi)19億美元。
顯然,繼CPU、GPU之后,DPU已經(jīng)成為通往數(shù)據(jù)中心的第三條路。
NVIDIA的鼓點(diǎn)
DPU最早的概念,由Fungible提出。而真正完整定義DPU并實(shí)現(xiàn)大規(guī)模部署的是NVIDIA——該公司以創(chuàng)紀(jì)錄的69億美元收購Mellanox,眼下,全球大概有將近90%以上的高速網(wǎng)卡都是NVIDIA的網(wǎng)卡。
NVIDIA看中的正是Mellanox的BlueField DPU,不過,Mellanox最初的命名是IPU(I/O處理單元),主要處理在 I/O 路徑硬件中的數(shù)據(jù),通過更多的硬件安全功能,包括無代理微分段、高級(jí)惡意軟件檢測(cè)、深度包檢測(cè)和應(yīng)用程序識(shí)別等,實(shí)現(xiàn)兼顧軟件定義解決方案的速度和靈活性,并且提高安全性、加速了性能并改善效率。
在完成收購后,NVIDIA開始加快BlueField DPU的迭代,傾注了更多的設(shè)計(jì)資源,集成Arm處理器核、VLIW矢量計(jì)算引擎和智能網(wǎng)卡的功能。BlueField-2 DPU內(nèi)部集成8個(gè)Arm核,NVIDIA稱其為AI-powered DPU,用于智能網(wǎng)卡和存儲(chǔ)控制器。而BlueField-2X卡上則加配了Ampere架構(gòu)的GPU,集成了高達(dá)200Gbps的以太網(wǎng)或InfiniBand網(wǎng)絡(luò)端口和高帶寬的PCIe接口。
僅僅不到一年,BlueField-3 DPU橫空出世,號(hào)稱“一顆可抵300個(gè)x86核才能實(shí)現(xiàn)的服務(wù)”。作為業(yè)內(nèi)首款400Gbps以太網(wǎng)和NDR InfiniBand DPU,BlueField-3 DPU具有更好的網(wǎng)絡(luò)性能,內(nèi)置16個(gè)Arm A78 核,相比上一代產(chǎn)品,實(shí)現(xiàn)了10倍加速計(jì)算能力和4倍的加密速度。BlueField-3 DPU與16核256個(gè)線程的可編程數(shù)據(jù)路徑硬件加速器相結(jié)合,實(shí)現(xiàn)了線速處理,且無需訪問Arm控制器,實(shí)現(xiàn)了Arm核上的零負(fù)載數(shù)據(jù)路徑處理。這樣,在許多應(yīng)用中,可由數(shù)據(jù)路徑自主處理已知的網(wǎng)絡(luò)流量,由Arm核處理新流量等例外情況及控制平面功能。
BlueField-3 DPU一方面加強(qiáng)了Smart NIC對(duì)于網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)安全的處理能力,另一方面整合并加強(qiáng)了分布式存儲(chǔ)的處理能力,從而讓DPU能在這些領(lǐng)域更多地替代CPU。BlueField-3X卡還增加一個(gè)75 TOPS 的加速器,在一個(gè)PCIe槽位上實(shí)現(xiàn)了DPU+GPU的集成解決方案,為那些在網(wǎng)絡(luò)安全、軟件定義網(wǎng)絡(luò)、云編排和其它應(yīng)用中添加AI功能的應(yīng)用,提供超強(qiáng)處理能力。
圖:BlueField-3號(hào)稱一顆可抵300個(gè)CPU核
按照NVIDIA的計(jì)劃,一年后,該公司將推出BlueField-4 DPU。BlueField-2 DPU和BlueField-3 DPU依靠其Arm核進(jìn)行AI處理,而BlueField-4 DPU將集成一個(gè)用于AI加速的GPU——其AI性能與 NVIDIA的A100等頂尖加速器處于同一級(jí)別,網(wǎng)絡(luò)速率將暴增到800Gb/s,計(jì)算能力將再次提升10倍,具備云原生、解耦能力、微服務(wù)、AI、Zero-Trust安全等特性,以契合未來數(shù)據(jù)中心基礎(chǔ)設(shè)施的核心需求。
圖2:NVIDIA BlueField DPU 路線圖
解耦和耦合
盡管DPU的價(jià)值已經(jīng)成為共識(shí),但它也面臨一個(gè)可以說是高處不勝寒的挑戰(zhàn):用戶要自己編寫底層代碼,這使得其早期應(yīng)用僅限于一小群用戶。
相比CPU和GPU的單個(gè)引擎類型,DPU的處理引擎會(huì)有很多,如針對(duì)基礎(chǔ)設(shè)施層的虛擬化、網(wǎng)絡(luò)、存儲(chǔ)、安全等的處理引擎,以及各類開發(fā)庫、文件系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)訪問等的處理引擎。這些場(chǎng)景的軟硬件解耦難度大。CPU和GPU都實(shí)現(xiàn)了軟硬件解耦,軟件開發(fā)者和芯片開發(fā)者可以各自相對(duì)獨(dú)立的完成工作,但在DPU,要想實(shí)現(xiàn)軟硬件解耦非常困難。
當(dāng)年,為了讓GPU實(shí)現(xiàn)軟硬件解耦,NVIDIA 推出了CUDA和GPGPU架構(gòu),而今,在DPU上這個(gè)問題也自然要得到解決。為了使ISV、服務(wù)提供商和學(xué)術(shù)界能夠采用BlueField DPU,NVIDIA 開發(fā)了DOCA(Data Center On A Chip Architecture,線上數(shù)據(jù)中心基礎(chǔ)設(shè)施體系結(jié)構(gòu))。
DOCA可以為BlueField DPU編程提供更高級(jí)別的抽象化,從而消除應(yīng)用開發(fā)者采用BlueField DPU需要自定義底層代碼的障礙。從DOCA軟件開發(fā)套件來看,它主要是創(chuàng)建和構(gòu)建應(yīng)用程序所需的所有組件,包括驅(qū)動(dòng)程序、抽象的API庫、各種開發(fā)工具、參考源代碼、示例程序和開發(fā)所需相關(guān)的文檔。
DOCA框架能夠給開發(fā)者提供一個(gè)一致的開發(fā)體驗(yàn),既可以統(tǒng)一訪問BlueField DPU上各種硬件資源,從而簡(jiǎn)化網(wǎng)絡(luò)、存儲(chǔ)、安全和基礎(chǔ)設(shè)施管理服務(wù)相關(guān)的開發(fā),開發(fā)者也無需擔(dān)心開發(fā)環(huán)境構(gòu)建和部署復(fù)雜程度,基本上DOCA是個(gè)即插即用的方式,可以讓開發(fā)者很容易地來使用這個(gè)軟件棧。
通過提供運(yùn)行二進(jìn)制文件和上層API,DOCA框架使開發(fā)者能夠?qū)W⒂趹?yīng)用代碼開發(fā),而無需了解DPU硬件的復(fù)雜之處。此外,盡管Arm處理器已進(jìn)入云服務(wù)器,但許多應(yīng)用開發(fā)者都有一個(gè)龐大的x86代碼庫,且尚未為Arm移植做好準(zhǔn)備。NVIDIA的DOCA Runtime適用于x86,可以消除Arm 移植的障礙,使其可以立刻采用BlueField DPU,并在以后進(jìn)行優(yōu)化。?
最早的DOCA 1.0是在2020年GTC秋季大會(huì)上,與BlueField-2 DPU一同發(fā)布的,后面持續(xù)演進(jìn)到DOCA 1.1版本,更加完善了整個(gè)DOCA軟件棧,提供了DOCA SDK、運(yùn)行時(shí)和相關(guān)的服務(wù)。到了DOCA1.2版本,則加強(qiáng)了在零信任分布式安全解決方案上的支持。
今年5月份,NVIDIA發(fā)布了DOCA 1.3,它提供了121個(gè)新的API開發(fā)接口,也提供了一些全新和增強(qiáng)的功能,包括優(yōu)化數(shù)據(jù)流插入的DOCA Flow庫、通信通道庫、正則表達(dá)式庫、App Shield的SDK、基于OVN的IPSec加密的完全卸載,以及新增的一些DOCA服務(wù),比如HBN——基于主機(jī)的網(wǎng)絡(luò),使網(wǎng)絡(luò)架構(gòu)師能夠基于三層協(xié)議設(shè)計(jì)網(wǎng)絡(luò),在BlueField DPU上實(shí)現(xiàn)了三層的路由功能。HBN還可以分析和加密進(jìn)出節(jié)點(diǎn)的流量。
HBN為裸金屬云實(shí)現(xiàn)了無控制器的分布式路由,在BlueField DPU上實(shí)現(xiàn)高級(jí)的TOR交換機(jī)功能、高可用的等價(jià)多路徑路由(ECMP)和端到端增值功能NVUE/NetQ/Telemetry。同時(shí),BlueField DPU與基于Cumulus的Spectrum交換機(jī)可以提供統(tǒng)一的數(shù)據(jù)中心EVPN網(wǎng)絡(luò)架構(gòu),可提供一站式網(wǎng)絡(luò)編排服務(wù),也可使用NVUE和NetQ實(shí)現(xiàn)統(tǒng)一管理平臺(tái),并通過端到端遙測(cè)來減少網(wǎng)絡(luò)不可用時(shí)間——這種方式會(huì)徹底改變開發(fā)者構(gòu)建和思考整個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)構(gòu)建的方式。
圖:DOCA 1.3的資源
用軟件解鎖BlueField DPU,DOCA實(shí)現(xiàn)了BLueField DPU軟硬件的解耦,簡(jiǎn)化了BlueField DPU的應(yīng)用,解鎖數(shù)據(jù)中心里基于BlueField DPU的創(chuàng)新功能,就這個(gè)意義而言,DOCA實(shí)現(xiàn)了開發(fā)者和BlueField DPU的耦合。
當(dāng)下即未來
構(gòu)建以數(shù)據(jù)為中心的系統(tǒng)已經(jīng)是大勢(shì)所趨。
GPU用于加速計(jì)算,CPU用于通用計(jì)算。DPU用于處理網(wǎng)絡(luò)數(shù)據(jù)任務(wù),基于Arm架構(gòu)的CPU,則負(fù)責(zé)釋放二者的能力。當(dāng)NVIDIA將CPU、GPU和DPU作為數(shù)據(jù)中心三大算力支柱進(jìn)行部署時(shí),其總體策略也浮出水面——在強(qiáng)調(diào)云端高端算力的同時(shí),向數(shù)據(jù)中心通信傳輸和數(shù)據(jù)處理領(lǐng)域加速滲透,形成“計(jì)算+傳輸”雙管齊下的業(yè)務(wù)閉環(huán),將數(shù)據(jù)中心整體作為一個(gè)系統(tǒng)來打造,實(shí)現(xiàn)分布式計(jì)算的可能性,并提供一個(gè)全棧式的計(jì)算平臺(tái)。
今年GTC2022上發(fā)布的第四代NVIDIA DGX?系統(tǒng)是一個(gè)最好的例證。這一全球首個(gè)基于全新NVIDIA H100 Tensor Core GPU的AI平臺(tái),除了8塊H100 GPU以及總計(jì)6400億個(gè)晶體管之外,每個(gè)DGX H100系統(tǒng)還包含兩個(gè)NVIDIA BlueField-3 DPU,專門負(fù)責(zé)卸載、加速和隔離高級(jí)網(wǎng)絡(luò)、存儲(chǔ)及安全服務(wù)。
在BlueField DPU以及DOCA發(fā)布之后兩三年的時(shí)間里,在全球5G孿生的安全、云基礎(chǔ)設(shè)施及容器部署、邊緣服務(wù)器平臺(tái)的擴(kuò)展、云原生高性能存儲(chǔ)以及基于操作系統(tǒng)層面的加速來支持高性能的元宇宙的應(yīng)用中,都能看見BlueField DPU的身影。而目前,中國(guó)的DOCA開發(fā)者也已占據(jù)全球一半以上,他們正在應(yīng)用BlueField DPU開發(fā)相應(yīng)的金屬云加速網(wǎng)絡(luò)平臺(tái),高性能分布式存儲(chǔ),數(shù)字孿生基礎(chǔ)設(shè)施,以及超級(jí)計(jì)算的網(wǎng)絡(luò)平臺(tái)。
在通往數(shù)據(jù)中心的第三條路上,NVIDIA走到哪兒了?也許,當(dāng)下即未來。