DPU的出現(xiàn)是異構(gòu)計(jì)算的又一個(gè)階段性標(biāo)志。摩爾定律放緩使得通用CPU性能增長(zhǎng)的邊際成本迅速上升,數(shù)據(jù)表明現(xiàn)在CPU的性能年化增長(zhǎng)(面積歸一化之后)僅有3%左右,但計(jì)算需求卻是爆發(fā)性增長(zhǎng),這幾乎是所有專用計(jì)算芯片得以發(fā)展的重要背景因素。以AI芯片為例,最新的GPT-3等千億級(jí)參數(shù)的超大型模型的出現(xiàn),將算力需求推向了一個(gè)新的高度。DPU也不例外。隨著2019年我國(guó)以信息網(wǎng)絡(luò)等新型基礎(chǔ)設(shè)施為代表的“新基建”戰(zhàn)略帷幕的拉開,5G、千兆光纖網(wǎng)絡(luò)建設(shè)發(fā)展迅速,移動(dòng)互聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領(lǐng)域發(fā)展日新月異。云計(jì)算、數(shù)據(jù)中心、智算中心等基礎(chǔ)設(shè)施快速擴(kuò)容。網(wǎng)絡(luò)帶寬從主流10G朝著25G、40G、100G、200G甚至400G發(fā)展。網(wǎng)絡(luò)帶寬和連接數(shù)的劇增使得數(shù)據(jù)的通路更寬、更密,直接將處于端、邊、云各處的計(jì)算節(jié)點(diǎn)暴露在了劇增的數(shù)據(jù)量下,而CPU的性能增長(zhǎng)率與數(shù)據(jù)量增長(zhǎng)率出現(xiàn)了顯著的“剪刀差”現(xiàn)象。所以,尋求效率更高的計(jì)算芯片就成為了業(yè)界的共識(shí)。DPU芯片就是在這樣的趨勢(shì)下提出的。
一、帶寬性能增速比(RBP)失調(diào)
摩爾定律的放緩與全球數(shù)據(jù)量的爆發(fā)這個(gè)正在迅速激化的矛盾通常被作為處理器專用化的大背景,正所謂硅的摩爾定律雖然已經(jīng)明顯放緩,但“數(shù)據(jù)摩爾定律”已然到來(lái)。IDC的數(shù)據(jù)顯示,全球數(shù)據(jù)量在過(guò)去10年年均復(fù)合增長(zhǎng)率接近50%,并進(jìn)一步預(yù)測(cè)每四個(gè)月對(duì)于算力的需求就會(huì)翻一倍。因此必須要找到新的可以比通用處理器帶來(lái)更快算力增長(zhǎng)的計(jì)算芯片,DPU于是應(yīng)運(yùn)而生。這個(gè)大背景雖然有一定的合理性,但是還是過(guò)于模糊,并沒(méi)有回答DPU之所以新的原因是什么,是什么“量變”導(dǎo)致了“質(zhì)變”?
從現(xiàn)在已經(jīng)公布的各個(gè)廠商的DPU架構(gòu)來(lái)看,雖然結(jié)構(gòu)有所差異,但都不約而同強(qiáng)調(diào)網(wǎng)絡(luò)處理能力。從這個(gè)角度看,DPU是一個(gè)強(qiáng)IO型的芯片,這也是DPU與CPU最大的區(qū)別。CPU的IO性能主要體現(xiàn)在高速前端總線(在Intel的體系里稱之為FSB,F(xiàn)ront Side Bus),CPU通過(guò)FSB連接北橋芯片組,然后連接到主存系統(tǒng)和其他高速外設(shè)(主要是PCIe設(shè)備)。目前更新的CPU雖然通過(guò)集成存儲(chǔ)控制器等手段弱化了北橋芯片的作用,但本質(zhì)是不變的。CPU對(duì)于處理網(wǎng)絡(luò)處理的能力體現(xiàn)在網(wǎng)卡接入鏈路層數(shù)據(jù)幀,然后通過(guò)操作系統(tǒng)(OS)內(nèi)核態(tài),發(fā)起DMA中斷響應(yīng),調(diào)用相應(yīng)的協(xié)議解析程序,獲得網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)(雖然也有不通過(guò)內(nèi)核態(tài)中斷,直接在用戶態(tài)通過(guò)輪詢獲得網(wǎng)絡(luò)數(shù)據(jù)的技術(shù),如Intel的DPDK,Xilinx的Onload等,但目的是降低中斷的開銷,降低內(nèi)核態(tài)到用戶態(tài)的切換開銷,并沒(méi)有從根本上增強(qiáng)IO性能)??梢?,CPU是通過(guò)非常間接的手段來(lái)支持網(wǎng)絡(luò)IO,CPU的前端總線帶寬也主要是要匹配主存(特別是DDR)的帶寬,而不是網(wǎng)絡(luò)IO的帶寬。
相較而言,DPU的IO帶寬幾乎可以與網(wǎng)絡(luò)帶寬等同,例如,網(wǎng)絡(luò)支持25G,那么DPU就要支持25G。從這個(gè)意義上看,DPU繼承了網(wǎng)卡芯片的一些特征,但是不同于網(wǎng)卡芯片,DPU不僅僅是為了解析鏈路層的數(shù)據(jù)幀,而是要做直接的數(shù)據(jù)內(nèi)容的處理,進(jìn)行復(fù)雜的計(jì)算。所以,DPU是在支持強(qiáng)IO基礎(chǔ)上的具備強(qiáng)算力的芯片。簡(jiǎn)言之,DPU是一個(gè)IO密集型的芯片;相較而言,GPU還是一個(gè)計(jì)算密集型芯片。
進(jìn)一步地,通過(guò)比較網(wǎng)絡(luò)帶寬的增長(zhǎng)趨勢(shì)和通用CPU性能增長(zhǎng)趨勢(shì),能發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象:帶寬性能增速比(RBP,Ratioof Bandwidth and Performance growth rate)失調(diào)。RBP定義為網(wǎng)絡(luò)帶寬的增速比上CPU性能增速,即RBP=BW GR/Perf. GR如下圖所示,以Mellanox的ConnectX系列網(wǎng)卡帶寬作為網(wǎng)絡(luò)IO的案例,以Intel的系列產(chǎn)品性能作為CPU的案例,定義一個(gè)新指標(biāo)“帶寬性能增速比”來(lái)反應(yīng)趨勢(shì)的變化。
圖 帶寬性能增速比(RBP)失調(diào)
2010年前,網(wǎng)絡(luò)的帶寬年化增長(zhǎng)大約是30%,到2015年微增到35%,然后在近年達(dá)到45%。相對(duì)應(yīng)的,CPU的性能增長(zhǎng)從10年前的23%,下降到12%,并在近年直接降低到3%。在這三個(gè)時(shí)間段內(nèi),RBP指標(biāo)從1附近,上升到3,并在近年超過(guò)了10!如果在網(wǎng)絡(luò)帶寬增速與CPU性能增速近乎持平,RGR~1,IO壓力尚未顯現(xiàn)出來(lái),那么當(dāng)目前RBP達(dá)到10倍的情形下,CPU幾乎已經(jīng)無(wú)法直接應(yīng)對(duì)網(wǎng)絡(luò)帶寬的增速。RBP指標(biāo)在近幾年劇增也許是DPU終于等到機(jī)會(huì)“橫空出世”的重要原因之一。
二、異構(gòu)計(jì)算發(fā)展趨勢(shì)的助力
DPU首先作為計(jì)算卸載的引擎,直接效果是給CPU“減負(fù)”。DPU的部分功能可以在早期的TOE(TCP/IP Offloading Engine)中看到。正如其名,TOE就是將CPU的處理TCP協(xié)議的任務(wù)“卸載”到網(wǎng)卡上。傳統(tǒng)的TCP軟件處理方式雖然層次清晰,但也逐漸成為網(wǎng)絡(luò)帶寬和延遲的瓶頸。軟件處理方式對(duì)CPU的占用,也影響了CPU處理其他應(yīng)用的性能。TCP卸載引擎(TOE)技術(shù),通過(guò)將TCP協(xié)議和IP協(xié)議的處理進(jìn)程交由網(wǎng)絡(luò)接口控制器進(jìn)行處理,在利用硬件加速為網(wǎng)絡(luò)時(shí)延和帶寬帶來(lái)提升的同時(shí),顯著降低了CPU處理協(xié)議的壓力。具體有三個(gè)方面的優(yōu)化:1)隔離網(wǎng)絡(luò)中斷,2)降低內(nèi)存數(shù)據(jù)拷貝量,3)協(xié)議解析硬件化。這三個(gè)技術(shù)點(diǎn)逐漸發(fā)展成為現(xiàn)在數(shù)據(jù)平面計(jì)算的三個(gè)技術(shù),也是DPU普遍需要支持的技術(shù)點(diǎn)。例如,NVMe協(xié)議,將中斷策略替換為輪詢策略,更充分的開發(fā)高速存儲(chǔ)介質(zhì)的帶寬優(yōu)勢(shì);DPDK采用用戶態(tài)調(diào)用,開發(fā)“Kernel-bypassing”機(jī)制,實(shí)現(xiàn)零拷貝(Zeor-Copy);在DPU中的面向特定應(yīng)用的專用核,例如各種復(fù)雜的校驗(yàn)和計(jì)算、數(shù)據(jù)包格式解析、查找表、IP安全(IPSec)的支持等,都可以視為協(xié)議處理的硬件化支持。所以,TOE基本可以被視為DPU的雛形。
延續(xù)TOE的思想,將更多的計(jì)算任務(wù)卸載至網(wǎng)卡側(cè)來(lái)處理,促進(jìn)了智能網(wǎng)卡(SmartNIC)技術(shù)的發(fā)展。常見的智能網(wǎng)卡的基本結(jié)構(gòu)是以高速網(wǎng)卡為基本功能,外加一顆高性能的FPGA芯片作為計(jì)算的擴(kuò)展,來(lái)實(shí)現(xiàn)用戶自定義的計(jì)算邏輯,達(dá)到計(jì)算加速的目的。然而,這種“網(wǎng)卡+FPGA”的模式并沒(méi)有將智能網(wǎng)卡變成一個(gè)絕對(duì)主流的計(jì)算設(shè)備,很多智能網(wǎng)卡產(chǎn)品被當(dāng)作單純的FPGA加速卡來(lái)使用,在利用FPGA優(yōu)勢(shì)的同時(shí),也繼承了所有FPGA的局限性。DPU是對(duì)現(xiàn)有的SmartNIC的一個(gè)整合,能看到很多以往SmartNIC的影子,但明顯高于之前任何一個(gè)SmartNIC的定位。
Amazon的AWS在2013研發(fā)了Nitro產(chǎn)品,將數(shù)據(jù)中心開銷(為虛機(jī)提供遠(yuǎn)程資源,加密解密,故障跟蹤,安全策略等服務(wù)程序)全部放到專用加速器上執(zhí)行。Nitro架構(gòu)采用輕量化Hypervisor配合定制化的硬件,將虛擬機(jī)的計(jì)算(主要是CPU和內(nèi)存)和I/O(主要是網(wǎng)絡(luò)和存儲(chǔ))子系統(tǒng)分離開來(lái),通過(guò)PCIe總線連接,節(jié)省了30%的CPU資源。阿里云提出的X-Dragon系統(tǒng)架構(gòu),核心是MOC卡,有比較豐富的對(duì)外接口,也包括了計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源。MOC卡的核心X-Dragon SOC,統(tǒng)一支持網(wǎng)絡(luò),IO、存儲(chǔ)和外設(shè)的虛擬化,為虛擬機(jī)、裸金屬、容器云提供統(tǒng)一的資源池。
可見,DPU其實(shí)在行業(yè)內(nèi)已經(jīng)孕育已久,從早期的網(wǎng)絡(luò)協(xié)議處理卸載,到后續(xù)的網(wǎng)絡(luò)、存儲(chǔ)、虛擬化卸載,其帶來(lái)的作用還是非常顯著的,只不過(guò)在此之前DPU“有實(shí)無(wú)名”,現(xiàn)在是時(shí)候邁上一個(gè)新的臺(tái)階了。
來(lái)源:專用數(shù)據(jù)處理器(DPU)技術(shù)白皮書,中國(guó)科學(xué)院計(jì)算技術(shù)研究所,鄢貴海等
-
DPU
+關(guān)注
關(guān)注
0文章
366瀏覽量
24226
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論