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