自1950年代以來,中央處理器“ CPU”一直是每臺計(jì)算機(jī)或智能設(shè)備的核心;到1990年代以來,GPU或圖形處理單元扮演了重要角色;所以,在過去的十年中,計(jì)算已經(jīng)擺脫了PC和服務(wù)器的繁瑣局限,CPU和GPU為龐大的新超大規(guī)模數(shù)據(jù)中心提供了動力。然而最近幾年,隨著系統(tǒng)中的CPU承受越來越多的網(wǎng)絡(luò)和存儲工作負(fù)載,DPU(即數(shù)據(jù)處理單元)已成為以數(shù)據(jù)為中心的加速計(jì)算模型的第三個成員。那么DPU又將發(fā)揮怎樣的作用?為何如英特爾和英偉達(dá)以及云供應(yīng)商阿里、亞馬遜、微軟等巨頭們都紛紛涌入DPU?
DPU成為計(jì)算的三大支柱之一
Nvidia在今年早些時候的博客中表示:“DPU(即數(shù)據(jù)處理單元)已經(jīng)成為以數(shù)據(jù)為中心的加速計(jì)算模型的第三個成員。Nvidia首席執(zhí)行官黃仁勛在一次演講中說:”這將代表未來計(jì)算的三大支柱之一?!斑@三者之間,CPU用于通用計(jì)算,GPU用于加速計(jì)算,而DPU在數(shù)據(jù)中心周圍移動數(shù)據(jù),進(jìn)行數(shù)據(jù)處理。
那么什么是DPU?這里所說的DPU,就是Data Processing Unit的縮寫,也就是所謂的數(shù)據(jù)處理單元。DPU可以用作獨(dú)立的嵌入式處理器,但通常會集成到SmartNIC中,為未來的服務(wù)器提供支持。DPU是一種片上系統(tǒng),或者說SOC,是結(jié)合了以下三個關(guān)鍵要素的新型可編程處理器:
行業(yè)標(biāo)準(zhǔn)的高性能軟件可編程多核CPU,通常基于廣泛使用的Arm架構(gòu),并與其他SOC組件緊密耦合。
高性能的網(wǎng)絡(luò)接口,能夠以網(wǎng)絡(luò)速度解析,處理和有效地將數(shù)據(jù)傳輸?shù)紾PU和CPU。
一組靈活的可編程加速引擎,旨在減輕網(wǎng)絡(luò)任務(wù)負(fù)擔(dān)并優(yōu)化AI和機(jī)器學(xué)習(xí),安全性,電信和存儲等的應(yīng)用程序性能。
那么為什么人們?nèi)绱丝释褂肈PU?首先,它更安全,因?yàn)榭刂破矫婵梢栽谙到y(tǒng)內(nèi)和系統(tǒng)集群之間與數(shù)據(jù)平面分離。DPU可以執(zhí)行原本需要CPU處理的網(wǎng)絡(luò)、存儲和安全等任務(wù)。這就意味著如果在數(shù)據(jù)中心中采用了DPU,那么CPU的不少運(yùn)算能力可以被釋放出來,去執(zhí)行廣泛的企業(yè)應(yīng)用。
DPU還釋放了服務(wù)器的容量,以便它們可以恢復(fù)到應(yīng)用程序計(jì)算。在一些具有大量I / O和沉重虛擬化的系統(tǒng)上內(nèi)核成本縮減一半,因此吞吐量提高了2倍。除了內(nèi)核的成本,還要計(jì)算整個機(jī)器的成本,包括其內(nèi)存和I / O以及所釋放的工作量。所以,如果一臺負(fù)載嚴(yán)重的服務(wù)器要花2萬美元,那么DPU只要花1萬美元,就能保證它的安全性和靈活性——特別是如果所有的機(jī)器學(xué)習(xí)加速都隱藏在系統(tǒng)軟件中,企業(yè)就不必自己創(chuàng)建它了。
DPU豐富的、靈活和可編程的加速引擎可減輕和改善AI和機(jī)器學(xué)習(xí)應(yīng)用的性能。所有的這些DPU功能對于實(shí)現(xiàn)隔離的裸機(jī)云原生計(jì)算至關(guān)重要,它也將定義下一代云規(guī)模計(jì)算。為此,國際巨頭開始紛紛提前布局。
DPU玩家有哪些?
根據(jù)THENEXTPLATFORM的分析指出,在2020年,SmartNIC正在演變成DPU,每個人都想在這個領(lǐng)域分一杯羹。在這個領(lǐng)域的玩家或者潛在玩家主要包括Broadcom,Intel,英偉達(dá),Netronome,Pensando,F(xiàn)ungible和Xilinx,還包括云供應(yīng)商三大巨頭。
大多數(shù)SmartNIC方法都是從基本的以太網(wǎng)控制器開始,要么在硅片上作為固件,要么在適配器上作為單獨(dú)的芯片。然后,使用以下三種方法之一,通過增加以下內(nèi)容來提高其計(jì)算能力,從而使普通的NIC變得智能:方法一,收集許多Arm核心;方法二,增加流處理核心(FPC),這是一種是自定義設(shè)計(jì)的網(wǎng)絡(luò)處理器,通常為P4;方法三,增加現(xiàn)場可編程門陣列(FPGA),可編程邏輯。
Broadcom是商品以太網(wǎng)NIC控制器市場上無可爭議的領(lǐng)導(dǎo)者。Broadcom在2019 SDC演講中展示了Stingray架構(gòu),該公司采用了單芯片方法,與其他競爭對手的許多芯片板相比,單芯片SmartNIC解決方案在板級生產(chǎn)的成本始終較低。
以NetXtreme E系列控制器的邏輯為基礎(chǔ),Broadcom在Stingray的中心設(shè)計(jì)了NetXtreme-S BCM58800芯片。然后將8個主頻為3 GHz的Arm v8 A72內(nèi)核以群集配置放置。在3 GHz頻率下,這些可能是最快的SmartNIC Arm內(nèi)核。另外,Stingray最多可以配置16 GB DDR4內(nèi)存。接下來,混入了一些邏輯,以高達(dá)90 Gb / s的速度卸載加密,并卸載了擦除編碼和RAID等存儲處理。最后,Broadcom添加了它有些神秘的TruFlow技術(shù)。
Broadcom準(zhǔn)備在今年晚些時候?qū)tingray轉(zhuǎn)移到7納米工藝,這將使其可從8核擴(kuò)展到12核。了解了所提供產(chǎn)品的復(fù)雜性后,該公司還提供了用于SmartNIC應(yīng)用程序開發(fā)和存儲控制器開發(fā)的Stingray開發(fā)人員工具包,它是完整SmartNIC產(chǎn)品提供的必要組件。
英偉達(dá)對DPU顯得尤為重視,此前它以69億美元收購了Mellanox,又以驚人的400億美元收購了Arm控股公司,在一段時間內(nèi),其DPU業(yè)務(wù)可能會比CPU業(yè)務(wù)更大,DPU也是Nvidia最新的一個布局。
對于英偉達(dá)來說,說它正在引入DPU的概念有點(diǎn)大膽。但是,有一說一,Mellanox確實(shí)在2015年9月以8.11億美元的天價(jià)收購了EZchip公司,該公司擁有多核芯片創(chuàng)業(yè)公司Tilera的資產(chǎn),Tilera是最早使用知識產(chǎn)權(quán)的高度并行SmartNIC實(shí)施之一,該實(shí)施源自更早的MIT研究項(xiàng)目。
本質(zhì)上,Tilera將處理內(nèi)核安排為芯片上的切片,每個內(nèi)核都具有到其周圍四個內(nèi)核的高速總線。早在2013年,其旗艦產(chǎn)品就支持多達(dá)72個MIPS內(nèi)核,內(nèi)存控制器,加密模塊,PCIe塊和mPipe,這是通過SFP +連接器連接至多個MAC的通道的集合。Mellanox通過用Arm替換內(nèi)核并將mPipe換成ConnectX邏輯,從而向前邁進(jìn)了一步。與Broadcom一樣,當(dāng)前的核心數(shù)量為8個Arm v8 A72核心,但主頻僅為2.4 GHz。它們排列成四個雙核Arm的集群。Bluefield目前正在使用Avago的16納米工藝,但是像Broadcom一樣,它也應(yīng)該在今年夏天升級到7納米,并從8核轉(zhuǎn)變?yōu)?2核。
在今年GTC秋季會議上,Nvidia推出了其第二代DPU BlueField-2。到2022年,英偉達(dá)計(jì)劃推出第三代DPU,將計(jì)算中心的Arm CPU部分的性能提高5倍,達(dá)到350 SPEC整數(shù)單位,集成NEON SIMD單位的性能提高2倍以上,達(dá)到1.5 TOPS。BlueField-3 DPU卡上的網(wǎng)絡(luò)速度將提高一倍,最高可達(dá)400 Gb /秒,這大概是一對200 Gb /秒的端口。用于DPU卡的Ampere GPU加速器的下一次迭代將在BlueField-3X變體中提高25%,達(dá)到75 TOPS。
展望2023年的BlueField-4,ARM CPU和Nvidia GPU將集成到單個芯片中。Arm計(jì)算將提高2.9倍,達(dá)到1,000 SPEC整數(shù)單位,而同一芯片上的GPU加速器的性能將提高5.3倍,達(dá)到400 TOPS。
英特爾也對用于超大規(guī)模生產(chǎn)者和云構(gòu)建者的可編程以太網(wǎng)交換和SmartNIC(越來越多地稱為DPU)更感興趣。隨著數(shù)據(jù)中心網(wǎng)絡(luò)中傳送的數(shù)據(jù)量以每年25%的速度增長。但是預(yù)算不能以這種速度增長,而且由于對原始CPU計(jì)算的偏見投資(與構(gòu)建平衡的系統(tǒng)以更充分地利用可用的計(jì)算能力相反),網(wǎng)絡(luò)通常不超過分布式成本的10%系統(tǒng)。面對所有這些壓力,英特爾必須創(chuàng)新并幫助改善網(wǎng)絡(luò),英特爾認(rèn)為集成顯得很重要。
在DPU上,Intel主要是將CPU和FPGA結(jié)合在一起。但I(xiàn)ntel新的SmartNIC并不intel自己做的,而是由Inventec和Silicom制造的,前者對于hyperscalers和云構(gòu)建者來說是日益重要的ODM,而后者則是過去二十年來的網(wǎng)絡(luò)接口供應(yīng)商。下圖是intel的SmartNIC產(chǎn)品,其中C5020X主要用于云端,N5010和N3000主要用于網(wǎng)絡(luò)端。
Xilinx是SmartNIC領(lǐng)域中另一位杰出的FPGA進(jìn)入者,該公司于2019年秋季收購了Solarflare Communications,并且Solarflare自2012年以來一直在構(gòu)建基于ASIC和FPGA的NIC進(jìn)行電子交易。兩年前,兩家公司展示了其SmartNIC的多功能性,在收購Solarflare之前,他們是合作伙伴,在OCP峰會上公開展示了XtremeScale X2控制器邏輯在更大的FPGA內(nèi)部作為軟NIC運(yùn)行。
Xilinx的Alveo U25將雙SFP28端口直接連接到Zynq系列芯片,包括6GB DDR4內(nèi)存,Zynq的FPGA和Arm內(nèi)核可通過該芯片上運(yùn)行的程序?qū)ζ溥M(jìn)行訪問。FPGA有520K邏輯元件可用,但是提供的四核Arm可以彌補(bǔ)可用門數(shù)的減少。賽靈思(Xilinx)將Alveo U25推向市場,最初是針對那些要求開放虛擬交換機(jī)(OvS)卸載功能的客戶。該公司宣布,在不久的將來,它將增加IPsec,機(jī)器學(xué)習(xí)(ML),深度包檢查(DPI),視頻轉(zhuǎn)碼和分析的卸載。
再就是有一家SmartNIC初創(chuàng)公司Pensando,由Cisco(思科)前首席執(zhí)行官John Chambers創(chuàng)建。John海帶來了六名前Cisco員工。Pensando的 DPU處理器稱為Capri,是一個具有多個并行級的P4可編程單元。然而,并行處理的確切程度是未知的,就像packet的性能、延遲和抖動還沒有公布一樣。Pensando保持P4應(yīng)用程序的緊密性,這樣當(dāng)緩存丟失時,P4應(yīng)用程序仍然保留在Capri的緩存中,從而導(dǎo)致為某個指令獲取內(nèi)存,降低了所有指標(biāo)的性能。其他被稱為服務(wù)處理卸載的附加計(jì)算單元處理加密、存儲過程和其他任務(wù)。Pensando聲稱Capri可以提供線速性能。
Netronome是這個領(lǐng)域里的一家老牌創(chuàng)業(yè)公司,成立于2003年,迄今為止共獲得了5輪融資,總計(jì)7300萬美元。自2015年以來,該公司一直在積極推廣P4,當(dāng)時它展示了第一款使用該技術(shù)的智能手表。自那以后,Netronome取得了一些重大進(jìn)展,但最近有傳言稱它步履蹣跚,可能會退出市場。Netronome的DPU主要是NFP4000流處理器架構(gòu)。該公司沒有使用單一的P4處理引擎,而是利用了兩類可編程的核心,48個P4處理核心和60個流處理核心。額外的硅用于分類、修改和管理。所有這些核心都可以在P4中編程。
另外一家做DPU的公司也不容小覷,它也專注于P4,即增加流處理核心(FPC)。它就是Fungible,F(xiàn)ungible聲稱正在生產(chǎn)數(shù)據(jù)處理單元(DPU)。在Hot chips上,這家初創(chuàng)公司披露了它的F1數(shù)據(jù)處理單元(DPU),它將主要以未公布的系統(tǒng)級產(chǎn)品的形式銷售。從外部來看,F(xiàn)1看起來類似于Broadcom的Stingray和英偉達(dá)的BlueField-2,只是有更大的I/O帶寬。但在內(nèi)部,它采用了高度可編程的數(shù)據(jù)平面??偟膩碚f,它包括52個CPU核心,幾十個硬件加速器,800Gbps的網(wǎng)絡(luò)帶寬,512Gbps的PCI Express帶寬。盡管F1主要是為存儲系統(tǒng)設(shè)計(jì)的,但派生S1處理服務(wù)器連接。因此,DPU架構(gòu)足夠靈活,可以充當(dāng)系統(tǒng)和I / O處理器角色。Fungible表示已經(jīng)對兩種芯片進(jìn)行了生產(chǎn)認(rèn)證。
除了上述這些SmartNIC供應(yīng)商,全球的云廠商巨頭也都在部署SmartNIC,而且三家云供應(yīng)商正在設(shè)計(jì)自己的系統(tǒng)級芯片(SoC)架構(gòu),他們就是阿里云的X-Dragon,亞馬遜AWS的Nitro和微軟Azure的Catapult。
阿里云的X-Dragon SmartNIC現(xiàn)在已進(jìn)入第二代(X-Dragon II),并于2017年發(fā)布了第一代。其第二代芯片使它的輕量級內(nèi)部Dragonfly虛擬機(jī)管理程序(在精神上類似于Firecracker)與SR一起使用。
AWS的Nitro現(xiàn)在已經(jīng)是第三代產(chǎn)品,AWS Nitro是基于其Annapurna Labs團(tuán)隊(duì)設(shè)計(jì)的內(nèi)部SoC。Nitro使AWS客戶可以在其連接到的任何AWS云服務(wù)器上運(yùn)行容器,虛擬機(jī)或裸機(jī)。Nitro卸載了虛擬機(jī)管理程序功能,并默認(rèn)為通過SmartNIC傳遞的所有數(shù)據(jù)提供線速加密和解密-包括網(wǎng)絡(luò)和本地存儲流量。Nitro還提供了啟動和運(yùn)行時硬件的信任根,大概不使用行業(yè)標(biāo)準(zhǔn)的可信平臺模塊(TPM)。
微軟 Azure的Catapult SmartNIC現(xiàn)在已經(jīng)是第三代產(chǎn)品。微軟尚未發(fā)布Catapult規(guī)格,但已經(jīng)開放了一段歷史。Azure將其在SmartNIC中的FPGA選擇定位為到定制設(shè)計(jì)ASIC遷移路徑上的一個點(diǎn)。當(dāng)其云需求變得足夠穩(wěn)定以在Azure中實(shí)現(xiàn)四年到五年的使用壽命而不需要進(jìn)行徹底的重新編程時,Azure將轉(zhuǎn)向定制設(shè)計(jì)的邏輯。同時,Azure認(rèn)為FPGA提供了低延遲,低功耗等的最佳組合。
Azure于2012年在其WCS云存儲中部署了Catapult v1(” Mount Granite“),同時在Bing和Azure內(nèi)所有新購買的服務(wù)器中部署了Catapult v2(” Pikes Peak“夾層和” Story Peak“ PCI-Express板)。從2015年開始。Azure在2017年部署了Catapult v3,以加速深層神經(jīng)網(wǎng)絡(luò)并將Bing中的網(wǎng)絡(luò)速度提高到50 Gb /秒。
結(jié)語
十年前,隨著硬件加速技術(shù)的第一次重大沖擊,我們對GPU產(chǎn)品充滿了興趣。現(xiàn)在,隨著FPGA擴(kuò)展到超過300萬個邏輯單元,F(xiàn)PGA得以與其他可組合的處理模塊緊密地結(jié)合在一起,以實(shí)現(xiàn)網(wǎng)絡(luò),內(nèi)存,存儲和計(jì)算。有了這些進(jìn)步,我們開始認(rèn)識到第二次硬件加速浪潮的形成。因此,隨著SmartNIC市場終于出現(xiàn),它將與下一波基于FPGA的硬件加速器融合。這將在加速市場中形成各種疊加,也許會促進(jìn)變化,并改變我們對計(jì)算的展望。
不得不說,SoC和更重要的FPGA已經(jīng)成熟到可以成為SmartNIC的基礎(chǔ)技術(shù)的地步,SmartNIC正在推動計(jì)算并因此將其加速到網(wǎng)絡(luò)邊緣,從而騰出服務(wù)器CPU來處理更多專注于關(guān)鍵業(yè)務(wù)和處理的解決方案。因此,越來越多供應(yīng)商紛紛涌入DPU架構(gòu)。DPU能否演繹CPU和GPU的佳話?讓我們靜待其變。