專用數(shù)據(jù)處理器DPU 技術(shù)白皮書_第1頁(yè)
專用數(shù)據(jù)處理器DPU 技術(shù)白皮書_第2頁(yè)
專用數(shù)據(jù)處理器DPU 技術(shù)白皮書_第3頁(yè)
專用數(shù)據(jù)處理器DPU 技術(shù)白皮書_第4頁(yè)
專用數(shù)據(jù)處理器DPU 技術(shù)白皮書_第5頁(yè)
已閱讀5頁(yè),還剩139頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

專用數(shù)據(jù)處理器(DPU)TechnicalWhitePaperofDataProcessingUnit技術(shù)白皮書主編單位聯(lián)合編寫發(fā)布單位DPUWhitePaperAllRightsReserved2INTENTIONALLYLEFTBLANKAllRightsReserved3編委會(huì)編委(按姓?拼音排序):崔慧敏、陳巖、陳世敏、樊海爽、孔浩、盧?巖、AllRightsReserved4特別致謝本白皮書編寫過(guò)程中還得到了北京市科學(xué)技術(shù)委員會(huì)、中關(guān)村科技園區(qū)管理委員會(huì)、中國(guó)移動(dòng)物聯(lián)?有限公司、曙光信息產(chǎn)業(yè)有限公司、浪潮集團(tuán)、國(guó))有限公司、賽靈思電?科技公司、東?國(guó)信科技股份有限公司、首都在AllRightsReserved5版權(quán)聲明本白皮書版權(quán)屬于主編和聯(lián)合編寫發(fā)布單位,并受法律保護(hù)。轉(zhuǎn)載、摘編或利用其它?式使用本白皮書?字或者觀點(diǎn)應(yīng)注明“來(lái)源:專用數(shù)據(jù)處理器(DPU)技術(shù)AllRightsReserved6 71.DPU技術(shù)發(fā)展概況 9 9 2.DPU特征結(jié)構(gòu) 232.1.DPU是以數(shù)據(jù)為中?IO密集的專用處理器 3.DPU應(yīng)用場(chǎng)景 35 4.DPU軟件棧五層模型 58 5.業(yè)界產(chǎn)品概要介紹 705.1.NVIDIABLUEFIELD 5.2.INTELIPU(MOUNTEVANS) 5.3.MARVELLOCTEON 5.4.FUNGIBLEDPU 6.DPU發(fā)展展望 92AllRightsReserved7DPU(DataProcessingUnit)是新近發(fā)展起來(lái)的一種專用處理器。2020年NVIDIA公司發(fā)布的DPU產(chǎn)品戰(zhàn)略中將其定位為數(shù)據(jù)中心繼CPU和GPU之后的“第三顆主力芯片”,掀起了一波行業(yè)熱潮。DPU的出現(xiàn)是異構(gòu)計(jì)算的一個(gè)階段性標(biāo)志。與GPU的發(fā)展類似,DPU是應(yīng)用驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)的又一典型案例;但與GPU不同的是,DPU面向的應(yīng)用更加底層,類型也更多樣。DPU要解決的核心問(wèn)題是基礎(chǔ)設(shè)施的“降本增效”,即將“CPU處理效率低下、GPU處理不了”的負(fù)載卸載到專用DPU,提升整個(gè)計(jì)算系統(tǒng)的效率、降低整體系統(tǒng)的總體擁有成本(TCO)。新一代的DPU不僅可以作為運(yùn)算的加速引擎,還具備控制平面的功能,能夠運(yùn)行Hypervisor,更高效的完成網(wǎng)絡(luò)虛擬化、IO虛擬化、存儲(chǔ)虛擬化等任務(wù),徹底將CPU的算力釋放給應(yīng)用程序。DPU的出現(xiàn)也許是體本白皮書將重點(diǎn)分析DPU產(chǎn)生的背景、技術(shù)特征、軟硬件參考架構(gòu),應(yīng)用場(chǎng)景、并對(duì)目前已經(jīng)公布的DPU產(chǎn)品做簡(jiǎn)要的比較分析,為后續(xù)DPU技術(shù)發(fā)展第一部分介紹DPU的技術(shù)發(fā)展概況,首先對(duì)DPU做了一個(gè)基本的定義,然后闡述了DPU發(fā)展的背景,并簡(jiǎn)要介紹DPU發(fā)展的歷程,DPU在現(xiàn)有計(jì)算生態(tài)第二部分詳細(xì)說(shuō)明DPU的特征結(jié)構(gòu),對(duì)DPU的定位做了進(jìn)一步闡述,然后第三部分介紹DPU的應(yīng)用場(chǎng)景,本文總結(jié)了三大應(yīng)用場(chǎng)景:網(wǎng)絡(luò)功能卸AllRightsReserved8第四部分提出DPU開(kāi)發(fā)的五層參考模型,包括設(shè)備層、操作層、計(jì)算引擎層、應(yīng)用服務(wù)層和業(yè)務(wù)開(kāi)發(fā)層,既體現(xiàn)了DPU開(kāi)發(fā)過(guò)程中的軟硬協(xié)同,也充分第五部分概要介紹目前行業(yè)的已經(jīng)發(fā)布或已經(jīng)披露的DPU產(chǎn)品,雖然其中絕大部分尚未到批量應(yīng)用的階段,各個(gè)競(jìng)品的優(yōu)缺點(diǎn)也尚未得到市場(chǎng)的充分驗(yàn)AllRightsReserved9DPU(DataProcessingUnit)是以數(shù)據(jù)為中心構(gòu)造的專用處理器,采用軟件定義技術(shù)路線支撐基礎(chǔ)設(shè)施層資源虛擬化,支持存儲(chǔ)、安全、服務(wù)質(zhì)量管理等基礎(chǔ)設(shè)施層服務(wù)。2020年NVIDIA公司發(fā)布的DPU產(chǎn)品戰(zhàn)略中將其定位為數(shù)據(jù)中心繼CPU和GPU之后的“第三顆主力芯片”,掀起了一波行業(yè)熱潮。DPU的出現(xiàn)是異構(gòu)計(jì)算的一個(gè)階段性標(biāo)志。與GPU的發(fā)展類似,DPU是應(yīng)用驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)的又一典型案例;但與GPU不同的是,DPU面向的應(yīng)用更加底層。DPU要解決的核心問(wèn)題是基礎(chǔ)設(shè)施的“降本增效”,即將“CPU處理效率低下、GPU處理不了”的負(fù)載卸載到專用DPU,提升整個(gè)計(jì)算系統(tǒng)的效率、降低整體系統(tǒng)的總體擁有成本(TCO)。DPU的出現(xiàn)也許是體系結(jié)構(gòu)朝著專用化路(1)DataProcessingUn位置,區(qū)別于信號(hào)處理器、基帶處理器等通信相關(guān)的處理器對(duì)應(yīng)的“信號(hào)”,也區(qū)別于GPU對(duì)應(yīng)的圖形圖像類數(shù)據(jù),這里的“數(shù)據(jù)”主要指數(shù)字化以后的各種信息,特別是各種時(shí)序化、結(jié)構(gòu)化的數(shù)據(jù),比如大型的結(jié)構(gòu)化表格,網(wǎng)絡(luò)流(2)DatacenterProcessingUnit,即數(shù)據(jù)中心作為DPU的應(yīng)用場(chǎng)景,特別是隨著WSC(Warehouse-scaleComputer)的興起,不同規(guī)模的數(shù)據(jù)中心成為了IT核心基礎(chǔ)設(shè)施。目前來(lái)看,DPU確實(shí)在數(shù)據(jù)中心中使用前景非常廣闊。但是計(jì)算中心的三大部分:計(jì)算、網(wǎng)絡(luò)、存儲(chǔ),計(jì)算部AllRightsReserved10分是CPU占主導(dǎo),GPU輔助;網(wǎng)絡(luò)部分是路由器和交換機(jī),存儲(chǔ)部分是高密度磁盤構(gòu)成的的RAID系統(tǒng)和SSD為代表非易失性存儲(chǔ)系統(tǒng)。在計(jì)算和網(wǎng)絡(luò)中扮演數(shù)據(jù)處理的芯片都可以稱之為DatacenterProcessingUnit,所以這種說(shuō)法相對(duì)比(3)Data-centricProcessingUnit,即以數(shù)據(jù)為中心的處理器。Data-centric,即數(shù)據(jù)為中心,是處理器設(shè)計(jì)的一種理念,相對(duì)于“Control-centric”即控制為中心。經(jīng)典的馮諾依曼體系結(jié)構(gòu)就是典型的控制為中心的結(jié)構(gòu),在馮諾依曼經(jīng)典計(jì)算模型中有控制器、計(jì)算器、存儲(chǔ)器、輸入和輸出,在指令系統(tǒng)中的表現(xiàn)是具有一系列非常復(fù)雜的條件跳轉(zhuǎn)和尋址指令。而數(shù)據(jù)為中心的理念與數(shù)據(jù)流(DataFlow)計(jì)算一脈相承,是一種實(shí)現(xiàn)高效計(jì)算的方法。同時(shí),現(xiàn)在試圖打破訪存墻(MemoryWall)的各種近存(Near-memory)計(jì)算、存內(nèi)(In-以上三種關(guān)于“D”的解釋,從不同角度反映DPU的特征,都有一定的可DPU最直接的作用是作為CPU的卸載引擎,接管網(wǎng)絡(luò)虛擬化、硬件資源池化等基礎(chǔ)設(shè)施層服務(wù),釋放CPU的算力到上層應(yīng)用。以網(wǎng)絡(luò)協(xié)議處理為例,要包處理,就可以占去一個(gè)8核高端CPU一半的算力。如果考慮40G、100G的高速網(wǎng)絡(luò),性能的開(kāi)銷就更加難以承受了。Amazon把這些開(kāi)銷都稱之為“DatacenterTax”,即還未運(yùn)行業(yè)務(wù)程序,先接入網(wǎng)絡(luò)數(shù)據(jù)就要占去的源。AWSNitro產(chǎn)品家族旨在將數(shù)據(jù)中心開(kāi)銷(為密,故障跟蹤,安全策略等服務(wù)程序)全部從CPU卸載到Nitro加速卡上,將給AllRightsReserved11DPU可以成為新的數(shù)據(jù)網(wǎng)關(guān),將安全隱私提升到一個(gè)新的高度。在網(wǎng)絡(luò)環(huán)境下,網(wǎng)絡(luò)接口是理想的隱私的邊界,但是加密、解密算法開(kāi)銷都很大,例如國(guó)密標(biāo)準(zhǔn)的非對(duì)稱加密算法SM2、哈希算法SM3和對(duì)稱分組密碼算法SM4。如果用CPU來(lái)處理,就只能做少部分?jǐn)?shù)據(jù)量的加密。在未來(lái),隨著區(qū)塊鏈承載的業(yè)務(wù)的逐漸成熟,運(yùn)行共識(shí)算法POW,驗(yàn)簽等也會(huì)消耗掉大量的CPU算力。而這DPU也可以成為存儲(chǔ)的入口,將分布式的存儲(chǔ)和遠(yuǎn)程訪問(wèn)本地化。隨著SSD性價(jià)比逐漸可接受,部分存儲(chǔ)遷移到SSD器件上已經(jīng)成為可能,傳統(tǒng)的面向機(jī)械硬盤的SATA協(xié)議并不適用于SSD存儲(chǔ),所以,將SSD通過(guò)本地PCIe或高速網(wǎng)絡(luò)接入系統(tǒng)就成為必選的技術(shù)路線。NVMe(NonVolatileMemoryExpress)就是用于接入SSD存儲(chǔ)的高速接口標(biāo)準(zhǔn)協(xié)議,可以通過(guò)PCIe作為底層傳輸協(xié)議,將SSD的帶寬優(yōu)勢(shì)充分發(fā)揮出來(lái)。同時(shí),在分布式系統(tǒng)中,還可通過(guò)NVMeoverFabrics(NVMe-oF)協(xié)議擴(kuò)展到In?niBand、Ethernet、或Fibrechannel節(jié)點(diǎn)中,以RDMA的形式實(shí)現(xiàn)存儲(chǔ)的共享和遠(yuǎn)程訪問(wèn)。這些新的協(xié)議處理都可以集成在DPU中以實(shí)現(xiàn)對(duì)CPU的透明處理。進(jìn)而,DPU將可能承接各種DPU將成為算法加速的沙盒,成為最靈活的加速器載體。DP顆固化的ASIC,在CXL、CCIX等標(biāo)準(zhǔn)組織所倡導(dǎo)CPU、GPU與DPU等數(shù)據(jù)一致性訪問(wèn)協(xié)議的鋪墊下,將更進(jìn)一步掃清DPU編程障礙,結(jié)合FPGA等可編程器件,可定制硬件將有更大的發(fā)揮空間,“軟件硬件化”將成為常態(tài),異構(gòu)計(jì)算的潛能將因各種DPU的普及而徹底發(fā)揮出來(lái)。在出現(xiàn)“KillerApplication”的領(lǐng)AllRightsReserved12DPU的出現(xiàn)是異構(gòu)計(jì)算的又一個(gè)階段性標(biāo)志。摩爾定律放緩使得通用CPU性能增長(zhǎng)的邊際成本迅速上升,數(shù)據(jù)表明現(xiàn)在CPU的性能年化增長(zhǎng)(面積歸一片得以發(fā)展的重要背景因素。以AI芯片為例,最新的GPT-3等千億級(jí)參數(shù)的超大型模型的出現(xiàn),將算力需求推向了一個(gè)新的高度。DPU也不例外。隨著2019年我國(guó)以信息網(wǎng)絡(luò)等新型基礎(chǔ)設(shè)施為代表的“新基建”戰(zhàn)略帷幕的拉開(kāi),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ù)據(jù)的通路更寬、更密,直接將處于端、邊、云各處的計(jì)算節(jié)點(diǎn)暴露在了劇增的數(shù)據(jù)量下,而CPU的性能增長(zhǎng)率與數(shù)據(jù)量增長(zhǎng)率出現(xiàn)了顯著的“剪刀差”現(xiàn)象。所以,尋求效率更高的計(jì)算芯片就成為了業(yè)界的共識(shí)。DPU芯片就是在這摩爾定律的放緩與全球數(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之所以1HennessyJ,PattersonD.ComputerArchitectuAllRightsReserved13從現(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)rontSideBusCPU通過(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等,但目的是降低中斷的開(kāi)銷,降低內(nèi)核態(tài)到用戶態(tài)的切換開(kāi)銷,并沒(méi)有從根本上增強(qiáng)IO性能)。可見(jiàn),CPU是通過(guò)非常間接的手段來(lái)支持網(wǎng)絡(luò)IO,CPU的前端總線帶寬也主要是要匹配主存(特別是相較而言,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還進(jìn)一步地,通過(guò)比較網(wǎng)絡(luò)帶寬的增長(zhǎng)趨勢(shì)和通用CPU性能增長(zhǎng)趨勢(shì),能發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象:帶寬性能增速比(RBP,RatioofBandwidthandPerformancegrowthrate)失調(diào)。RBP定義為網(wǎng)絡(luò)帶寬的增速比上CPU性能增速,即RBP=BWGR/Perf.GR如圖1-1所示,以Mellanox的ConnectX系列網(wǎng)卡帶網(wǎng)絡(luò)IO的案例,以Intel的系列產(chǎn)品性能作為CPU的案例,定義一個(gè)新指標(biāo)“帶AllRightsReserved142010年前,網(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ǎng)絡(luò)帶寬的增速。RBP指標(biāo)在近幾年劇增也許是DPU終于等到機(jī)會(huì)“橫空出DPU首先作為計(jì)算卸載的引擎,直接效果是給CPU“減負(fù)”。DPU的功能可以在早期的TOE(TCP/IPOf?oadingEngine)中看到。正如其名,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)行處理,在利用硬件加有三個(gè)方面的優(yōu)化:1)隔離網(wǎng)絡(luò)中斷,2)降低內(nèi)存數(shù)據(jù)拷貝量,3)協(xié)議解析AllRightsReserved15硬件化。這三個(gè)技術(shù)點(diǎn)逐漸發(fā)展成為現(xiàn)在數(shù)據(jù)平面計(jì)算的三個(gè)技術(shù),也是DPU普遍需要支持的技術(shù)點(diǎn)。例如,NVMe協(xié)議,將中斷策略替換為輪詢策略,更充分的開(kāi)發(fā)高速存儲(chǔ)介質(zhì)的帶寬優(yōu)勢(shì);DPDK采用用戶態(tài)調(diào)用,開(kāi)發(fā)“Kernel-bypassing”機(jī)制,實(shí)現(xiàn)零拷貝(Zeor-Copy);在DPU中的面向特定應(yīng)用的專用核,例如各種復(fù)雜的校驗(yàn)和計(jì)算、數(shù)據(jù)包格式解析、查找表、IP安全(IPSec)的支持等,都可以視為協(xié)議處理的硬件化支持。所以,TOE基本可以被視為延續(xù)TOE的思想,將更多的計(jì)算任務(wù)卸載至網(wǎng)卡側(cè)來(lái)處理,促進(jìn)了智能網(wǎng)卡(SmartNIC)技術(shù)的發(fā)展。常見(jiàn)的智能網(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的影子,但明顯高于之Amazon的AWS在2013研發(fā)了Nitro產(chǎn)品,將數(shù)據(jù)中心開(kāi)銷(為虛機(jī)提供遠(yuǎn)程資源,加密解密,故障跟蹤,安全策略等服務(wù)程序)全部放到專用加速器上執(zhí)行。Nitro架構(gòu)采用輕量化Hypervisor配合定制化的硬件,將虛擬機(jī)的計(jì)算(主要是CPU和內(nèi)存)和I/O(主要是網(wǎng)絡(luò)和存儲(chǔ))子系統(tǒng)分離開(kāi)來(lái),通過(guò)PCIe總線連接,節(jié)省了30%的CPU資源。阿里云提出的X-Dragon系統(tǒng)架構(gòu),核心是MOC卡,有比較豐富的對(duì)外接口,也包括了計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源。MOC卡的核心X-DragonSOC,統(tǒng)一支持網(wǎng)絡(luò),IO、存儲(chǔ)和外設(shè)的虛擬化,為虛擬AllRightsReserved16可見(jiàn),DPU其實(shí)在行業(yè)內(nèi)已經(jīng)孕育已久,從早期的網(wǎng)絡(luò)協(xié)議處理卸載,到后續(xù)的網(wǎng)絡(luò)、存儲(chǔ)、虛擬化卸載,其帶來(lái)的作用還是非常顯著的,只不過(guò)在此隨著云平臺(tái)虛擬化技術(shù)的發(fā)展,智能網(wǎng)卡的發(fā)展基本可以分為三個(gè)階段DPU智能網(wǎng)卡(第二代智能網(wǎng)卡)PCIeRootComplex或EndPoint智能網(wǎng)卡(第一代智能網(wǎng)卡)智能網(wǎng)卡(第一代智能網(wǎng)卡)PCIe總線主機(jī)接口網(wǎng)絡(luò)接口基礎(chǔ)網(wǎng)卡基礎(chǔ)網(wǎng)卡主機(jī)接口硬件卸載網(wǎng)絡(luò)接口融合網(wǎng)絡(luò)無(wú)損需求網(wǎng)絡(luò)接口融合網(wǎng)絡(luò)無(wú)損需求卸載能力全卸載)-提供2x10G帶寬基本能力Virtio-blk-安全相關(guān)功能全卸載(數(shù)據(jù)AllRightsReserved17基礎(chǔ)功能網(wǎng)卡(即普通網(wǎng)卡)提供2x10G或2x25G帶寬吞吐,具有較少的硬件卸載能力,主要是Checksum,LRO/LSO等,支持SR-IOV,以及有限的多隊(duì)列能力。在云平臺(tái)虛擬化網(wǎng)絡(luò)中,基礎(chǔ)功能網(wǎng)卡向虛擬機(jī)(VM)提供網(wǎng)絡(luò)接入的方式主要是有三種:由操作系統(tǒng)內(nèi)核驅(qū)動(dòng)接管網(wǎng)卡并向虛擬機(jī)(VM)分發(fā)網(wǎng)絡(luò)流量;由OVS-DPDK接管網(wǎng)卡并向虛擬機(jī)(VM)分發(fā)網(wǎng)絡(luò)流量;以及高性能場(chǎng)可以認(rèn)為是第一代智能網(wǎng)卡,具有豐富的硬件卸載能力,比較典型的有OVSFastpath硬件卸載,基于RoCEv1和RoCEv2的RDMA網(wǎng)絡(luò)硬件卸載,融合網(wǎng)絡(luò)中無(wú)損網(wǎng)絡(luò)能力(PFC,ECN,ETS等)的硬件卸載,存儲(chǔ)領(lǐng)域NVMe-件卸載,以及安全傳輸?shù)臄?shù)據(jù)面卸載等。這個(gè)時(shí)期的智能網(wǎng)卡以數(shù)據(jù)平面的卸可以認(rèn)為是第二代智能網(wǎng)卡,在第一代智能網(wǎng)卡基礎(chǔ)上加入CPU,可以用來(lái)卸載控制平面的任務(wù)和一些靈活復(fù)雜的數(shù)據(jù)平面任務(wù)。目前DPU智能網(wǎng)卡的特點(diǎn)首先是支持PCIeRootComplex模式和Endpoint模式,在配置為PCIeRootComplex模式時(shí),可以實(shí)現(xiàn)NVMe存儲(chǔ)控制器,與NVMeSSD磁盤一起構(gòu)建存儲(chǔ)服務(wù)器;另外,由于大規(guī)模的數(shù)據(jù)中心網(wǎng)絡(luò)的需要,對(duì)無(wú)損網(wǎng)絡(luò)的要求更加嚴(yán)格,需要解決數(shù)據(jù)中心網(wǎng)絡(luò)中Incast流量、“大象”流等帶來(lái)的網(wǎng)絡(luò)擁塞和時(shí)延問(wèn)題,各大公有云廠商紛紛提出自己的應(yīng)對(duì)方法,比如阿里云的高精度擁塞控制(HPCC,HighPrecisionCongestionControl),AWS的可擴(kuò)展可靠數(shù)據(jù)報(bào)(SRD,ScalableReliableDatagram)等。DPU智能網(wǎng)卡在解決這類問(wèn)題時(shí)將會(huì)引入更為先進(jìn)的方法,如Fungible的TrueFabric,就是在DPU智能網(wǎng)卡上的新式解決方案。還有,業(yè)界提出了Hypervisor中的網(wǎng)絡(luò),存儲(chǔ)和安全全棧卸載的發(fā)展方AllRightsReserved18向,以Intel為代表提出了IPU,將基礎(chǔ)設(shè)施的功能全部卸載到智能網(wǎng)卡中,可以隨著越來(lái)越多的功能加入到智能網(wǎng)卡中,其功率將很難限制在75W之內(nèi),(1)獨(dú)立供電的智能網(wǎng)卡,需要考慮網(wǎng)卡狀態(tài)與計(jì)算別,在計(jì)算系統(tǒng)啟動(dòng)的過(guò)程中或者啟動(dòng)之后,智能網(wǎng)卡是否已經(jīng)是進(jìn)入服務(wù)狀(2)沒(méi)有PCIe接口的DPU智能網(wǎng)卡,可以組成DPU資源池,專門負(fù)責(zé)網(wǎng)絡(luò)功能,例如負(fù)載均衡,訪問(wèn)控制,防火墻設(shè)備等。管理軟件可以直接通過(guò)智能網(wǎng)卡管理接口定義對(duì)應(yīng)的網(wǎng)絡(luò)功能,并作為虛擬化網(wǎng)絡(luò)功能集群提供對(duì)應(yīng)網(wǎng)絡(luò)模PCIe控制器,可以配置為RootComplex接口。通過(guò)PCIeGen3x8接口可以支撐8個(gè)DAllRightsReserved19DPU作為一種新型的專用處理器,隨著需求側(cè)的變化,必將在未來(lái)計(jì)算系CPU是整個(gè)IT生態(tài)的定義者,無(wú)論是服務(wù)器端的x86還是移動(dòng)端的ARM,都GPU是執(zhí)行規(guī)則計(jì)算的主力芯片,如圖形渲染。經(jīng)過(guò)NVIDIA對(duì)通用GPU(GPGPU)和CUDA編程框架的推廣,GPU在數(shù)據(jù)并行的任務(wù)如圖形圖像、深度學(xué)習(xí)、矩陣運(yùn)算等方面成為了主力算力引擎,并且成為了高性能計(jì)算最重要的輔助計(jì)算單元。2021年6月公布的Top500高性能計(jì)算機(jī)(超級(jí)計(jì)算機(jī))的前10數(shù)據(jù)中心與超極計(jì)算機(jī)不同,后者主要面向科學(xué)計(jì)算,如大飛機(jī)研制,石油勘探、新藥物研發(fā)、氣象預(yù)報(bào)、電磁環(huán)境計(jì)算等應(yīng)用,性能是主要指標(biāo),對(duì)接入帶寬要求不高;但數(shù)據(jù)中心面向云計(jì)算商業(yè)化應(yīng)用,對(duì)接入帶寬,可靠性、災(zāi)備、彈性擴(kuò)展等要求更高,與之相適應(yīng)發(fā)展起來(lái)的虛擬機(jī)、容器云、并AllRightsReserved20行編程框、內(nèi)容分發(fā)網(wǎng)等等技術(shù),都是為了更好的支撐上層商業(yè)應(yīng)用如電商、支付、視頻流、網(wǎng)盤、辦公OA等。但是這些IaaS和PaaS層的服務(wù)開(kāi)銷極大,Amazon曾公布AWS的系統(tǒng)開(kāi)銷在30%以上。如果需要實(shí)現(xiàn)更好的QoS,在網(wǎng)這些基礎(chǔ)層應(yīng)用類型與CPU架構(gòu)匹配程度不高導(dǎo)致計(jì)算效率低下?,F(xiàn)有的CPU的架構(gòu)有兩個(gè)大類:多核架構(gòu)(數(shù)個(gè)或數(shù)十幾個(gè)核)和眾核架構(gòu)(數(shù)百個(gè)核以上),每種架構(gòu)支持唯一的規(guī)范通用指令集之一,如x86、ARM等。以指令集為界,軟件和硬件被劃分開(kāi)來(lái)分別獨(dú)立發(fā)展,迅速的催生了軟件產(chǎn)業(yè)和微處理器產(chǎn)業(yè)的協(xié)同發(fā)展。但是,隨著軟件復(fù)雜度的上升,軟件的生產(chǎn)率(Productivity)得到更多的重視,軟件工程學(xué)科也更加關(guān)注如何高效地構(gòu)建大型軟件系統(tǒng),而非如何用更少的硬件資源獲得盡可能高的執(zhí)行性能。業(yè)界有個(gè)被戲稱的“安迪比爾定律”,其內(nèi)容是“WhatAndygives,Billtakesaway”,安正如CPU在處理圖像處理時(shí)不夠高效一樣,現(xiàn)在有大量的基礎(chǔ)層應(yīng)用CPU處理起來(lái)也比較低效,例如網(wǎng)絡(luò)協(xié)議處理,交換路由計(jì)算,加密解密,數(shù)據(jù)壓縮等這類計(jì)算密集的任務(wù),還有支持分布式處理的數(shù)據(jù)一致性協(xié)議如RAFT等。這些數(shù)據(jù)或者通過(guò)從網(wǎng)絡(luò)IO接入系統(tǒng),或者通過(guò)板級(jí)高速PCIe總線接入系統(tǒng),再通過(guò)共享主存經(jīng)由DMA機(jī)制將數(shù)據(jù)提供給CPU或GPU來(lái)處理。既要處理大量的上層應(yīng)用,又要維持底層軟件的基礎(chǔ)設(shè)施,還要處理各種特殊的IO類協(xié)議,這些基礎(chǔ)層負(fù)載給“異構(gòu)計(jì)算”提供了一個(gè)廣闊的發(fā)展空間。將這些基礎(chǔ)層負(fù)載從CPU上卸載下來(lái),短期內(nèi)可以“提質(zhì)增效”,長(zhǎng)遠(yuǎn)來(lái)看還為新的業(yè)務(wù)增長(zhǎng)提供技術(shù)保障。DPU將有望成為承接這些負(fù)載的代表性芯片,與CPU和GPU優(yōu)勢(shì)互補(bǔ),建立起一個(gè)更加高效的算力平臺(tái)。可以預(yù)測(cè),用于數(shù)據(jù)中心的AllRightsReserved21DPU的量將達(dá)到和數(shù)據(jù)中心服務(wù)器等量的級(jí)別,每年千萬(wàn)級(jí)新增,算上存量的替代,估算五年總體的需求量將突破兩億顆,超過(guò)獨(dú)立GPU卡的需求量。每臺(tái)數(shù)據(jù)中心作為IT基礎(chǔ)設(shè)施最重要的組成部分在過(guò)去10年成為了各大高端芯片廠商關(guān)注的焦點(diǎn)。各大廠商都將原有的產(chǎn)品和技術(shù),用全新的DPU的理念重NVIDIA收購(gòu)Mellanox后,憑借原有的ConnectX系列高速網(wǎng)卡技術(shù),推出其BlueField系列DPU,成為DPU賽道的標(biāo)桿。作為算法加速芯片頭部廠商的Xilinx在2018年還將“數(shù)據(jù)中心優(yōu)先(DatacenterFirst)”作為其全新發(fā)展戰(zhàn)略。發(fā)布了Alveo系列加速卡產(chǎn)品,旨在大幅提升云端和本地?cái)?shù)據(jù)中心服務(wù)器性能。2019年4月,Xilinx宣布收購(gòu)Solar?are通信公司,將領(lǐng)先的FPGA、MPSoC和ACAP解合,從而實(shí)現(xiàn)全新的融合SmartNIC解決方案。Intel2015年底收購(gòu)了Xilinx的競(jìng)爭(zhēng)對(duì)手——Altera,在通用處理器的基礎(chǔ)上,進(jìn)一步完善硬件加速能力。Intel2021年6月新發(fā)布的IPU產(chǎn)品(可以被視為Intel版本的DPU),將FPGA與XeonD系列處理器集成,成為了DPU賽道有力的競(jìng)爭(zhēng)者。IPU是具有強(qiáng)化的加速器和以太網(wǎng)連接的高級(jí)網(wǎng)絡(luò)設(shè)備,它使用緊密耦合、專用的可編程內(nèi)核加速和管理基礎(chǔ)架構(gòu)功能。IPU提供全面的基礎(chǔ)架構(gòu)分載,并可作為運(yùn)行基礎(chǔ)架構(gòu)應(yīng)用的主機(jī)的控制點(diǎn),從而提供一層額外防護(hù)。幾乎同一時(shí)間,Marvall發(fā)布了OCTEON10在同一時(shí)期,一些傳統(tǒng)并不涉足芯片設(shè)計(jì)的互聯(lián)網(wǎng)廠商,如海外的Google、Amazon,國(guó)內(nèi)的阿里巴巴等巨頭紛紛啟動(dòng)了自研芯片的計(jì)劃,而且研發(fā)重點(diǎn)都是面向數(shù)據(jù)處理器的高性能專用處理器芯片,希望以此改善云端的服AllRightsReserved22務(wù)器的成本結(jié)構(gòu),提高單位能耗的性能水平。數(shù)據(jù)研究預(yù)測(cè)DPU在云計(jì)算市場(chǎng)的應(yīng)用需求最大,且市場(chǎng)規(guī)模隨著云計(jì)算數(shù)據(jù)中心的迭代而增長(zhǎng),到2025年單AllRightsReserved23從應(yīng)用特征來(lái)看,可以把應(yīng)用分為“IO密集型”和“計(jì)算密集型”兩類,如圖2-1縱軸所示。IO密集型應(yīng)用,通常體現(xiàn)為較高的輸入和輸出帶寬,數(shù)據(jù)直接來(lái)自于IO,數(shù)據(jù)通常具備流式特征,數(shù)據(jù)局部性不顯著,如果處理性能與帶寬匹配,片上緩存的作用就可以弱化。例如處理路由轉(zhuǎn)發(fā)、數(shù)據(jù)加密、壓縮等。計(jì)算密集型應(yīng)用,體現(xiàn)為較高的計(jì)算密度,通常浮點(diǎn)性能突出,數(shù)據(jù)來(lái)自主存,數(shù)據(jù)局部性顯著,復(fù)用性高,主存的大小對(duì)于問(wèn)題求解的性能有直接影一個(gè)處理器芯片是“IO密集”還是“計(jì)算密集”只部分決定了芯片的結(jié)構(gòu)特征,并不能完全定義芯片的主體架構(gòu)。無(wú)論是IO密集,還是計(jì)算密集,即可以以通用CPU為核心構(gòu)造主體計(jì)算架構(gòu),也可以以專用加速器為核心構(gòu)造主體 3“DPU:以數(shù)據(jù)為中?的專?處理器”,鄢貴AllRightsReserved24計(jì)算架構(gòu)。前者可稱之為以控制為中心(control-centric)的模式,后者稱之為以數(shù)據(jù)為中心(data-centric)的模式。控制為中心的核心是實(shí)現(xiàn)“通用”,數(shù)據(jù)為中心的核心是通過(guò)定制化實(shí)現(xiàn)“高性能”。以應(yīng)用特征和架構(gòu)特征這兩個(gè)維通用CPU是偏向于控制為中心結(jié)構(gòu),理論上看就是要“圖靈完備”,要支持完備的指令集,通過(guò)編程指令序列來(lái)定義計(jì)算任務(wù),通過(guò)執(zhí)行指令序列來(lái)完成計(jì)算任務(wù),因此具備極其靈活的編程支持,可以任意定義計(jì)算的邏輯實(shí)現(xiàn)“通用”——這也是CPU最大的優(yōu)勢(shì)。同時(shí),為了提高編程的開(kāi)發(fā)效率,降低編譯器復(fù)雜度,緩存管理和細(xì)粒度并行度的開(kāi)發(fā)通常都是由硬件來(lái)完成。類似的,還有大量的用于各種嵌入式、移動(dòng)設(shè)備的微控制器MCU,并不強(qiáng)調(diào)高帶寬,也是以控制為中心的結(jié)構(gòu)。NP,DSP也是便向于基于通用處理器來(lái)做專用化擴(kuò)展,但是非常注重高通量的性能屬性。例如,NP要支持?jǐn)?shù)Tbps的轉(zhuǎn)發(fā)帶GPU是以數(shù)據(jù)為中心的結(jié)構(gòu),形式上更傾向于專用加速器。GPU的結(jié)構(gòu)稱之為數(shù)據(jù)并行(data-parallel)結(jié)構(gòu),優(yōu)化指令并行度并不是提升性能的重點(diǎn),通過(guò)大規(guī)模同構(gòu)核進(jìn)行細(xì)粒度并行來(lái)消化大的數(shù)據(jù)帶寬才是重點(diǎn)。例如,最新的NVIDIATITANRTXGPU有460通常配置數(shù)十GB的超大顯存。同時(shí)緩存管理多采用軟件顯示管理,降低硬件復(fù)DPU也偏向于數(shù)據(jù)為中心的結(jié)構(gòu),形式上集成了更多類別的專用加速器,犧牲一定的指令靈活性以獲得更極致的性能。但是與GPU不同,DPU要應(yīng)對(duì)更多的網(wǎng)絡(luò)IO,既包括外部以太網(wǎng),也包括內(nèi)部虛擬IO,所以DPU所面臨的數(shù)據(jù)并行更多可能是數(shù)據(jù)包并行,而不是圖像中的像素、像塊級(jí)并行。而且DPU也會(huì)配置少數(shù)通用核(如ARM,MIPS)來(lái)處理一定的控制面的任務(wù),運(yùn)行輕量級(jí)操作系統(tǒng)來(lái)管理DPU上的眾多的異構(gòu)核資源,所以體現(xiàn)了一定“通用”性,但AllRightsReserved25性能優(yōu)勢(shì)主要不源于這些通用核,而是大量專用計(jì)算核。早期的一些網(wǎng)絡(luò)處理器采用過(guò)類似Tile64的通用眾核結(jié)構(gòu),以增加核的數(shù)量來(lái)應(yīng)對(duì)多路處理的數(shù)據(jù),實(shí)現(xiàn)并發(fā)處理,但單路延遲性能通常都比較差。因此,DPU更偏向于以數(shù)據(jù)為DPU是軟件定義的技術(shù)路線下的重要產(chǎn)物。在軟件定義網(wǎng)絡(luò)中,將數(shù)據(jù)面與控制面分離是最核心的思想。DPU被定義為強(qiáng)化了數(shù)據(jù)面性能的專用處理2.2.計(jì)算平臺(tái)從“計(jì)算為中心”轉(zhuǎn)向“數(shù)據(jù)為中心”(1)網(wǎng)絡(luò)擁塞和長(zhǎng)尾延遲。數(shù)據(jù)中心網(wǎng)絡(luò)最真實(shí)的性能指標(biāo)之一是“尾部延遲”,即流量最慢百分位數(shù)所經(jīng)歷的延時(shí)水平。數(shù)據(jù)中心網(wǎng)絡(luò)擁塞的一個(gè)典型原因是Incast流量,而Incast流量在數(shù)據(jù)中心網(wǎng)絡(luò)中是不可避免的?,F(xiàn)在常見(jiàn)的解決擁塞的方法,如基于優(yōu)先級(jí)的流量控制(PFC),顯示擁塞通知(ECN),數(shù)據(jù)中心量化擁塞通知(DCQCN)和數(shù)據(jù)中心TCP連接等,這些方案并沒(méi)有完全解決擁塞問(wèn)題,如突發(fā)流量導(dǎo)致的擁塞,同時(shí)也帶來(lái)一系列新的(2)負(fù)載不均衡。在數(shù)據(jù)中心網(wǎng)絡(luò)中等價(jià)多路徑(ECMP)路由是一種典型的流量轉(zhuǎn)發(fā)負(fù)載均衡方式,它能夠保證同一數(shù)據(jù)流跨網(wǎng)絡(luò)Fabric轉(zhuǎn)發(fā)時(shí)根據(jù)特定元組信息選擇的路徑相同,不同數(shù)據(jù)流選擇的路徑根據(jù)哈希的結(jié)果選擇不同路徑,從而實(shí)現(xiàn)不同流量之間的負(fù)載均衡和更高的帶寬利用率。但是,當(dāng)數(shù)據(jù)中心主要流量是“大象”流和“老鼠”流時(shí),ECMP可能存在問(wèn)題了。如大數(shù)據(jù)處理和存儲(chǔ)數(shù)據(jù)同步等工作負(fù)載需在數(shù)據(jù)中心網(wǎng)絡(luò)中創(chuàng)建大量持續(xù)的數(shù)據(jù)流,這些數(shù)據(jù)流與對(duì)時(shí)延相對(duì)敏感的短期流共存。多個(gè)AllRightsReserved26“大象”流的哈希沖突會(huì)導(dǎo)致數(shù)據(jù)中心網(wǎng)絡(luò)中某些路徑上流量出現(xiàn)不均甚至擁絡(luò)高可靠性,即當(dāng)某一網(wǎng)絡(luò)路徑出現(xiàn)故障時(shí),通過(guò)協(xié)議或者網(wǎng)絡(luò)端口狀態(tài)自動(dòng)將故障路徑上的業(yè)務(wù)流量切換到其它正常路徑上。在數(shù)據(jù)中心這種Spine-Leaf的網(wǎng)絡(luò)架構(gòu)下,服務(wù)器的網(wǎng)卡如何能夠快速檢測(cè)到故障,進(jìn)而規(guī)避流量通過(guò)故障(4)不可靠傳輸。像RoCEv2這樣的網(wǎng)絡(luò)協(xié)議是基于網(wǎng)絡(luò)無(wú)損的假設(shè)而設(shè)計(jì)的。然而在數(shù)據(jù)中心網(wǎng)絡(luò)中,丟包是不可避免的。目前大部分解決方案都是通過(guò)在網(wǎng)絡(luò)設(shè)備上實(shí)現(xiàn)復(fù)雜的協(xié)議或者遙測(cè)能力,來(lái)加固網(wǎng)絡(luò)或者識(shí)別數(shù)據(jù)中心的網(wǎng)絡(luò)狀況,進(jìn)而避免應(yīng)用程序吞吐量和性能下降。如果數(shù)據(jù)包重傳發(fā)生在傳輸層,這可能會(huì)顯著提高性能。不幸的是UDP缺乏重傳機(jī)制,而TCP又過(guò)于數(shù)據(jù)中心是云計(jì)算時(shí)代最重要的基礎(chǔ)設(shè)施之一,為云提供強(qiáng)大的計(jì)算和存儲(chǔ)能力。近年來(lái)業(yè)界對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)性能以及虛擬化能力的需求日益增長(zhǎng),并伴隨著后摩爾時(shí)代的到來(lái),傳統(tǒng)的以CPU為中心的計(jì)算機(jī)體系結(jié)構(gòu),其計(jì)算能力已經(jīng)無(wú)法支撐網(wǎng)絡(luò)帶寬的增長(zhǎng)速度,會(huì)造成網(wǎng)絡(luò)擁塞,以單節(jié)點(diǎn)能力為上限的資源分配方式無(wú)法滿足云資源需求,運(yùn)維成本和影響也日益增加,主要表現(xiàn)●以計(jì)算為中心的數(shù)據(jù)中心,所有數(shù)據(jù)都需要先被送到CPU。CPU的計(jì)算包含了應(yīng)用的計(jì)算,通信的計(jì)算和存儲(chǔ)的計(jì)算等,每一類計(jì)算都需要獨(dú)占AllRightsReserved27●以CPU為中心的計(jì)算機(jī)體系結(jié)構(gòu),通過(guò)內(nèi)部系統(tǒng)總線的通信方式,單節(jié)點(diǎn)服務(wù)器上的總線能力和PCIe插槽的數(shù)量是固定的,導(dǎo)致單節(jié)點(diǎn)上支持的專加速卡等無(wú)法被其它節(jié)點(diǎn)使用,這也導(dǎo)致了專用算力資源無(wú)法按需擴(kuò)展,預(yù)●在運(yùn)維方面,由于單節(jié)點(diǎn)上資源是耦合的,故障維修需對(duì)節(jié)點(diǎn)斷電,使鑒于當(dāng)前以計(jì)算為中心的數(shù)據(jù)中心體系中所存在的局限,一個(gè)宏觀趨勢(shì)是數(shù)據(jù)中心的體系架構(gòu)將會(huì)從以計(jì)算為中心轉(zhuǎn)向以數(shù)據(jù)為中心。后者相對(duì)于前者具有顯著的優(yōu)勢(shì)。以CPU為中心的通信場(chǎng)景里,由于數(shù)據(jù)轉(zhuǎn)發(fā)都需要經(jīng)過(guò)CPU(如虛擬機(jī)場(chǎng)景——CPU收包轉(zhuǎn)給CPU,大數(shù)據(jù)場(chǎng)景——CPU收包轉(zhuǎn)給GPUCPU的處理時(shí)延通常會(huì)比較高,約30至40微秒,另外,由于CPU數(shù)據(jù)轉(zhuǎn)發(fā)能力和CPU數(shù)量的限制,會(huì)在數(shù)據(jù)通道上成為系統(tǒng)的瓶頸,使得虛擬機(jī)CPU或者GPU的算力無(wú)法釋放,甚至在觸及性能瓶頸時(shí)出現(xiàn)嚴(yán)重的丟包現(xiàn)象,進(jìn)一步惡化網(wǎng)絡(luò)傳輸。以數(shù)據(jù)為中心的架構(gòu),數(shù)據(jù)轉(zhuǎn)發(fā)通道不再需要CPU參與,DPU智能網(wǎng)卡可以直接將數(shù)據(jù)送達(dá)GPU和虛擬機(jī)CPU,不需要基于CPU的軟件轉(zhuǎn)發(fā),時(shí)延上可以提升到3至4微秒,典型的通信時(shí)延可以從30至40微妙降低到3至4微妙,有近10倍的性能提升。另外,由于DPU智能網(wǎng)卡硬件線速轉(zhuǎn)AllRightsReserved28(1)分散(Disaggreggaed)的計(jì)算架構(gòu)。計(jì)算結(jié)構(gòu)內(nèi)部資源不是緊耦合。通過(guò)DPU智能網(wǎng)卡提供的網(wǎng)絡(luò)能力,對(duì)系統(tǒng)總線數(shù)據(jù)做轉(zhuǎn)換傳輸、延伸和分發(fā),使得CPU、GPU、存儲(chǔ)和加速器等可以在不同的位置或物理機(jī)上,通過(guò)數(shù)(2)虛擬化資源池(ResourcePooling)。以降低TCO為目的,對(duì)CPU、GPU、存儲(chǔ)和加速器等資源按需分配,同時(shí)降低資源維護(hù)和管理調(diào)度的復(fù)雜度,集中的資源池化勢(shì)在必行。同時(shí),通過(guò)虛擬化資源池的方式向用戶提供各(3)可伸縮性(Scalability)。資源池化后,資源的維護(hù)和管理更容易,整(4)可組合性(Composability)。數(shù)據(jù)中心的網(wǎng)絡(luò)能力使得服務(wù)資源的接入更加靈活。對(duì)于新加入資源池的資源(如專用FPGA加速器),可以通過(guò)對(duì)DPU智能網(wǎng)卡做軟件定義網(wǎng)絡(luò),打通數(shù)據(jù)中心的數(shù)據(jù)傳輸通路,讓新加入的資AllRightsReserved29傳統(tǒng)云計(jì)算基礎(chǔ)設(shè)施可組合,池化的,可伸縮的分散(計(jì)算)基礎(chǔ)設(shè)施?總線通信CPU瓶頸問(wèn)題?總線擴(kuò)展的問(wèn)題?維護(hù)需停機(jī)?資源伸縮性差?加速器加速器加速器加速器為了滿足“數(shù)據(jù)為中心”的設(shè)計(jì)理念,本節(jié)給出一個(gè)通用的DPU參考設(shè)計(jì)。目前DPU架構(gòu)的演化比較快,DPU既可以呈現(xiàn)為一個(gè)被動(dòng)設(shè)備作為CPU的協(xié)處理器,也可以作為一個(gè)主動(dòng)設(shè)備,承接Hypervisor的一些功能。尤其是容器技術(shù)、虛擬化技術(shù)的廣泛采用,DPU的角色已經(jīng)不僅僅是一個(gè)協(xié)處理器,而是呈現(xiàn)出更多的HOST的特征,比如運(yùn)行Hypervisor,做跨節(jié)點(diǎn)的資源整合,為裸金屬和虛擬機(jī)提供虛擬網(wǎng)絡(luò),數(shù)據(jù)安全,熱遷移等支撐。宏觀來(lái)看,DPU架構(gòu)AllRightsReserved30負(fù)責(zé)管理、配置,通常由通用處理器核來(lái)實(shí)現(xiàn)??刂破脚_(tái)負(fù)責(zé)DPU設(shè)備運(yùn)行管理,以及計(jì)算任務(wù)和計(jì)算資源的配置。運(yùn)行管理通常包含設(shè)備的安全管理和實(shí)時(shí)監(jiān)控兩個(gè)主要功能。在安全管理方面支持支持如信任根、安全啟動(dòng)、安全固件升級(jí)以及基于身份驗(yàn)證的容器和應(yīng)用的生命周期管理等。在設(shè)備實(shí)時(shí)監(jiān)控方面,對(duì)DPU各子系統(tǒng)、數(shù)據(jù)平面中各處理核動(dòng)態(tài)監(jiān)測(cè),實(shí)時(shí)觀察設(shè)備是否可用、設(shè)備中流量是否正常,周期性生成報(bào)表,記錄設(shè)備訪問(wèn)日志核配置修改計(jì)算任務(wù)和計(jì)算資源配置方面,根據(jù)計(jì)算任務(wù)實(shí)施配置數(shù)據(jù)平面中處理單元間的通路,以及各處理單元參數(shù)。根據(jù)資源利用情況實(shí)時(shí)進(jìn)行任務(wù)調(diào)度以及在計(jì)算單元的映射和部署。同時(shí)DPU上層同時(shí)會(huì)支持多個(gè)虛擬機(jī),控制平面在任務(wù)部署時(shí)還要進(jìn)行虛擬設(shè)備的管理,考慮虛擬機(jī)間數(shù)據(jù)和資源隔離,記錄運(yùn)行狀態(tài)協(xié)助虛擬機(jī)熱遷移。最后,當(dāng)DPU集成第三方計(jì)算平臺(tái),如G由于控制平面任務(wù)多樣,靈活性要求較高,算力要求較低,通常由通用處理器核來(lái)實(shí)現(xiàn),比如ARM、MIPS等核心。為便于用戶統(tǒng)一管理和配置DPU設(shè)AllRightsReserved31備,提供較好的可編程性,通常會(huì)運(yùn)行標(biāo)準(zhǔn)Linux應(yīng)用程序。并且控制平面與數(shù)據(jù)平面數(shù)據(jù)交互驅(qū)動(dòng)程序需要進(jìn)行深度優(yōu)化,來(lái)提升控制平面與數(shù)據(jù)平面有效(1)系統(tǒng)IO,負(fù)責(zé)DPU和其他處理平臺(tái)(如X86、ARM處理器、GPU、FPGA等)或高速外部設(shè)備(如SSD)的集成。系統(tǒng)IO通常傳輸數(shù)據(jù)量較大對(duì)帶寬有著極高的要求,因此多基于PCIe來(lái)實(shí)現(xiàn)。系統(tǒng)IO接口分為兩大類:EPEP類接口負(fù)責(zé)將DPU作為從設(shè)備與X86、ARM等處理平臺(tái)相連接。為了充分利用DPU上的內(nèi)部資源,此類接口要支持強(qiáng)大的硬件設(shè)備虛擬化功能,比如SR-IOV和VirtIO。并且可以靈活地支持多種類型的設(shè)備,如NIC、Storage、RC類接口負(fù)責(zé)將DPU作為主設(shè)備與加速平臺(tái)(如GPU、FPGA)或外設(shè)(SSD)相連接。通過(guò)此種方式將部分?jǐn)?shù)據(jù)處理卸載到第三方加速平臺(tái)GPU、(2)網(wǎng)絡(luò)IO,負(fù)責(zé)DPU與高速網(wǎng)絡(luò)相連接,主要是以太網(wǎng)或者FC為主。為了能應(yīng)對(duì)急劇增加的網(wǎng)絡(luò)帶寬,DPU中通常輔以專門的網(wǎng)絡(luò)協(xié)議處理核來(lái)加速網(wǎng)絡(luò)包的處理。包括L2/L3/L4層的ARP/IP/TCP/UDP網(wǎng)絡(luò)協(xié)議處理、RDMA、數(shù)據(jù)包交換協(xié)議、基本網(wǎng)絡(luò)虛擬化協(xié)議等,可以實(shí)現(xiàn)100G以上的網(wǎng)絡(luò)(3)主存IO,負(fù)責(zé)緩存網(wǎng)絡(luò)IO和系統(tǒng)IO輸入輸出數(shù)據(jù),以及數(shù)據(jù)平面中間數(shù)據(jù)結(jié)果。也可作為共享內(nèi)存,實(shí)現(xiàn)不同處理核之間的數(shù)據(jù)通信。目前主存IO主要包含DDR和HBM接口類型,兩類接口,DDR可以提供比較大的存儲(chǔ)容AllRightsReserved32量,可以提供512GB以上的存儲(chǔ)容量;HBM可以提供比較大的存儲(chǔ)帶寬,可以提供500GB/s以上的帶寬。兩種存儲(chǔ)接口相結(jié)合可以滿足不同主要負(fù)責(zé)高速數(shù)據(jù)通路的功能單元的集成,通常集成多個(gè)處理核。數(shù)據(jù)平1)高速數(shù)據(jù)包處理,主要對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行如OvS(開(kāi)放式虛擬交換機(jī))解析、匹配和處理,以及RDMA遠(yuǎn)程數(shù)據(jù)傳輸加速等操作,和之前的網(wǎng)絡(luò)處理器NP功能類似,但是在性能上有更高的要求,處理帶寬線速要達(dá)到100G、200G甚至400G。同時(shí),在進(jìn)行有狀態(tài)數(shù)據(jù)處理時(shí)也有著更高的要求,如2)虛擬化協(xié)議加速,支持SR-IOV、VirtIO和PV(Para-Virtualization)等虛擬化。支持網(wǎng)絡(luò)虛擬化VxLAN、Genev3)安全加密,在線IPSec和TLS加密加速,以及多種標(biāo)準(zhǔn)加解密算法和國(guó)密算法。并且對(duì)于安全算法的處理性能有較高的要求,要達(dá)到網(wǎng)絡(luò)線速,從而不4)流量壓縮,對(duì)網(wǎng)絡(luò)數(shù)據(jù)包,或者要存儲(chǔ)的數(shù)據(jù),進(jìn)行實(shí)時(shí)地?cái)?shù)據(jù)壓縮/解壓縮處理,壓縮過(guò)程中還要完成地址的轉(zhuǎn)換和重映射等操作。或者在線完成數(shù)據(jù)流變換處理,如面向多媒體流、CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))和4K/8KIP視頻的5)其他算法加速。除了上述網(wǎng)絡(luò)、安全協(xié)議外還要支持NVMe等存儲(chǔ)協(xié)AllRightsReserved33數(shù)據(jù)平面是整個(gè)DPU設(shè)計(jì)的關(guān)鍵,也是DPU設(shè)計(jì)中最有挑戰(zhàn)的模塊。主要1)數(shù)據(jù)中心的工作負(fù)載復(fù)雜多樣,數(shù)據(jù)平不僅包括網(wǎng)絡(luò)、存儲(chǔ)、安全和虛擬化等基礎(chǔ)設(shè)施服務(wù),另外業(yè)務(wù)相關(guān)的處理也2)高并發(fā)性數(shù)據(jù)處理,數(shù)據(jù)中心承載的業(yè)務(wù)多且復(fù)雜,多虛擬機(jī)多種類業(yè)務(wù)并發(fā)要求數(shù)據(jù)平面集成足夠數(shù)量的核心,規(guī)模要達(dá)到幾百個(gè)核心規(guī)模。隨著數(shù)據(jù)中心數(shù)據(jù)量的不斷增加,對(duì)處理性能提出越來(lái)越多的挑戰(zhàn),DPU數(shù)據(jù)平面3)復(fù)雜的片上互聯(lián)系統(tǒng),隨著DPU數(shù)據(jù)平面處理核數(shù)量的增加,再加之高并發(fā)處理線程運(yùn)行,同時(shí)還要兼顧好數(shù)據(jù)平面數(shù)據(jù)處理的靈活,這就要求處理核之間的數(shù)據(jù)交互既要靈活又要兼顧高帶寬。處理核之間的數(shù)據(jù)互聯(lián),以及核4)高效簡(jiǎn)易的編程方式,數(shù)據(jù)中心業(yè)務(wù)的復(fù)雜多變決定了DPU數(shù)據(jù)平臺(tái)可編程性的硬性需求。一方面要兼顧計(jì)算效率,必須直觀表達(dá)出并發(fā)處理任務(wù),充分利用計(jì)算資源。另一方面要兼顧DPU的易用性,盡量采用高級(jí)語(yǔ)言進(jìn)行編總之,DPU數(shù)據(jù)平面需要一種大規(guī)模敏捷異構(gòu)的計(jì)算架構(gòu)。這一部分的實(shí)現(xiàn)也處在“百家爭(zhēng)鳴”的階段,各家的實(shí)現(xiàn)方式差別較大,有基于通用處理器核的方式,有基于可編程門陣列FPGA的方式,也有基于異構(gòu)眾核的方式,還有AllRightsReserved34(1)算力卸載。將存儲(chǔ)協(xié)議和安全協(xié)議的封裝與解封裝等不適合CPU做的(2)虛擬網(wǎng)絡(luò)控制面隔離。DPU需要獨(dú)立的網(wǎng)絡(luò)控制平面(3)主機(jī)側(cè)總線通信的延展。在分散的計(jì)算架構(gòu)中,連接不同式將從原來(lái)的系統(tǒng)總線承載,轉(zhuǎn)變成總線——網(wǎng)絡(luò)——總線的方式,DPU不僅(4)網(wǎng)絡(luò)側(cè)無(wú)損網(wǎng)絡(luò)傳輸。網(wǎng)絡(luò)側(cè)提供針對(duì)Incast流量模型和“大象”流影響的擁塞控制機(jī)制和增強(qiáng)的負(fù)載均衡能力,降低長(zhǎng)尾時(shí)延,提供更可靠更高(5)精細(xì)化的測(cè)量和故障檢測(cè)能力。精細(xì)化的流量測(cè)量支撐精AllRightsReserved35網(wǎng)絡(luò)功能卸載是伴隨云計(jì)算網(wǎng)絡(luò)而產(chǎn)生的,主要是對(duì)云計(jì)算主機(jī)上的虛擬交換機(jī)的能力做硬件卸載,從而減少主機(jī)上消耗在網(wǎng)絡(luò)上的CPU算力,提高可ComputeComputeVM……VMVM……VM虛擬交換機(jī)NICNICFabricNetwork目前除了公有云大廠采用自研云平臺(tái),絕大部分私有云廠商都使用開(kāi)源的OpenStack云平臺(tái)生態(tài)。在OpenStack云平臺(tái)中,虛擬交換機(jī)通常是OpenvSwitch,承擔(dān)著云計(jì)算中網(wǎng)絡(luò)虛擬化的主要工作,負(fù)責(zé)虛擬機(jī)(VM)與同主機(jī)上虛擬機(jī)(VM)、虛擬機(jī)(VM)與其它主機(jī)上虛擬機(jī)(VM)、虛擬機(jī)(VM)與外部的網(wǎng)絡(luò)通信。虛擬交換機(jī)與網(wǎng)關(guān)路由器(GW)通常由同一SDN控制器來(lái)管理控制,為租戶開(kāi)通VPC網(wǎng)絡(luò)以及和外部通信的網(wǎng)絡(luò)。主機(jī)與主機(jī)間的網(wǎng)絡(luò)通常是Underlay網(wǎng)絡(luò),是由TOR/EOR構(gòu)建的Spine-Leaf結(jié)構(gòu)的FabricNetwork。虛擬機(jī)(VM)與虛擬機(jī)(VM)通信的網(wǎng)絡(luò)是Overlay網(wǎng)絡(luò),是承載在AllRightsReserved36Underlay網(wǎng)絡(luò)構(gòu)建的VxLAN,NVGRE或Geneve隧道之上的。通常VxLAN,NVGRE或Geneve的隧道端點(diǎn)(VTEP)在虛擬交換機(jī)和網(wǎng)關(guān)路由器(GW)上。也有部分對(duì)網(wǎng)絡(luò)性能要求比較高的場(chǎng)景,采用SR-IOV替代虛擬交換機(jī),VF直通到虛擬機(jī)(VM)內(nèi)部,這樣就要求隧道端點(diǎn)(VTEP)部署在TOR上,TOR與網(wǎng)關(guān)路由器(GW)創(chuàng)建隧道,提供Overlay網(wǎng)絡(luò)服務(wù)。虛擬交換機(jī)的場(chǎng)景是最通用的應(yīng)用場(chǎng)景,所以,虛擬交換機(jī)的技術(shù)迭代也直接影響著虛擬化網(wǎng)行業(yè)內(nèi)主流的Hypervisor主要有Linux系統(tǒng)下的KVM-Qemu,VMWare的ESXi,微軟Azure的Hyper-V,以及亞馬遜早期用的Xen(現(xiàn)在亞馬遜已經(jīng)轉(zhuǎn)向KVM-Qemu)。KVM-Qemu有著以Redhat為首在持續(xù)推動(dòng)的更好的開(kāi)源生態(tài),在KVM-Qemu這個(gè)Hypervisor的開(kāi)源生態(tài)里,與網(wǎng)絡(luò)關(guān)系最緊密的標(biāo)準(zhǔn)協(xié)議包括virtio和vhost,以及vhost衍生出來(lái)的vhost-vdpa。Virtio在KVM-Qemu中定義了一組虛擬化I/O設(shè)備,和對(duì)應(yīng)設(shè)備的共享內(nèi)存的通信方法,配合后端協(xié)議vhost和vhost-vdpa使用,使虛在虛擬化網(wǎng)絡(luò)的初期,以打通虛擬機(jī)(VM)間和與外部通信能力為主,對(duì)功能訴求遠(yuǎn)高于性能,虛擬交換機(jī)OVS(OpenvSwitch)的最初版本也作系統(tǒng)Linux內(nèi)核轉(zhuǎn)發(fā)來(lái)實(shí)現(xiàn)的。vhost協(xié)議作為控制平面,由Qemu做代理與主機(jī)kernel內(nèi)的vhost-net通信,主機(jī)內(nèi)核vhost-net作為virtio的backend,與虛擬機(jī)間和虛擬機(jī)(VM)與外部的通信能力,但是內(nèi)核轉(zhuǎn)發(fā)效率和吞吐量都很低。目AllRightsReserved37另外,英特爾和Linux基金會(huì)推出了DPDK(DataPlaneDevelopmentKit)開(kāi)源項(xiàng)目,實(shí)現(xiàn)了用戶空間直接從網(wǎng)卡收發(fā)數(shù)據(jù)報(bào)文并進(jìn)行多核快速處理的開(kāi)發(fā)庫(kù),虛擬交換機(jī)OVS將數(shù)據(jù)轉(zhuǎn)發(fā)平面通過(guò)DPDK支持了用戶空間的數(shù)據(jù)轉(zhuǎn)發(fā),進(jìn)而實(shí)現(xiàn)了轉(zhuǎn)發(fā)帶寬量級(jí)的提升。OVS-DPDK通過(guò)將virtio的backend實(shí)現(xiàn)在用戶空間,實(shí)現(xiàn)了虛擬機(jī)(VM)與用戶空間OVS-DPDK的共享內(nèi)存,這樣虛擬機(jī)(VM)在收發(fā)報(bào)文時(shí),只需要OVS-DPDK將從網(wǎng)卡收到的報(bào)文數(shù)據(jù)寫入虛擬機(jī)(VM)的內(nèi)存,或從虛擬機(jī)(VM)內(nèi)存將要發(fā)送的報(bào)文拷貝到網(wǎng)卡DMA的內(nèi)存,由于減少了內(nèi)存拷貝次數(shù)和CPU調(diào)度干擾,提升了轉(zhuǎn)發(fā)通道的整體效率和控制面GuestGuestOSVQvhost-net驅(qū)動(dòng)VQovsdb-servervirtio控制面vhost-netvhost-net設(shè)備QEMUvhost-user協(xié)議OVS-DPDKVQvhost-libraryVQOVS二層轉(zhuǎn)發(fā)OVS二層轉(zhuǎn)發(fā)4Ajourneytothevhost-usersrealm/en/blog/journey-vhost-users-realmAllRightsReserved38OVS-DPDK相對(duì)轉(zhuǎn)發(fā)能力有所提高,但也存在新的問(wèn)題。首先,目前大多數(shù)服務(wù)器都是NUMA(多CPU)結(jié)構(gòu),在跨NUMA轉(zhuǎn)發(fā)時(shí)性能要比同NUMA轉(zhuǎn)發(fā)弱。而物理網(wǎng)卡只能插在一個(gè)PCIe插槽上,這個(gè)插槽只會(huì)與一個(gè)NUMA存在親和性,所以O(shè)VS-DPDK上跨NUMA轉(zhuǎn)發(fā)的流量不可避免。第二,在虛擬機(jī)(VM)與OVS-DPDK共享內(nèi)存時(shí),初始化的隊(duì)列數(shù)量通常是與虛擬機(jī)(VM)的CPU個(gè)數(shù)相同,才能保證虛擬機(jī)上每一個(gè)CPU都可以通過(guò)共享內(nèi)存收發(fā)數(shù)據(jù)包,這樣導(dǎo)致不同規(guī)格的虛擬機(jī)(VM)在OVS-DPDK上收發(fā)隊(duì)列所接入的CPU是非對(duì)稱的,在轉(zhuǎn)發(fā)過(guò)程中需要跨CPU轉(zhuǎn)發(fā)數(shù)據(jù)。最后,OVS-DPDK在轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),不同虛擬機(jī)(VM)的流量由于CPU瓶頸導(dǎo)致?lián)砣?,?huì)隨機(jī)丟包,無(wú)法保在一些對(duì)網(wǎng)絡(luò)有高性能需求的場(chǎng)景,如NFV業(yè)務(wù)部署,OVS-DPDK的數(shù)據(jù)轉(zhuǎn)發(fā)方式,無(wú)法滿足高性能網(wǎng)絡(luò)的需求,這樣就引入的SR-IOV透?jìng)髟赟RIOVpassthrough的場(chǎng)景下,虛擬機(jī)(VM)可以獲得與裸金屬主機(jī)上相(1)SRIOVVFpassthrough到VM后,VM的遷移性會(huì)受限,主要原因在于SRIOV這種passthroughI/O借助了IntelCPUVT-d(VirtualizationTechnologyforDirectedI/O)或AMD的IOMMU(I/OMemoryManagementUnit)技術(shù),在VM上VF網(wǎng)卡初始化的時(shí)候,建立了Guest虛擬地址到Host物理地址的映射表,所以(2)由于SRIOVVFpassthrough到VM,而SRIOVPF直接連接到TOR上,在這種部署環(huán)境中虛擬機(jī)(VM)對(duì)外的網(wǎng)絡(luò)需要自定義,如需要像OVS-DPDK那樣自動(dòng)開(kāi)通網(wǎng)絡(luò),則需要將TOR加入SDN控制器的管理范疇,由SDN控制器AllRightsReserved39針對(duì)上面第二個(gè)問(wèn)題,Mellanox最早提出在其智能網(wǎng)卡上支持OVSFastpath硬件卸載,結(jié)合SRIOVVFpassthrough到VM一起使用,提供臨近線速轉(zhuǎn)發(fā)的網(wǎng)控制面ovsdb-server廠商VF驅(qū)動(dòng)OVS控制面OVS數(shù)據(jù)面QEMUOVS-DPDKovs-vswitchdPF智能網(wǎng)卡eth0在OVSFastpath卸載后,OVS轉(zhuǎn)發(fā)報(bào)文時(shí),數(shù)據(jù)流首包仍然做軟件轉(zhuǎn)發(fā),在轉(zhuǎn)發(fā)過(guò)程中生成Fastpath轉(zhuǎn)發(fā)流表并配置到硬件網(wǎng)卡上,這個(gè)數(shù)據(jù)流的后續(xù)報(bào)文則通過(guò)硬件直接轉(zhuǎn)發(fā)給虛擬機(jī)(VM)。由于早期的Mellanox智能網(wǎng)卡還沒(méi)有集為了解決高性能SRIOV網(wǎng)絡(luò)的熱遷移問(wèn)題,出現(xiàn)了很多做法和嘗試,尚未形成統(tǒng)一的標(biāo)準(zhǔn)。在Redhat提出硬件vDPA架構(gòu)之前,Mellanox實(shí)現(xiàn)了軟件vDPA(即VFRelay)。理論上講,Mellanox的軟件vDPA并不能算是vDPA,其實(shí)就是將數(shù)據(jù)在用戶空間的virtio隊(duì)列和VF的接收隊(duì)列做了一次數(shù)據(jù)Relay。Redhat提出AllRightsReserved40的硬件vDPA架構(gòu),目前在DPDK和內(nèi)核程序中均有實(shí)現(xiàn),基本是未來(lái)的標(biāo)準(zhǔn)架構(gòu)。Qemu支持兩種方式的vDPA,一種是vhost-user,配合DPDK中的vDPA運(yùn)行,DPDK再調(diào)用廠商用戶態(tài)vDPA驅(qū)動(dòng);另一種方式是vhost-vdpa,通過(guò)ioctl調(diào)過(guò)virtio轉(zhuǎn)發(fā)給虛擬機(jī)(VM),如Mellanox在OVS-DPDK實(shí)現(xiàn)了這個(gè)relay,OVS流表由硬件卸載加速,性能上與SR-IOVVF直通(passthrough)方式比略有降通信。由于控制面復(fù)雜,所以用硬件難以實(shí)現(xiàn)。廠商自己開(kāi)發(fā)驅(qū)動(dòng),對(duì)接到用戶空間DPDK的vDPA和內(nèi)核vDPA架構(gòu)上,可以實(shí)現(xiàn)硬件vDPA。目前Mellanox控制面GuestGuestOSovsdb-serverVQvirtio驅(qū)動(dòng)VQvirtio控制面OVS控制面OVSvirtio控制面QEMUvhost-net設(shè)備QEMUvhost-user協(xié)議vDPAvDPAControl廠家vDPA驅(qū)動(dòng)ovs-vswitchd驅(qū)動(dòng)消息virtio-netvirtio-netvirtio-netvirtio-netVQFlowoffloadVQOVSFastpatheth0eth0AllRightsReserved41在硬件vDPA場(chǎng)景下,通過(guò)OVS轉(zhuǎn)發(fā)的流量首包依然由主機(jī)上的OVS轉(zhuǎn)發(fā)平后來(lái)在Blue?eld-2上,由于集成了ARM核,所以NVIDIA在與UCloud的合作中,將OVS的控制面也完全卸載到網(wǎng)卡到ARM核上,這樣主機(jī)上就可以將OVS伴隨著越來(lái)越多的業(yè)務(wù)上云,一些原來(lái)運(yùn)行在專用設(shè)備或者特定主機(jī)上的網(wǎng)絡(luò)產(chǎn)品也開(kāi)始重視上云后的按需擴(kuò)縮容能力,所以出現(xiàn)了網(wǎng)路功能虛擬化(NFV)產(chǎn)品。NFV產(chǎn)品主要以虛擬機(jī)(VM)或者容器(Container)的形態(tài)部署到云計(jì)算平臺(tái)上,對(duì)外提供對(duì)應(yīng)的網(wǎng)絡(luò)功能,如LoadBalance,F(xiàn)irewall,NAT,vRouter,DPI和5G邊緣計(jì)算UPF等。這些NFV產(chǎn)品之前全部基于DPDK在X86CPU上運(yùn)行,由于CPU算力上限問(wèn)題,通常難以提供對(duì)應(yīng)網(wǎng)絡(luò)帶寬的吞5G垂直行業(yè)對(duì)5G網(wǎng)絡(luò)提出了更高的要求,如大帶寬,高可靠,低時(shí)延,低邊緣網(wǎng)絡(luò),交互式VR/AR在大帶寬的要求下,還需要低時(shí)延,從而提高業(yè)務(wù)的用戶體驗(yàn);而車路協(xié)同系統(tǒng)等,對(duì)高可靠和低時(shí)延低抖動(dòng)的要求更高,這是保障車路協(xié)同能夠?qū)崟r(shí)做出正確決策的關(guān)鍵;一些工業(yè)控制實(shí)時(shí)自動(dòng)化應(yīng)用,也是要求視頻數(shù)據(jù)實(shí)時(shí)傳輸?shù)椒?wù)端,并通過(guò)視頻識(shí)別等功能實(shí)時(shí)做出控制指令下發(fā)等等。這些典型的應(yīng)用,都對(duì)邊緣計(jì)算中5GUPF提出了更嚴(yán)苛的要求。在5G邊緣計(jì)算中,未來(lái)的主要應(yīng)用場(chǎng)景包括:增強(qiáng)型視頻服務(wù),監(jiān)測(cè)與追蹤類服務(wù),實(shí)時(shí)自動(dòng)化,智能監(jiān)控,自動(dòng)機(jī)器人,危險(xiǎn)和維護(hù)傳感,增強(qiáng)現(xiàn)實(shí),網(wǎng)聯(lián)車輛和遠(yuǎn)程操控等。對(duì)應(yīng)的5G技術(shù)指標(biāo)和特征也比較明顯。首先,超AllRightsReserved42大帶寬(eMBB,EnhancedMobileBroadband)要求單用戶峰值帶寬可達(dá)20Gbps,用戶體驗(yàn)數(shù)據(jù)速率在100Mbps;其次,超密連接(mMTC,MassiveMachineTypeCommunication)要求每平方公里設(shè)備數(shù)量在10k到1M個(gè)終端,流量密度10Mbps每平方米;最后,超低時(shí)延(uRLLC,UltraReliableLowLatencyCommunication)要求時(shí)延在1~10超大帶寬峰值速率20Gbps用戶體驗(yàn)超密連接連接密度Devices/km2連接密度流量密度10Mbps/m2超低時(shí)延可靠性99.999%可靠性(ofpackets)網(wǎng)絡(luò)云化網(wǎng)絡(luò)云化化與彈性調(diào)節(jié)多切片適應(yīng)企業(yè)各種任務(wù)分布式+邊緣計(jì)算確保低時(shí)延與業(yè)務(wù)一致性安全強(qiáng)用戶認(rèn)證,用戶傳統(tǒng)的5GUPF通常由軟件實(shí)現(xiàn),運(yùn)行在X86CPU上,雖然在吞吐過(guò)增加CPU來(lái)實(shí)現(xiàn)更大能力,但是,時(shí)延和抖動(dòng)通常都會(huì)比較高,很難穩(wěn)定支撐低時(shí)延低抖動(dòng)業(yè)務(wù)。對(duì)于超大帶寬,超低時(shí)延的需求,這類數(shù)據(jù)轉(zhuǎn)發(fā)業(yè)務(wù)更5GUPF業(yè)務(wù)模型復(fù)雜,需要選擇性卸載轉(zhuǎn)發(fā),將高可靠低時(shí)延低抖動(dòng)業(yè)務(wù)要求的用戶會(huì)話卸載到硬件中。如圖3-5所示,數(shù)據(jù)流首包通過(guò)軟件轉(zhuǎn)發(fā),然后將對(duì)應(yīng)的流表卸載到智能網(wǎng)卡,后續(xù)報(bào)文通過(guò)智能網(wǎng)卡硬件轉(zhuǎn)發(fā),這樣可以在5G邊緣計(jì)算中,提供低時(shí)延低抖動(dòng)和超大帶寬網(wǎng)絡(luò)能力的同時(shí),還能降低邊緣AllRightsReserved43管理面Anchor5G核心網(wǎng)管理面AnchorMANOEMS云管平臺(tái)PCFUDMNEFAFAMFSMFNRFNSSF服務(wù)器InternetAnchorOffloadTOR/EORApp服務(wù)器 企業(yè)PCFUDMNEFAFAMFSMFNRFNSSF服務(wù)器InternetAnchorOffloadTOR/EORApp服務(wù)器 企業(yè)IT生產(chǎn)網(wǎng)絡(luò)網(wǎng)關(guān)上云網(wǎng)絡(luò) 企業(yè)辦公網(wǎng)絡(luò) 企業(yè)OT網(wǎng)絡(luò)基站用戶數(shù)據(jù)和業(yè)務(wù)接入控制DPI不論在運(yùn)營(yíng)商網(wǎng)絡(luò)還是互聯(lián)網(wǎng)數(shù)據(jù)中心,都是重要的配套設(shè)備。而且DPI功能是很多網(wǎng)絡(luò)功能產(chǎn)品的基礎(chǔ)功能,如IPS/IDS,5GUPF,DDoS防攻擊設(shè)備等,具有重要的產(chǎn)品價(jià)值。DPI具有高新建、高并發(fā)、高吞吐等特性能成為虛擬化部署的瓶頸。通過(guò)DPU智能網(wǎng)卡實(shí)現(xiàn)DPI流量卸載,性能可以55G時(shí)代?業(yè)互聯(lián)?邊緣計(jì)算?絡(luò)??書/Uploads/file/20201209AllRightsReserved44DPI應(yīng)用程序統(tǒng)計(jì)數(shù)據(jù)策略polices策略polices統(tǒng)計(jì)statisticsAction計(jì)數(shù)count識(shí)別識(shí)別timestamp解析parser過(guò)濾Filter鏡像mirroring解析parser過(guò)濾Filterclassification丟棄drop轉(zhuǎn)發(fā)數(shù)據(jù)流智能網(wǎng)卡轉(zhuǎn)發(fā)forward智能網(wǎng)卡規(guī)則,再將軟件策略下發(fā)到硬件形成對(duì)應(yīng)的動(dòng)作。這樣數(shù)據(jù)流進(jìn)入網(wǎng)卡通過(guò)打時(shí)間戳進(jìn)行硬件解析,匹配識(shí)別規(guī)則庫(kù),根據(jù)匹配的規(guī)則尋找對(duì)應(yīng)的策略,根據(jù)策略進(jìn)行計(jì)數(shù),鏡像,丟棄和轉(zhuǎn)發(fā)等行為。通云的運(yùn)維系統(tǒng)也是通過(guò)DPI功能做流日志,除云原生,從廣義上來(lái)說(shuō),是更好的構(gòu)建云平臺(tái)與云應(yīng)用的一整套新型的設(shè)計(jì)理念與方法論,而狹義上講則是以docker容器和Kubernetes(K8S)為支撐的云原生計(jì)算基金會(huì)(CNCF)技術(shù)生態(tài)堆棧的新式IT架構(gòu)。對(duì)比虛擬機(jī),容器應(yīng)用對(duì)磁盤的占用空間更小,啟動(dòng)速度更快,直接運(yùn)行在宿主機(jī)內(nèi)核上,因而無(wú)Hypervisor開(kāi)銷,并發(fā)支持上百個(gè)容器同時(shí)在線,接近宿主機(jī)上本地進(jìn)程的性AllRightsReserved45容器平臺(tái)包括容器引擎Runtime(如containerd,cri-o等),容器網(wǎng)絡(luò)接口(CNI,如calico,?annel,contiv,cilium等)和容器存儲(chǔ)接口(CSI,如EBS通常為了追求更高的性能,云原生平臺(tái)會(huì)部署在裸金屬上。如果考慮故障后更云原生對(duì)于網(wǎng)絡(luò)的需求,既有基礎(chǔ)的二三層網(wǎng)絡(luò)聯(lián)通,也有四至七層的高級(jí)網(wǎng)絡(luò)功能。二三層的網(wǎng)絡(luò)主要是實(shí)現(xiàn)K8S中的CNI接口,具體如calico,?annel,weave,contiv,cilium等。主要是支持大規(guī)模實(shí)例,快速?gòu)椥陨炜s,自服務(wù)網(wǎng)格的本質(zhì)是提供安全、可靠、靈活、高效的服務(wù)間通信。服務(wù)網(wǎng)格還提AllRightsReserved46供了一些更加高級(jí)的網(wǎng)絡(luò)功能,如有狀態(tài)的通信,路由限流,灰度流量切換,eBPF是一項(xiàng)革命性的技術(shù),可以在Linux內(nèi)核中運(yùn)行沙盒程序,而無(wú)需重新編譯內(nèi)核或者加載內(nèi)核模塊。在過(guò)去幾年,eBPF已經(jīng)成為解決以前依賴于內(nèi)核更改或者內(nèi)核模塊的問(wèn)題的標(biāo)準(zhǔn)方法。對(duì)比在Kubernetes上Iptables的轉(zhuǎn)發(fā)路徑,使用eBPF會(huì)簡(jiǎn)化其中大部分轉(zhuǎn)發(fā)步驟,提高內(nèi)核的數(shù)據(jù)轉(zhuǎn)發(fā)性能。Cilium是一個(gè)基于eBPF實(shí)現(xiàn)的開(kāi)源項(xiàng)目,提供和保護(hù)使用Linux容器管理平臺(tái)部署的應(yīng)用程序服務(wù)之間的網(wǎng)絡(luò)和API連接,以解決容器工作負(fù)載的新可伸縮性,安全性和可見(jiàn)性要求。Cilium超越了傳統(tǒng)的容器網(wǎng)絡(luò)接口(CNI),可提供服務(wù)解析,策略執(zhí)行等功能,實(shí)現(xiàn)了組網(wǎng)與安全一體化的云原生網(wǎng)絡(luò)。Cilium數(shù)據(jù)平面采用eBPF加速,能夠以Service/pod/container為對(duì)象進(jìn)行動(dòng)態(tài)地網(wǎng)絡(luò)和安全策略管理,解耦控制面等策略管理和不斷變化的網(wǎng)絡(luò)環(huán)境,具有應(yīng)用感知能力(如https,gRPC等應(yīng)用),從而實(shí)現(xiàn)對(duì)流量的精確化控制。同時(shí)它的狀態(tài)通過(guò)K-V基于eBPF的Cilium已經(jīng)被證明是Kubernetes云原生網(wǎng)絡(luò)的最佳實(shí)踐,國(guó)內(nèi)阿為進(jìn)一步提升性能,Netronome將eBPF路徑上的部分功能卸載到硬件網(wǎng)卡,如XDP和Traf?cClassi?ercls-bpf,實(shí)現(xiàn)了對(duì)于用戶無(wú)感知的eBPF卸載加速。硬件卸載的eBPF程序可以直接將報(bào)文送到任意內(nèi)核eBPF程序,eBPF中map的維eBPF程序的編譯需要在生成內(nèi)核微碼的基礎(chǔ)上,加入編譯硬件可識(shí)別的微AllRightsReserved47Istio是CNCF主推的微服務(wù)框架,實(shí)現(xiàn)了云原生四至七層網(wǎng)絡(luò)能力。Istio在數(shù)據(jù)平面通過(guò)Sidecar對(duì)流量進(jìn)行劫持,實(shí)現(xiàn)了無(wú)代碼侵入的服務(wù)網(wǎng)格??刂破矫娼M件中,pilot負(fù)責(zé)下發(fā)控制,mixer收集運(yùn)行的狀態(tài),citadel則負(fù)責(zé)安全證書方數(shù)據(jù)平面ServicegRPC和TCPAdapterAdapterAdapter下發(fā)策略給配置驗(yàn)證、提取、III分發(fā)TLS證書 Citadel在Istio中,原生的七層代理使用的是Envoy,Envoy提供了動(dòng)態(tài)服務(wù)發(fā)現(xiàn),協(xié)議。同時(shí)支持熔斷器,流量拆分,故障注入等能力和豐富的度量指標(biāo)。另外,阿里還提出了MOSN作為Istio的七層代理,這里不再介紹細(xì)節(jié)。由于引層代理后,增加數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)延。Broadcom嘗試在StingrayDPU智能網(wǎng)卡將Enovy以網(wǎng)關(guān)模式卸載到智能網(wǎng)卡的ARM核上,用了八個(gè)ARM核中的六個(gè)來(lái)做EnovyAllRightsReserved48卸載支持100G網(wǎng)卡上的流量。這種方式是否能夠適用于當(dāng)前Sidecar上代理模式ArmAppAppAppAppAppAppeSwitchOVS硬件卸載的加速方式主要由OVN-Kubernete

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論