




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
專?數(shù)據(jù)處理器(DPU)TechnicalWhitePaperofDataProcessingUnit技術??書2022DPUWhitePaperDPUWhitePaperPAGE10PAGE10?錄內容提要 7DPU技術發(fā)展概況 9什么是DPU 9DPU的發(fā)展背景 12DPU發(fā)展歷程 16DPU與CPU、GPU的關系 19DPU的產(chǎn)業(yè)化機遇 21DPU特征結構 23DPU是以數(shù)據(jù)為中?IO密集的專用處理器 23計算平臺從“計算為中?”轉向“數(shù)據(jù)為中?” 25?種DPU參考設計 29DPU具備的主要功能 34DPU應用場景 35應用場景?:?絡功能卸載 35應用場景?:存儲功能卸載 51應用場景三:安全功能卸載 55DPU軟件棧五層模型 58軟件棧開發(fā)面臨的挑戰(zhàn) 58DPU異構計算架構五層開發(fā)模型 58典型軟件框架案例 63業(yè)界產(chǎn)品概要介紹 70NVIDIABLUEFIELD 70INTELIPU(MOUNTEVANS) 73MARVELLOCTEON 77FUNGIBLEDPU 81中科馭數(shù)K2DPU 85DPU發(fā)展展望 92內容提要DPU(DataProcessingUnit)是新近發(fā)展起來的一種專用處理器。2020年NVIDIA公司發(fā)布的DPU產(chǎn)品戰(zhàn)略中將其定位為數(shù)據(jù)中心繼CPU和GPU之后的“第三顆主力芯片”,掀起了一波行業(yè)熱潮。DPU的出現(xiàn)是異構計算的一個階段性標志。與GPU的發(fā)展類似,DPU是應用驅動的體系結構設計的又一典型案例;但與GPU不同的是,DPU面向的應用更加底層,類型也更多樣。DPU要解決的核心問題是基礎設施的“降本增效”,即將“CPU處理效率低下、GPU處理不了”的負載卸載到專用DPU,提升整個計算系統(tǒng)的效率、降低整體系統(tǒng)的總體擁有成本(TCO)。新一代的DPU不僅可以作為運算的加速引擎,還具備控制平面的功能,能夠運行Hypervisor,更高效的完成網(wǎng)絡虛擬化、IO虛擬化、存儲虛擬化等任務,徹底將CPU的算力釋放給應用程序。DPU的出現(xiàn)也許是體系結構朝專用化路線發(fā)展的又一個里程碑。本白皮書將重點分析DPU產(chǎn)生的背景、技術特征、軟硬件參考架構,應用場景、并對目前已經(jīng)公布的DPU產(chǎn)品做簡要的比較分析,為后續(xù)DPU技術發(fā)展提供必要的參考。本文的大體結構如下:第一部分介紹DPU的技術發(fā)展概況,首先對DPU做了一個基本的定義,然后闡述了DPU發(fā)展的背景,并簡要介紹DPU發(fā)展的歷程,DPU在現(xiàn)有計算生態(tài)中的角色,最后以DPU的產(chǎn)業(yè)化機遇作為總結。第二部分詳細說明DPU的特征結構,對DPU的定位做了進一步闡述,然后提出一種通用的DPU的結構模型。第三部分介紹DPU的應用場景,本文總結了三大應用場景:網(wǎng)絡功能卸載、存儲功能卸載、安全功能卸載,這也是DPU目前最重要的三個應用方向。第四部分提出DPU開發(fā)的五層參考模型,包括設備層、操作層、計算引擎層、應用服務層和業(yè)務開發(fā)層,既體現(xiàn)了DPU開發(fā)過程中的軟硬協(xié)同,也充分繼承了通用軟件棧的分層結構。第五部分概要介紹目前行業(yè)的已經(jīng)發(fā)布或已經(jīng)披露的DPU產(chǎn)品,雖然其中絕大部分尚未到批量應用的階段,各個競品的優(yōu)缺點也尚未得到市場的充分驗證,但是對于后續(xù)DPU研發(fā)具有重要的參考價值。第六部分展望未來DPU發(fā)展,并作為全文的總結。DPU技術發(fā)展概況什么是DPUDPU(DataProcessingUnit)是以數(shù)據(jù)為中心構造的專用處理器,采用軟件定義技術路線支撐基礎設施層資源虛擬化,支持存儲、安全、服務質量管理等基礎設施層服務。2020年NVIDIA公司發(fā)布的DPU產(chǎn)品戰(zhàn)略中將其定位為數(shù)據(jù)中心繼CPU和GPU之后的“第三顆主力芯片”,掀起了一波行業(yè)熱潮。DPU的出現(xiàn)是異構計算的一個階段性標志。與GPU的發(fā)展類似,DPU是應用驅動的體系結構設計的又一典型案例;但與GPU不同的是,DPU面向的應用更加底層。DPU要解決的核心問題是基礎設施的“降本增效”,即將“CPU處理效率低下、GPU處理不了”的負載卸載到專用DPU,提升整個計算系統(tǒng)的效率、降低整體系統(tǒng)的總體擁有成本(TCO)。DPU的出現(xiàn)也許是體系結構朝著專用化路線發(fā)展的又一里程碑。關于DPU中“D”的解釋DPU中的“D”有三種解釋:DataProcessingUnit,即數(shù)據(jù)處理器。這種解釋把“數(shù)據(jù)”放在核心位置,區(qū)別于信號處理器、基帶處理器等通信相關的處理器對應的“信號”,也區(qū)別于GPU對應的圖形圖像類數(shù)據(jù),這里的“數(shù)據(jù)”主要指數(shù)字化以后的各種信息,特別是各種時序化、結構化的數(shù)據(jù),比如大型的結構化表格,網(wǎng)絡流中的數(shù)據(jù)包,海量的文本等等。DPU就是處理這類數(shù)據(jù)的專用引擎。DatacenterProcessingUnit,即數(shù)據(jù)中心處理器。這種解釋把數(shù)據(jù)中心作為DPU的應用場景,特別是隨著WSC(Warehouse-scaleComputer)的興起,不同規(guī)模的數(shù)據(jù)中心成為了IT核心基礎設施。目前來看,DPU確實在數(shù)據(jù)中心中使用前景非常廣闊。但是計算中心的三大部分:計算、網(wǎng)絡、存儲,計算部分是CPU占主導,GPU輔助;網(wǎng)絡部分是路由器和交換機,存儲部分是高密度磁盤構成的的RAID系統(tǒng)和SSD為代表非易失性存儲系統(tǒng)。在計算和網(wǎng)絡中扮演數(shù)據(jù)處理的芯都可以稱之為DatacenterProcessingUnit,所以這種說法相對比較片面。Data-centricProcessingUnit,即以數(shù)據(jù)為中心的處理器。Data-centric,即數(shù)據(jù)為中心,是處理器設計的一種理念,相對于“Control-centric”即控制為中心。經(jīng)典的馮諾依曼體系結構就是典型的控制為中心的結構,在馮諾依曼經(jīng)典計算模型中有控制器、計算器、存儲器、輸入和輸出,在指令系統(tǒng)中的表現(xiàn)是具有一系列非常復雜的條件跳轉和尋址指令。而數(shù)據(jù)為中心的理念與數(shù)據(jù)流(DataFow)計算一脈相承,是一種實現(xiàn)高效計算的方法。同時,現(xiàn)在試圖破訪存墻(MemoryWall)的各種近存(Near-memory)計算、存內(In-memory)計算、存算一體等技路線,也符合數(shù)據(jù)為中心的設計理念。以上三種關于“D”的解釋,從不同角度反映DPU的特征,都有一定的可取之處,筆者認為可以作為不同的三個維度來理解DPU的內涵。DPU的作用DPU最直接的作用是作為CPU的卸載引擎,接管網(wǎng)絡虛擬化、硬件資源池化等基礎設施層服務,釋放CPU的算力到上層應用。以網(wǎng)絡協(xié)議處理為例,要線速處理10G的網(wǎng)需要的大約4個XeonCPU的核,也就是說,單是做網(wǎng)絡數(shù)據(jù)包處理,就可以占去一個8核高端CPU一半的算力。如果考慮40G、100G的高速網(wǎng)絡,性能的開銷就更加難以承受了。Amazon把這些開銷都稱之為“DatacenterTax”,即還未運行業(yè)務程序,先接入網(wǎng)絡數(shù)據(jù)就要占去的計算資源。AWSNitro產(chǎn)品家族旨在將數(shù)據(jù)中心開銷(為虛擬機提供遠程資源,加密解密,故障跟蹤,安全策略等服務程序)全部從CPU卸載到Nitro加速卡上,將給上層應用釋放3%的原本用于支付“Tax”的算力!DPU可以成為新的數(shù)據(jù)網(wǎng)關,將安全隱私提升到一個新的高度。在網(wǎng)絡環(huán)境下,網(wǎng)絡接口是理想的隱私的邊界,但是加密、解密算法開銷都很大,例如國密標準的非對稱加密算法SM2、哈希算法SM3和對稱分組密碼算法SM4。如果用CPU來處理,就只能做少部分數(shù)據(jù)量的加密。在未來,隨著區(qū)塊鏈承載的業(yè)務的逐漸成熟,運行共識算法POW,驗簽等也會消耗掉大量的CPU算力。而這些都可以通過將其固化在DPU中來實現(xiàn),甚至DPU將成為一個可信根。DPU也可以成為存儲的入口,將分布式的存儲和遠程訪問本地化。隨著SSD性價比逐漸可接受,部分存儲遷移到SSD器件上已經(jīng)成為可能,傳統(tǒng)的面向機械硬盤的SATA協(xié)議并不適用于SSD存儲,所以,將SSD通過本地PCIe或高速網(wǎng)絡接入系就成為必選的技術路線。NVMe(NonVolatileMemoryExpress)就是用于接入SSD存儲的高速接口標準協(xié)議,可以通過PCIe作為底層傳輸協(xié)議,將SSD的帶寬優(yōu)勢充分發(fā)揮出來。同時,在分布式系統(tǒng)中,還可通過NVMeoverFabrics(NVMe-oF)協(xié)議擴展到In?niBand、Ethernet、或Fibrechannel節(jié)點中,以RDMA的形式實現(xiàn)存儲的共享和遠程訪問。這些新的協(xié)議處理都可以集成在DPU中以實現(xiàn)對CPU的透明處理。進而,DPU將可能承接各種互連協(xié)議控制器角色,在靈活性和性能方面達到一個更優(yōu)的平衡點。DPU將成為算法加速的沙盒,成為最靈活的加速器載體。DPU不完全是一顆固化的ASIC,在CXL、CCIX等標準組織所倡導CPU、GPU與DPU等數(shù)據(jù)一致性訪問協(xié)議的鋪墊下,將更進一步掃清DPU編程障礙,結合FPGA等可編程件,可定制硬件將有更大的發(fā)揮空間,“軟件硬件化”將成為常態(tài),異構計算的潛能將因各種DPU的普及而徹底發(fā)揮出來。在出現(xiàn)“KillerApplication”的領域都有可能出現(xiàn)與相對應的DPU,諸如傳統(tǒng)數(shù)據(jù)庫應用如OLAP、OLTP,5G邊緣計算智能駕駛V2X等等。DPU的發(fā)展背景DPU的出現(xiàn)是異構計算的又一個階段性標志。摩爾定律放緩使得通用CPU性能增長的邊際成本迅速上升,數(shù)據(jù)表明現(xiàn)在CPU的性能年化增長(面積歸一化之后)僅有3%左右1,但計算需求卻是爆發(fā)性增長,這幾乎是所有專用計算芯片得以發(fā)展的重要背景因素。以AI芯片為例,最新的GPT-3等千億級參數(shù)的超大型模型的出現(xiàn),將算力需求推向了一個新的高度。DPU也不例外。隨著2019年我國以信息網(wǎng)絡等新型基礎設施為代表的“新基建”戰(zhàn)略帷幕的拉開,5G、千兆光纖網(wǎng)絡建設發(fā)展迅速,移動互聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領域發(fā)展日新月異。云計算、數(shù)據(jù)中心、智算中心等基礎設施快速擴容。網(wǎng)絡帶寬從主流10G朝著25G、40G、100G、200G甚至400G發(fā)展。網(wǎng)絡帶寬和連接數(shù)的劇增使得數(shù)據(jù)的通路更寬、更密,直接將處于端、邊、云各處的計算節(jié)點暴露在了劇增的數(shù)據(jù)量下,而CPU的性能增長率與數(shù)據(jù)量增長率出現(xiàn)了顯著的“剪刀差”現(xiàn)象。所以,尋求效率更高的計算芯片就成為了業(yè)界的共識。DPU芯片就是在這樣的趨勢下提出的。帶寬性能增速比(RBP)失調摩爾定律的放緩與全球數(shù)據(jù)量的爆發(fā)這個正在迅速激化的矛盾通常被作為處理器專用化的大背景,正所謂硅的摩爾定律雖然已經(jīng)明顯放緩,但“數(shù)據(jù)摩爾定律”已然到來。IDC的數(shù)據(jù)顯示,全球數(shù)據(jù)量在過去10年年均復合增長率接近50%,并進一步預測每四個月對于算力的需求就會翻一倍。因此必須要找到新的可以比通用處理器帶來更快算力增長的計算芯片,DPU于是應運而生。這個大背景雖然有一定的合理性,但是還是過于模糊,并沒有回答DPU之所以新的原因是什么,是什么“量變”導致了“質變”?1HennessyJ,PattersonD.ComputerArchitecture,SixthEdition:AQuantitativeApproach,Chapter1,MorganKaufmann.2019從現(xiàn)在已經(jīng)公布的各個廠商的DPU架構來看,雖然結構有所差異,但都不約而同強調網(wǎng)絡處理能力。從這個角度看,DPU是一個強IO型的芯片,這也是DPU與CPU最大的區(qū)別。CPU的IO性能主要體現(xiàn)在高速前端總線(在Intel的體系里稱之FSB,F(xiàn)rontSideBus),CPU通過FSB連接北橋芯片組,然后連接到主存系統(tǒng)和其他高速外設(主要是PCIe設備)。目前更新的CPU雖然通過集成存儲控制器等手段弱化了北橋芯片的作用,但本質是不變的。CPU對于處理網(wǎng)絡處理的能力體現(xiàn)在網(wǎng)卡接入鏈路層數(shù)據(jù)幀,然后通過操作系統(tǒng)(OS)內核態(tài),發(fā)起DMA中斷響應,調用相應的協(xié)議解析程序,獲得網(wǎng)絡傳輸?shù)臄?shù)據(jù)(雖然也有不通過內核態(tài)中斷,直接在用戶態(tài)通過輪詢獲得網(wǎng)絡數(shù)據(jù)的技術,如Intel的DPDK,Xilinx的Onload等,但目的是降低中斷的開銷,降低內核態(tài)到用戶態(tài)的切換開銷,并沒有從根本上增強IO性能)??梢姡珻PU是通過非常間接的手段來支持網(wǎng)絡IO,CPU的前端總線帶寬也主要是要匹配主存(特別是DDR)的寬,而不是網(wǎng)絡IO的帶寬。相較而言,DPU的IO帶寬幾乎可以與網(wǎng)絡帶寬等同,例如,網(wǎng)絡支持25G,那么DPU就要支持25G。從這個意義上看,DPU繼承了網(wǎng)卡芯片的一些特征,但是不同于網(wǎng)卡芯片,DPU不僅僅是為了解析鏈路層的數(shù)據(jù)幀,而是要做直接的數(shù)據(jù)內容的處理,進行復雜的計算。所以,DPU是在支持強IO基礎上的具備強算力的芯片。簡言之,DPU是一個IO密集型的芯片;相較而言,DPU還是一個計算密集型芯片。進一步地,通過比較網(wǎng)絡帶寬的增長趨勢和通用CPU性能增長趨勢,能發(fā)現(xiàn)一個有趣的現(xiàn)象:帶寬性能增速比(RBP,RatioofBandwidthandPerformancegrwthrate)失調。RBP定義為網(wǎng)絡帶寬的增速比上CPU性能增速,即RBP=BWGR/Perf.R如圖1-1所示,以Mellanox的ConnectX系列網(wǎng)卡帶寬作為網(wǎng)絡IO的案例,以Intel的系列產(chǎn)品性能作為CPU的案例,定義一個新指標“帶寬性能增比”來反應趨勢的變化。圖1-1帶寬性能增速?(RBP)失調2010年前,網(wǎng)絡的帶寬年化增長大約是30%,到2015年微增到35%,然后在近年達到45%。相對應的,CPU的性能增長從10年前的23%,下降到12%,并在近年直接降低到3%。在這三個時間段內,RBP指標從1附近,上升到3,并在近年超過了10!如果在網(wǎng)絡帶寬增速與CPU性能增速近乎持平,RGR~1,IO壓力尚未顯現(xiàn)出來,那么當目前RBP達到10倍的情形下,CPU幾乎已經(jīng)無法直接應對網(wǎng)絡帶寬的增速。RBP指標在近幾年劇增也許是DPU終于等到機會“橫空出世”的重要原因之一。異構計算發(fā)展趨勢的助?DPU首先作為計算卸載的引擎,直接效果是給CPU“減負”。DPU的部分功能可以早期的TOE(TCP/IPOf?oadingEngine)中看到。正如其名,TOE就是將CPU的處理TCP協(xié)議的任務“卸載”到網(wǎng)卡上。傳統(tǒng)的TCP軟件處理方式雖然層次清晰,但也逐漸成為網(wǎng)絡帶寬和延遲的瓶頸。軟件處理方式對CPU的占用,也影響了CPU處理其他應用的性能。TCP卸載引擎(TOE)技術,通過將TCP協(xié)議和IP協(xié)議的處理進程交由網(wǎng)絡接口控制器進行處理,在利用硬件速為網(wǎng)絡延和帶寬帶來提升的同時,顯著降低了CPU處理協(xié)議的壓力。具體有三個方面的優(yōu)化:1)隔離網(wǎng)絡中斷,2)降低內存數(shù)據(jù)拷貝量,3)協(xié)議解析硬件化。這三個技術點逐漸發(fā)展成為現(xiàn)在數(shù)據(jù)平面計算的三個技術,也是DPU普遍需要支持的技術點。例如,NVMe協(xié)議,將中斷策略替換為輪詢策略,更充分的開發(fā)高速存儲介質的帶寬優(yōu)勢;DPDK采用用戶態(tài)調用,開發(fā)“Kernel-bypassing”機制,實現(xiàn)零拷貝(Zeor-Copy);在DPU中的面向特定應用的專用核,例如各種復雜的校驗和計算、數(shù)據(jù)包格式解析、查找表、IP安全(IPSec)的支持等,都可以視為協(xié)議處理的硬件化支持。所以,TOE基本可以被視為DPU的雛。延續(xù)TOE的思想,將更多的計算任務卸載至網(wǎng)卡側來處理,促進了智能網(wǎng)卡(SmartNIC)技術的發(fā)展。常見的智能網(wǎng)卡的基本結構是以高速網(wǎng)卡為基本功能,外加一顆高性能的FPGA芯片作為計算的擴展,來實現(xiàn)用戶自定義的計算邏輯,達到計算加速的目的。然而,這種“網(wǎng)卡+FPGA”的模式并沒有將智能網(wǎng)卡變成一個絕對主流的計算設備,很多智能網(wǎng)卡產(chǎn)品被當作單純的FPGA加速卡來使用,在利用FPGA優(yōu)勢的同時,也繼承了所有FPGA的局限性。DPU是對現(xiàn)有的SmartNIC的一個整合,能看到很多以往SmartNIC的影子,但明顯高于之前任何一SmartNIC的定位。Amazon的AWS在2013研發(fā)了Nitro產(chǎn)品,將數(shù)據(jù)中心開銷(為虛機提供遠程資源,加密解密,故障跟蹤,安全策略等服務程序)全部放到專用加速器上執(zhí)行。Nitro架構采用輕量化Hypervisor配合定制化的硬件,將虛擬機的計算(主要是CPU和內存)和I/O(主要是網(wǎng)絡和存儲)子系統(tǒng)分離開來,通過PCIe總線連接,節(jié)省了30%的CPU資源。阿里云提出的X-Dragon系統(tǒng)架構,核心是MOC卡,有比較豐富的對外接口,也包括了計算資源、存儲資源和網(wǎng)絡資源。MOC卡的核心X-DragonSOC,統(tǒng)一支持網(wǎng)絡,IO、存儲和外設的虛擬化,為虛擬機、裸金、容器云提供統(tǒng)一的資源池。可見,DPU其實在行業(yè)內已經(jīng)孕育已久,從早期的網(wǎng)絡協(xié)議處理卸載,到后續(xù)的網(wǎng)絡、存儲、虛擬化卸載,其帶來的作用還是非常顯著的,只不過在此之前DPU“有實無名”,現(xiàn)在是時候邁上一個新的臺階了。DPU發(fā)展歷程隨著云平臺虛擬化技術的發(fā)展,智能網(wǎng)卡的發(fā)展基本可以分為三個階段(如圖1-2所示):基礎網(wǎng)卡PCIe總線網(wǎng)口網(wǎng)絡接口主機接口基礎網(wǎng)卡PCIe總線網(wǎng)口網(wǎng)絡接口主機接口基礎網(wǎng)卡提供2x10G帶寬基本能力硬件卸載能力較弱(checksum,LRO/LSO)支持SRIOV支持有限的多隊列智能網(wǎng)卡(第一代智能網(wǎng)卡)PCIe總線主機接口網(wǎng)絡接口融合網(wǎng)絡無損需求網(wǎng)口豐富的硬件卸載能力Match-Action卸載能力(OVSFastpath卸載)Virtio硬件加速RoCE、RoCEv2NVMeoFwithTCP,NVMeoFwithRoCEv2無損網(wǎng)絡能力ECN,ETS等)安全相關數(shù)據(jù)面卸載硬件卸載DPU智能網(wǎng)卡(第二代智能網(wǎng)卡)PCIe總線PCIeRootComplex或EndPoint主機接口ArmIntelRISC-V網(wǎng)絡接口融合網(wǎng)絡無損需求網(wǎng)口 BCM/MGMT豐富的硬件卸載能力流表類業(yè)務卸載能力全卸載)Virtio硬件加速RoCE、RoCEv2NVMeoFwithTCP,NVMeoFwithRoCEv2,Virtio-blkNVMeoFtarget數(shù)據(jù)壓縮解壓縮無損網(wǎng)絡能力ECN,ETS等)PCIeRootComplex安全相關功能全卸載(面+控制面)硬件卸載圖1-2智能?卡發(fā)展的三個階段第?階段:基礎功能?卡基礎功能網(wǎng)卡(即普通網(wǎng)卡)提供2x10G或2x25G帶寬吞吐,具有較少的硬件卸載能力,主要是Checksum,LRO/LSO等,支持SR-IOV,以及有限的多隊列能力。在云平臺虛擬化網(wǎng)絡中,基礎功能網(wǎng)卡向虛擬機(VM)提供網(wǎng)絡接入的方式主要是有三種:由操作系統(tǒng)內核驅動接管網(wǎng)卡并向虛擬機(VM)分發(fā)網(wǎng)絡流量;由OVS-DPDK接管網(wǎng)卡并向虛擬機(VM)分發(fā)網(wǎng)絡流量;以及高性能場景下通過SR-IOV的方式向虛擬機(VM)提供網(wǎng)絡接入能力。第?階段:硬件卸載?卡可以認為是第一代智能網(wǎng)卡,具有豐富的硬件卸載能力,比較典型的有OVSFastpath硬件卸載,基于RoCEv1和RoCEv2的RDMA網(wǎng)絡硬件卸載,融合網(wǎng)絡中無損網(wǎng)絡能力(FC,ECN,ETS等)的硬件卸載,存儲領域NVMe-oF的硬件卸載,以及安全傳輸?shù)臄?shù)據(jù)面卸載等。這個時期的智能網(wǎng)卡以數(shù)據(jù)平面的卸載為主。第三階段:DPU智能?卡可以認為是第二代智能網(wǎng)卡,在第一代智能網(wǎng)卡基礎上加入CPU,可以用來卸載控制平面的任務和一些靈活復雜的數(shù)據(jù)平面任務。目前DPU智能網(wǎng)卡的特點首先是支持PCIeRootComplex模式和Endpoint模式,在配置為PCIeRootComplex模式時,可以實現(xiàn)NVMe存儲控制器,與NVMeSSD磁盤一起構建存儲服務器;另外,由于大規(guī)模的數(shù)據(jù)中心網(wǎng)絡的需要,對無損網(wǎng)絡的要求更加嚴格,需要解決數(shù)據(jù)中心網(wǎng)絡中Incast流量、“大象”流等帶來的網(wǎng)絡擁塞和時延問題,各大公有云廠商紛紛提出自己的應對方法,比如阿里云的高精度擁塞控制(HPCC,HighPrecisionCongestionControl),AWS的可擴展可靠數(shù)據(jù)報(SRD,SclableReliableDatagram)等。DPU智能網(wǎng)卡在解決這類問題時將會入更為先進的方法,如Fungible的TrueFabric,就是在DPU智能網(wǎng)卡上的新式解決方案。還有,業(yè)界提出了Hypervisor中的網(wǎng)絡,存儲和安全全棧卸載的發(fā)展方向,以Intel為代表提出了IPU,將基礎設施的功能全部卸載到智能網(wǎng)卡中,可以全面釋放之前用于Hypervisor管理的CPU算力。未來的DPU智能?卡硬件形態(tài)隨著越來越多的功能加入到智能網(wǎng)卡中,其功率將很難限制在75W之內,這樣就需要獨立的供電系統(tǒng)。所以,未來的智能網(wǎng)卡形態(tài)可能有三種形態(tài):獨立供電的智能網(wǎng)卡,需要考慮網(wǎng)卡狀態(tài)與計算服務之間低層信號識別,在計算系統(tǒng)啟動的過程中或者啟動之后,智能網(wǎng)卡是否已經(jīng)是進入服務狀態(tài),這些都需要探索和解決。沒有PCIe接口的DPU智能網(wǎng)卡,可以組成DPU資源池,專門負責網(wǎng)絡功能,例如負載均衡,訪問控制,防火墻設備等。管理軟件可以直接通過智能網(wǎng)卡管理接口定義對應的網(wǎng)絡功能,并作為虛擬化網(wǎng)絡功能集群提供對應網(wǎng)絡能力,無需PCIe接口。多PCIe接口,多網(wǎng)口的DPU芯片。例如FungibleF1芯片,支持16個雙模PCIe控制器,可以配置為RootComplex模式或Endpoint模式,以及8x100G接口。通過PCIeGen3x8接口可以支撐8個Dual-Socket8x100G帶寬的網(wǎng)口。圖1-3未來智能?卡的硬件形態(tài)DPU作為一種新型的專用處理器,隨著需求側的變化,必將在未來計算系統(tǒng)中成為一個重要組成部分,對于支撐下一代數(shù)據(jù)中心起到至關重要的作用。DPU與CPU、GPU的關系CPU是整個IT生態(tài)的定義者,無論是服務器端的x86還是移動端的ARM,都各自是構建了穩(wěn)固的生態(tài)系統(tǒng),不僅形成技術生態(tài)圈,還形成了閉合價值鏈。GPU是執(zhí)行規(guī)則計算的主力芯片,如圖形渲染。經(jīng)過NVIDIA對通用GPU(GPGPU)和CUDA編程框架的推廣,GPU在數(shù)據(jù)并行的任務如圖形圖像、深度學習、矩陣運算等方面成為了主力算力引擎,并且成為了高性能計算最重要的輔助計算單元。2021年6月公布的Top500高性能計算機(超級計算機)的前10名中,有六臺(第2、3、5、6、8、9名)都部署有NVIDIA的GPU。圖1-4未來算??態(tài)(相關?商為不完全列舉,僅做為?意參考)數(shù)據(jù)中心與超極計算機不同,后者主要面向科學計算,如大飛機研制,石油勘探、新藥物研發(fā)、氣象預報、電磁環(huán)境計算等應用,性能是主要指標,對接入帶寬要求不高;但數(shù)據(jù)中心面向云計算商業(yè)化應用,對接入帶寬,可靠性、災備、彈性擴展等要求更高,與之相適應發(fā)展起來的虛擬機、容器云、并行編程框、內容分發(fā)網(wǎng)等等技術,都是為了更好的支撐上層商業(yè)應用如電商、支付、視頻流、網(wǎng)盤、辦公OA等。但是這些IaaS和PaaS層的服務開銷極大,Amazon曾公布AWS的系統(tǒng)開銷在30%以上。如果需要實現(xiàn)更好的QoS,在網(wǎng)絡、存儲安全等基礎設施服務上的開銷還會更高。這些基礎層應用類型與CPU架構匹配程度不高導致計算效率低下?,F(xiàn)有的CPU的架構有兩個大類:多核架構(數(shù)個或數(shù)十幾個核)和眾核架構(數(shù)百個核以上),每種架構支持唯一的規(guī)范通用指令集之一,如x86、ARM等。以指令集為界,軟件和硬件被劃分開來分別獨立發(fā)展,迅速的催生了軟件產(chǎn)業(yè)和微處理器產(chǎn)業(yè)的協(xié)同發(fā)展。但是,隨著軟件復雜度的上升,軟件的生產(chǎn)率(Productivity)得到更多的重視,軟件工程學科也更加關注如何高效地構建大型軟件系統(tǒng),而非如何用更少的硬件資源獲得盡可能高的執(zhí)行性能。業(yè)界有個被戲稱的安迪比爾定律”,其內容是“WhatAndygive,Billtkesaway”,安迪(Andy)指英特爾前CEO安迪·格魯夫,比爾(Bill)指微軟前任CEO比爾·蓋茨,意硬件提高的性能,很快被軟件消耗掉了。正如CPU在處理圖像處理時不夠高效一樣,現(xiàn)在有大量的基礎層應用CPU處理起來也比較低效,例如網(wǎng)絡協(xié)議處理,交換路由計算,加密解密,數(shù)據(jù)壓縮等這類計算密集的任務,還有支持分布式處理的數(shù)據(jù)一致性協(xié)議如RAFT等。這些數(shù)據(jù)或者通過從網(wǎng)絡IO接入系統(tǒng),或者通過板級高速PCIe總線接入系統(tǒng),再通過共享主存經(jīng)由DMA機制將數(shù)據(jù)提供給CPU或GPU來處理。既要處理大量的上層應用,又要維持底層軟件的基礎設施,還要處理各種特殊的IO類協(xié)議,復雜的計算任務讓CPU不堪重負。這些基礎層負載給“異構計算”提供了一個廣闊的發(fā)展空間。將這些基礎層負載從CPU上卸載下來,短期內可以“提質增效”,長遠來看還為新的業(yè)務增長提供技術保障。DPU將有望成為承接這些負載的代表性芯片,與CPU和GPU優(yōu)勢互補,建立起一個更加高效的算力平臺??梢灶A測,用于數(shù)據(jù)中心的DPU的量將達到和數(shù)據(jù)中心服務器等量的級別,每年千萬級新增,算上存量的替代,估算五年總體的需求量將突破兩億顆,超過獨立GPU卡的需求量。每臺服務器可能沒有GPU,但必須有DPU,好比每臺服務器都必須配網(wǎng)卡一樣。DPU的產(chǎn)業(yè)化機遇數(shù)據(jù)中心作為IT基礎設施最重要的組成部分在過去10年成為了各大高端芯片廠商關注的焦點。各大廠商都將原有的產(chǎn)品和技術,用全新的DPU的理念重新封裝后,推向了市場。NVIDIA收購Mellanox后,憑借原有的ConnectX系列高速網(wǎng)卡技術,推出其BlueField系列DPU,成為DPU賽道的標桿。作為算法加速芯片頭部廠商的Xilinx在2018年還將“數(shù)據(jù)中優(yōu)先(DatacenterFirst)”作為其全新發(fā)展戰(zhàn)略。發(fā)布了Alveo系列加速卡產(chǎn)品,旨在大幅提升云端和本地數(shù)據(jù)中心服務器性能。2019年4月,Xilinx宣布收購Solar?are通信公司,將領先的FPGA、MPSoC和ACAP解決方案與olar?are的超低時延網(wǎng)絡接口卡(NIC)技術以及應用加速軟件相結合,從而現(xiàn)全新的融合SmartNIC解決方案。Intel2015年底收購了Xilinx的競爭對手——ltera,在通用處理器的基礎上,進一步完善硬件加速能力。Intel2021年6月新發(fā)布的IPU產(chǎn)品(可被視為Intel版本的DPU),將FPGA與XeonD系列處理器集成,成為了DPU賽道有力的競爭者。IPU是具有強化的加速器和以太網(wǎng)連接的高級網(wǎng)絡設備,它使用緊密耦合、專用的可編程內核加速和管理基礎架構功能。IPU提供全面的基礎架構分載,并可作為運行基礎架構應用的主機的控制點,從而提供一層額外防護。幾乎同一時間,Marvall發(fā)布了OCTEON10DPU產(chǎn)品,不僅具強大的轉發(fā)能力,還具有突出的AI處理能力。在同一時期,一些傳統(tǒng)并不涉足芯片設計的互聯(lián)網(wǎng)廠商,如海外Google、Amazon,國內的阿里巴巴等巨頭紛紛啟動了自研芯片的計劃,而且研發(fā)重點都是面向數(shù)據(jù)處理器的高性能專用處理器芯片,希望以此改善云端的服務器的成本結構,提高單位能耗的性能水平。數(shù)據(jù)研究預測DPU在云計算市場的應用需求最大,且市場規(guī)模隨著云計算數(shù)據(jù)中心的迭代而增長,到2025年單中國的市場容量都將達到40億美元的規(guī)模2。2中國數(shù)據(jù)處理器?業(yè)概覽系列短報告(?):數(shù)據(jù)處理器在數(shù)通市場的應?,頭豹?業(yè)研讀|2021/06DPU特征結構DPU是以數(shù)據(jù)為中心IO密集的專用處理器3從應用特征來看,可以把應用分為“IO密集型”和“計算密集型”兩類,如圖2-1縱軸所示。IO密集型應用,通常體現(xiàn)為較高的輸入和輸出帶寬,數(shù)據(jù)直接來自于IO,數(shù)據(jù)通常具備流式特征,數(shù)據(jù)局部性不顯著,如果處理性能與帶寬匹配,片上緩存的作用就可以弱化。例如處理路由轉發(fā)、數(shù)據(jù)加密、壓縮等。計算密集型應用,體現(xiàn)為較高的計算密度,通常浮點性能突出,數(shù)據(jù)來自主存,數(shù)據(jù)局部性顯著,復用性高,主存的大小對于問題求解的性能有直接影響。例如求解線性代數(shù)方程組,大規(guī)模神經(jīng)網(wǎng)絡訓練、推理等。圖2-1不同類型的處理器的特征結構一個處理器芯片是“IO密集”還是“計算密集”只部分決定了芯片的結構特征,并不能完全定義芯片的主體架構。無論是IO密集,還是計算密集,即可以以通用CPU為核心構造主體計算架構,也可以以專用加速器為核心構造主體3“DPU:以數(shù)據(jù)為中?的專?處理器”,鄢貴海等,中國計算機學會通訊,2021年,第17卷第10期計算架構。前者可稱之為以控制為中心(control-centric)的模式,后者稱之為以數(shù)據(jù)為中心的模式(data-centric)的模式??刂茷橹行牡暮诵氖菍崿F(xiàn)“通用”,數(shù)據(jù)為中心的核心是通過定制化實現(xiàn)“高性能”。以應用特征和架構特征這兩個維粗略劃分處理器芯片類型分布,如圖2-1所示。通用CPU是偏向于控制為中心結構,理論上看就是要“圖靈完備”,要支持完備的指令集,通過編程指令序列來定義計算任務,通過執(zhí)行指令序列來完成計算任務,因此具備極其靈活的編程支持,可以任意定義計算的邏輯實現(xiàn)“通用”——這也是CPU最大的優(yōu)勢。同時,為了提高編程的開發(fā)效率,降低編譯器復雜度,緩存管理和細粒度并行度的開發(fā)通常都是由硬件來完成。類似的,還有大量的用于各種嵌入式、移動設備的微控制器MCU,并不強調高帶寬,也是以控制為中心的結構。NP,DSP也是便向于基于通用處理器來做專用化擴展,但是非常注重高通量的性能屬性。例如,NP要支持數(shù)Tbps的轉發(fā)帶寬,所以大體可以視為控制為中心、但是IO密集的處理器類型。GPU是以數(shù)據(jù)為中心的結構,形式上更傾向于專用加速器。GPU的結構稱之為數(shù)據(jù)并行(data-parallel)結構,優(yōu)化指令并行度并不是提升性能的重點,通過大規(guī)模同構核進行細粒度并行來消化大的數(shù)據(jù)帶寬才是重點。例如,最新的NVIDIATITANRTXGPU有4608個CUDA核、576個Tensor核,而且單片通常配置數(shù)十GB的超大顯存。同時緩存管理多采用軟件顯示管理,降低硬件復雜度。這超眾核結構是以數(shù)據(jù)為中心、執(zhí)行計算密集型任務的代表性架構。DPU也偏向于數(shù)據(jù)為中心的結構,形式上集成了更多類別的專用加速器,讓渡一定的指令靈活性以獲得更極致的性能。但是與GPU不同,DPU要應對更多的網(wǎng)絡IO,既包括外部以太網(wǎng),也包括內部虛擬IO,所以DPU所面臨的數(shù)據(jù)并行更多可能是數(shù)據(jù)包并行,而不是圖像中的像素、像塊級并行。而且DPU也會配置少數(shù)通用核(如ARM,MIPS)來處理一定的控制面的任務,運行輕量級操作系統(tǒng)來管理DPU上的眾多的異構核資源,所以體現(xiàn)了一定“通用”性,但性能優(yōu)勢主要不源于這些通用核,而是大量專用計算核。早期的一些網(wǎng)絡處理器采用過類似Tile64的通用眾核結構,以增加核的數(shù)量來應對多路處理的數(shù)據(jù),實現(xiàn)并發(fā)處理,但單路延遲性能通常都比較差。因此,DPU更偏向于以數(shù)據(jù)為中心,執(zhí)行IO密集任務。DPU是軟件定義的技術路線下的重要產(chǎn)物。在軟件定義網(wǎng)絡中,將數(shù)據(jù)面與控制面分離是最核心的思想。DPU被定義為強化了數(shù)據(jù)面性能的專用處理器,配合控制面的CPU,可以實現(xiàn)性能與通用性的更佳的平衡。計算平臺從“計算為中心”轉向“數(shù)據(jù)為中心”?規(guī)模云計算?絡面對的挑戰(zhàn)網(wǎng)絡擁塞和長尾延遲。數(shù)據(jù)中心網(wǎng)絡最真實的性能指標之一是“尾部延遲”,即流量最慢百分位數(shù)所經(jīng)歷的延時水平。數(shù)據(jù)中心網(wǎng)絡擁塞的一個典型原因是Incast流量,而Incast流量在數(shù)據(jù)中心網(wǎng)絡中是不可避免的?,F(xiàn)在常見的解決擁塞的方法,如基于優(yōu)先級的流量控制(PFC),顯示擁塞通知(ECN),數(shù)據(jù)中心量化擁塞通知(DCQCN)和數(shù)據(jù)中心TCP連接等,這些方案并沒有完全解決擁塞問題,如突發(fā)流量導致的擁塞,同時也帶來一系列新的挑戰(zhàn),如FCpause幀風暴等。負載不均衡。在數(shù)據(jù)中心網(wǎng)絡中等價多路徑(ECMP)路由是一種典型的流量轉發(fā)負載均衡方式,它能夠保證同一數(shù)據(jù)流跨網(wǎng)絡Fabric轉發(fā)時根據(jù)特定元組信息選擇的路徑相同,不同數(shù)據(jù)流選擇的路徑根據(jù)哈希的結果選擇不同路徑,從而實現(xiàn)不同流量之間的負載均衡和更高的帶寬利用率。但是,當數(shù)據(jù)中心主要流量是“大象”流和“老鼠”流時,ECMP負載均衡的數(shù)據(jù)轉發(fā)方式就可能存在問題了。如大數(shù)據(jù)處理和存儲數(shù)據(jù)同步等工作負載需在數(shù)據(jù)中心網(wǎng)絡中創(chuàng)建大量持續(xù)的數(shù)據(jù)流,這些數(shù)據(jù)流與對時延相對敏感的短期流共存。多個“大象”流的哈希沖突會導致數(shù)據(jù)中心網(wǎng)絡中某些路徑上流量出現(xiàn)不均甚至擁塞,從而導致?lián)砣窂缴系摹袄鲜蟆绷魇苡绊懗霈F(xiàn)更長延遲和丟包。故障檢測和恢復效率。大規(guī)模數(shù)據(jù)中心通常是通過冗余備份來實現(xiàn)網(wǎng)絡高可靠性,即當某一網(wǎng)絡路徑出現(xiàn)故障時,通過協(xié)議或者網(wǎng)絡端口狀態(tài)自動將故障路徑上的業(yè)務流量切換到其它正常路徑上。在數(shù)據(jù)中心這種Spine-Leaf的網(wǎng)絡架構下,服務器的網(wǎng)卡如何能夠快速檢測到故障,進而規(guī)避流量通過故障路徑,決定了數(shù)據(jù)中心業(yè)務的恢復效率。不可靠傳輸。像RoCEv2這樣的網(wǎng)絡協(xié)議是基于網(wǎng)絡無損的假設而設計的。然而在數(shù)據(jù)中心網(wǎng)絡中,丟包是不可避免的。目前大部分解決方案都是通過在網(wǎng)絡設備上實現(xiàn)復雜的協(xié)議或者遙測能力,來加固網(wǎng)絡或者識別數(shù)據(jù)中心的網(wǎng)絡狀況,進而避免應用程序吞吐量和性能下降。如果數(shù)據(jù)包重傳發(fā)生在傳輸層,這可能會顯著提高性能。不幸的是UDP缺乏重傳機制,而TCP又過于復雜,頭部擁塞和尾部延遲很難預測。數(shù)據(jù)為中?的系統(tǒng)架構特征數(shù)據(jù)中心是云計算時代最重要的基礎設施之一,為云提供強大的計算和存儲能力。近年來業(yè)界對數(shù)據(jù)中心網(wǎng)絡性能以及虛擬化能力的需求日益增長,并伴隨著后摩爾時代的到來,傳統(tǒng)的以CPU為中心的計算機體系結構,其計算能力已經(jīng)無法支撐網(wǎng)絡帶寬的增長速度,會造成網(wǎng)絡擁塞,以單節(jié)點能力為上限的資源分配方式無法滿足云資源需求,運維成本和影響也日益增加,主要表現(xiàn)在如下幾個方面:以計算為中心的數(shù)據(jù)中心,所有數(shù)據(jù)都需要先被送到CPU。CPU的計算包含了應用的計算,通信的計算和存儲的計算等,每一類計算都需要獨占CPU資源。CPU已然成為數(shù)據(jù)中心釋放算力的瓶頸。以CPU為中心的計算機體系結構,通過內部系統(tǒng)總線的通信方式,單節(jié)點服務器上的總線能力和PCIe插槽的數(shù)量是固定的,導致單節(jié)點上支持的專用算力芯片如GPU和FPGA加速卡等也受限于總線能力和PCIe插槽數(shù)量。以CPU為中心的計算機體系結構,單節(jié)點的專用算力資源如GPU和FPGA加速卡等無法被其它節(jié)點使用,這也導致了專用算力資源無法按需擴展,預留專用算力資源浪費的問題,使得虛擬化用戶層的資源管理異常困難。在運維方面,由于單節(jié)點上資源是耦合的,故障維修需對節(jié)點斷電,使得整個節(jié)點對外不可用,業(yè)務的高可靠性難以保障,維修流程非常復雜。鑒于當前以計算為中心的數(shù)據(jù)中心體系中所存在的局限,一個宏觀趨勢是數(shù)據(jù)中心的體系架構將會從以計算為中心轉向以數(shù)據(jù)為中心。后者相對于前者具有顯著的優(yōu)勢。以CPU為中心的通信場景里,由于數(shù)據(jù)轉發(fā)都需要經(jīng)過CPU(如虛擬機場景——CPU收包轉給CPU,大數(shù)據(jù)場景——CPU收包轉給GPU),CPU的處理時延通常會比較高,約30至40微秒,另外,由于CPU數(shù)據(jù)轉發(fā)能力和CPU數(shù)量的限制,會在數(shù)據(jù)通道上成為系統(tǒng)的瓶頸,使得虛擬機CPU或者GPU的算力無法釋放,甚至在觸及性能瓶頸時出現(xiàn)嚴重的丟包現(xiàn)象,進一步惡化網(wǎng)絡傳輸。以數(shù)據(jù)為中心的架構,數(shù)據(jù)轉發(fā)通道不再需要CPU參與,DPU智能網(wǎng)卡可以直接將數(shù)據(jù)送達GPU和虛擬機CPU,不需要基于CPU的軟件轉發(fā),時延上可以提升到3至4微秒,典型的通信時延可以從30至40微妙降低到3至4微妙,有近10倍的性能提升。另外,由于DPU智能網(wǎng)卡硬件線速轉發(fā),避免了性能瓶頸和丟包。CPUGPUGPUCPUGPUGPUCPUCPUGPUGPU典型通信延時:30~40usCPUCPUGPUGPUCPUCPUGPUGPU典型通信延時:3~4usCPU圖2-2數(shù)據(jù)中??絡通信延時以數(shù)據(jù)為中心的數(shù)據(jù)中心架構,至少具備以下幾個特點:分散(Disaggreggaed)的計算架構。計算結構內部資源不是緊耦合。通過DPU智能網(wǎng)卡提供的網(wǎng)絡能力,對系統(tǒng)總線數(shù)據(jù)做轉換傳輸、延伸和分發(fā),使得CPU、GPU、存儲和加速器等可以在不同的位置或物理機上,通過數(shù)據(jù)中心網(wǎng)絡對數(shù)據(jù)分發(fā)和調度,使得各資源互相協(xié)同工作。虛擬化資源池(ResourcePooling)。以降低TCO為目的,對CPU、GPU、存儲和加速器等資源按需分配,同時降低資源維護和管理調度的復雜度,集中的資源池化勢在必行。同時,通過虛擬化資源池的方式向用戶提供各種資源,利用資源伸縮性,使得提供給用戶側的資源上限更大??缮炜s性(Scalability)。資源池化后,資源的維護和管理更容易,整體資源庫存情況更清晰,從數(shù)據(jù)中心運營的角度,庫存的擴展也更容易??山M合性(Composability)。數(shù)據(jù)中心的網(wǎng)絡能力使得服務資源的接入更加靈活。對于新加入資源池的資源(如專用FPGA加速器),可以通過對DPU智能網(wǎng)卡做軟件定義網(wǎng)絡,打通數(shù)據(jù)中心的數(shù)據(jù)傳輸通路,讓新加入的資源加入到云計算資源系統(tǒng)中。傳統(tǒng)云計算基礎設施 可組合,池化的,可伸縮的分散(計算)基礎設施CPUCPU......CPUCPU內存總線GPU 存儲CPU內存總線GPU 存儲GPU......GPU DPU DPU NetworkFabricNetworkFabric維護需停機……資源伸縮性差……存儲.....存儲......存儲儲 DPU CPU內存CPU內存總線GPU 存儲加速器 加速器加速器......加速器 DPU 一種DPU參考設計為了滿足“數(shù)據(jù)為中心”的設計理念,本節(jié)給出一個通用的DPU參考設計。目前DPU架構的演化比較快,DPU既可以呈現(xiàn)為一個被動設備作為CPU的協(xié)處理器,也可以作為一個主動設備,承接Hypervisor的一些功能。尤其是容器技術、虛擬化技術的廣泛采用,DPU的角色已經(jīng)不僅僅是一個協(xié)處理器,而是呈現(xiàn)出更多的HOST的特征,比如運行Hypervisor,做跨節(jié)點的資源整合,為裸金屬虛擬機提供虛擬網(wǎng)絡,數(shù)據(jù)安全,熱遷移等支撐。宏觀來看,DPU架構至少可以分為以下幾個核心組成部分:控制平面
圖2-4DPU架構參考設計負責管理、配置,通常由通用處理器核來實現(xiàn)??刂破脚_負責DPU設備運行管理,以及計算任務和計算資源的配置。運行管理通常包含設備的安全管理和實時監(jiān)控兩個主要功能。在安全管理方面支持支持如信任根、安全啟動、安全固件升級以及基于身份驗證的容器和應用的生命周期管理等。在設備實時監(jiān)控方面,對DPU各子系統(tǒng)、數(shù)據(jù)平面中各處理核動態(tài)監(jiān)測,實時觀察設備是否可用、設備中流量是否正常,周期性生成報表,記錄設備訪問日志核配置修改日志。計算任務和計算資源配置方面,根據(jù)計算任務實施配置數(shù)據(jù)平面中處理單元間的通路,以及各處理單元參數(shù)。根據(jù)資源利用情況實時進行任務調度以及在計算單元的映射和部署。同時DPU上層同時會支持多個虛擬機,控制平面在任務部署時還要進行虛擬設備的管理,考慮虛擬機間數(shù)據(jù)和資源隔離,記錄運行狀態(tài)協(xié)助虛擬機熱遷移。最后,當DPU集成第三方計算平臺,如GPU、FPGA等,還需要參與部分卸載任務調度。由于控制平面任務多樣,靈活性要求較高,算力要求較低,通常由通用處理器核來實現(xiàn),比如ARM、MIPS等核心。為便于用戶統(tǒng)一管理和配置DPU設備,提供較好的可編程性,通常會運行標準Linux應用程序。并且控制平面與數(shù)據(jù)平面數(shù)據(jù)交互驅動程序需要進行深度優(yōu)化,來提升控制平面與數(shù)據(jù)平面有效地交互,任務調度效率。IO?系統(tǒng)主要分為三個大類:系統(tǒng)IO,負責DPU和其他處理平臺(如X86、ARM處理器、GPU、FPGA等)或高速外部設備(如SSD)的集成。系統(tǒng)IO通常傳輸數(shù)據(jù)量較大對帶寬有著極高的要求,因此多基于PCIe來實現(xiàn)。系統(tǒng)IO接口分為兩大類:EP(Endpoint)類和RC(RootComplex)類。EP類接口負責將DPU作為從設備與X86、ARM等處理平臺相連接。為了充分利用DPU上的內部資源,此類接口要支持強大的硬件設備虛擬化功能,比如SR-IOV和VirtIO。并且可以靈活地支持多種類型的設備,如NIC、Storage、Compute設備等。RC類接口負責將DPU作為主設備與加速平臺(如GPU、FPGA)或外設(SSD)相連接。通過此種方式將部分數(shù)據(jù)處理卸載到第三方加速平臺GPU、FPGA中處理,通常數(shù)據(jù)量較大,需要支持較強的DMA方案。網(wǎng)絡IO,負責DPU與高速網(wǎng)絡相連接,主要是以太網(wǎng)或者FC為主。為了能應對急劇增加的網(wǎng)絡帶寬,DPU中通常輔以專門的網(wǎng)絡協(xié)議處理核來加速網(wǎng)絡包的處理。包括L2/L3/L4層的ARP/IP/TCP/UDP網(wǎng)絡協(xié)議處理、RDMA、數(shù)據(jù)包交換協(xié)議、基本網(wǎng)絡虛擬化協(xié)議等,可以實現(xiàn)100G以上的網(wǎng)絡包線速處理。主存IO,負責緩存網(wǎng)絡IO和系統(tǒng)IO輸入輸出數(shù)據(jù),以及數(shù)據(jù)平面中間數(shù)據(jù)結果。也可作為共享內存,實現(xiàn)不同處理核之間的數(shù)據(jù)通信。目前主存IO主要包含DDR和HBM接口類型,兩類接口,DDR可以提供比較大的存儲容量,可以提供512GB以上的存儲容量;HBM可以提供比較大的存儲帶寬,可以提供500GB/s以上的帶寬。兩種存儲接口相結合可以滿足不同存儲容量和帶寬的需求,但是需要精細的數(shù)據(jù)管理,這塊也是DPU設計中比較有挑戰(zhàn)的。數(shù)據(jù)平面主要負責高速數(shù)據(jù)通路的功能單元的集成,通常集成多個處理核。數(shù)據(jù)平面的功能主要分為五類:高速數(shù)據(jù)包處理,主要對接收到的網(wǎng)絡數(shù)據(jù)包進行如OvS(開放式虛擬交換機)解析、匹配和處理,以及RDMA遠程數(shù)據(jù)傳輸加速等操作,和之前的網(wǎng)絡處理器NP功能類似,但是在性能上有更高的要求,處理帶寬線速要達到100G、200G甚至400G。同時,在進行有狀態(tài)數(shù)據(jù)處理時也有著更高的要求,如TCP協(xié)議,要求硬件記錄各連接信息,并能實現(xiàn)多連接間無縫切換。虛擬化協(xié)議加速,支持SR-IOV、VirtIO和PV(Para-Virtualization)等虛擬化。支持網(wǎng)絡虛擬化VxLAN、GeneveOverlay卸載和VTEP等協(xié)議卸載。安全加密,在線IPSec和TLS加密加速,以及多種標準加解密算法和國密算法。并且對于安全算法的處理性能有較高的要求,要達到網(wǎng)絡線速,從而不影響其它正在運行的加速操作。流量壓縮,對網(wǎng)絡數(shù)據(jù)包,或者要存儲的數(shù)據(jù),進行實時地數(shù)據(jù)壓縮/解壓縮處理,壓縮過程中還要完成地址的轉換和重映射等操作?;蛘咴诰€完成數(shù)據(jù)流變換處理,如面向多媒體流、CDN(內容分發(fā)網(wǎng)絡)和4K/8KIP視頻的“PacketPacing”其他算法加速。除了上述網(wǎng)絡、安全協(xié)議外還要支持NVMe等存儲協(xié)議,業(yè)務相關的處理卸載也呈增長趨勢,如大數(shù)據(jù)分析SQL加速。DPU設計的關鍵數(shù)據(jù)平面是整個DPU設計的關鍵,也是DPU設計中最有挑戰(zhàn)的模塊。主要面臨四個挑戰(zhàn):數(shù)據(jù)中心的工作負載復雜多樣,數(shù)據(jù)平面支持的處理核種類要足夠多,不僅包括網(wǎng)絡、存儲、安全和虛擬化等基礎設施服務,另外業(yè)務相關的處理也在加速向DPU平臺卸載。高并發(fā)性數(shù)據(jù)處理,數(shù)據(jù)中心承載的業(yè)務多且復雜,多虛擬機多種類業(yè)務并發(fā)要求數(shù)據(jù)平面集成足夠數(shù)量的核心,規(guī)模要達到幾百個核心規(guī)模。隨著數(shù)據(jù)中心數(shù)據(jù)量的不斷增加,對處理性能提出越來越多的挑戰(zhàn),DPU數(shù)據(jù)平面在處理核規(guī)模上要具有非常強的可擴展性。復雜的片上互聯(lián)系統(tǒng),隨著DPU數(shù)據(jù)平面處理核數(shù)量的增加,再加之高并發(fā)處理線程運行,同時還要兼顧好數(shù)據(jù)平面數(shù)據(jù)處理的靈活,這就要求處理核之間的數(shù)據(jù)交互既要靈活又要兼顧高帶寬。處理核之間的數(shù)據(jù)互聯(lián),以及核間的數(shù)據(jù)一致性成為另一設計難題。高效簡易的編程方式,數(shù)據(jù)中心業(yè)務的復雜多變決定了DPU數(shù)據(jù)平臺可編程性的硬性需求。一方面要兼顧計算效率,必須直觀表達出并發(fā)處理任務,充分利用計算資源。另一方面要兼顧DPU的易用性,盡量采用高級語言進行編程,易于設計、開發(fā)和維護??傊?,DPU數(shù)據(jù)平面需要一種大規(guī)模敏捷異構的計算架構。這一部分的實現(xiàn)也處在“百家爭鳴”的階段,各家的實現(xiàn)方式差別較大,有基于通用處理器核的方式,有基于可編程門陣列FPGA的方式,也有基于異構眾核的方式,還有待探索。DPU具備的主要功能算力卸載。將存儲協(xié)議和安全協(xié)議的封裝與解封裝等不適合CPU做的事物卸載到智能網(wǎng)卡或DPU上,節(jié)約更多CPU算力支撐更多的應用業(yè)務。虛擬網(wǎng)絡控制面隔離。DPU需要獨立的網(wǎng)絡控制平面,從主機中完全隔離,可以服務于各種資源池能力的組合和伸縮。主機側總線通信的延展。在分散的計算架構中,連接不同資源池的方式將從原來的系統(tǒng)總線承載,轉變成總線——網(wǎng)絡——總線的方式,DPU不僅需要提供PCIeEndpoint的能力,還需要提供PCIeRootComplex的能力。網(wǎng)絡側無損網(wǎng)絡傳輸。網(wǎng)絡側提供針對Incast流量模型和“大象”流影響的擁塞控制機制和增強的負載均衡能力,降低長尾時延,提供更可靠更高效的傳輸網(wǎng)絡。精細化的測量和故障檢測能力。精細化的流量測量支撐精細化的故障檢測能力,讓流量數(shù)據(jù)更透明。DPU應?場景應用場景一:網(wǎng)絡功能卸載網(wǎng)絡功能卸載是伴隨云計算網(wǎng)絡而產(chǎn)生的,主要是對云計算主機上的虛擬交換機的能力做硬件卸載,從而減少主機上消耗在網(wǎng)絡上的CPU算力,提高可售賣計算資源。SDNControllerCompute……VMCompute…… 虛擬交換機虛擬交換機PortNICPortPortNICPortTORTOR……TORTOREOREOR……EOREORFabricNetworkGWGW圖3-1云計算?絡架構目前除了公有云大廠采用自研云平臺,絕大部分私有云廠商都使用開源的OpenStack云平臺生態(tài)。在OpenStack云平臺中,虛擬交換機通常是OpenvSwitch,承擔著云計算中網(wǎng)絡虛擬化的主要工作,負責虛擬機(VM)與同主機上虛擬機(VM)、虛擬機(VM)與其它主機上虛擬機(VM)、虛擬機(VM)與外部的網(wǎng)絡通信。虛擬交換機與網(wǎng)關路由器(GW)通常由同一SDN控制器來管理控制,為租戶開通VPC網(wǎng)絡以及和外部通信的網(wǎng)絡。主機與主機間的網(wǎng)絡通常是Underlay網(wǎng)絡,是由TOR/EOR構建的Spine-Leaf結構的FabricNetwork。虛擬機(VM)與虛擬機(VM)通信的網(wǎng)絡是Overlay網(wǎng)絡,是承載在Underlay網(wǎng)絡構建的VxLAN,NVGRE或Geneve隧道之上的。通常VxLAN,NVGRE或Geneve的隧道端點(VTEP)在虛擬交換機和網(wǎng)關路由器(GW)上。也有部分對網(wǎng)絡性能要求比較高的場景,采用SR-IOV替代虛擬交換機,VF直通到虛擬機(VM)內部,這樣就要求隧道端點(VTEP)部署在TOR上,TOR與網(wǎng)關路由器(GW)創(chuàng)建隧道,提供Overlay網(wǎng)絡服務。虛擬交換機的場景是最通用的應用場景,所以,虛擬交換機的技術迭代也直接影響著虛擬化網(wǎng)絡的發(fā)展。虛擬化?絡功能(VirtualNetworkFunction)行業(yè)內主流的Hypervisor主要有Linux系統(tǒng)下的KVM-Qemu,VMWare的ESXi,微軟Azure的Hyper-V,以及亞馬遜早期用的Xen(現(xiàn)在亞馬遜已經(jīng)轉向KVM-Qemu)。KVM-Qemu有著以Redhat為首在持續(xù)推動的更好的開源生態(tài),目前行業(yè)內9%以上的云廠商都在用KVM-Qemu作為虛擬化的基礎平臺。在KVM-Qemu這個Hypervisor的開源生態(tài)里,與網(wǎng)絡關系最緊密的標準協(xié)議包括virtio和vhost,以及vhost衍生出來的vhost-vdpa。Virtio在KVM-Qemu中定義了一組虛擬化I/O設備,和對應設備的共享內存的通信方法,配合后端協(xié)議vhost和vhos-vdpa使用,使虛擬化I/O性能得到提升。內核虛擬化?絡(vhost-net)在虛擬化網(wǎng)絡的初期,以打通虛擬機(VM)間和與外部通信能力為主,對功能訴求高于性能,虛擬交換機OVS(OpenvSwitch)的最初版本也是基于操作系統(tǒng)Linux內核轉發(fā)來實現(xiàn)的。vhost協(xié)議作為控制平面,由Qemu做代理與主機kernel內的vhost-net通信,主機內核vhost-net作為virtio的backend,與虛擬機(VM)內部的virtioNIC通過共享內存的方式進行通信。實現(xiàn)了虛擬機(VM)間和虛擬機(VM)與外部的通信能力,但是內核轉發(fā)效率和吞吐量都很低。目前在虛擬化網(wǎng)絡部署中已經(jīng)很少使用。?戶空間DPDK虛擬化?絡(vhost-user)隨著虛擬化網(wǎng)絡的發(fā)展,虛擬機(VM)業(yè)務對網(wǎng)絡帶寬的要求越來越高,另外,英爾和Linux基金會推出了DPDK(DataPlaneDevlopmentKit)開源項目,實現(xiàn)了用戶空間直接從網(wǎng)卡收發(fā)數(shù)據(jù)報文并進行多核快速處理的開發(fā)庫,虛擬交換機OVS將數(shù)據(jù)轉發(fā)平面通過DPDK支持了用戶空間的數(shù)據(jù)轉發(fā),進而實現(xiàn)了轉發(fā)帶寬量級的提升。OVS-DPDK通過將virtio的backend實現(xiàn)在用戶空間,實現(xiàn)了虛擬機(VM)與用戶空間OVS-DPDK的共享內存,這樣虛擬機(VM)在收發(fā)報文時,只需要OVS-DPDK將從網(wǎng)卡收到的報文數(shù)據(jù)寫入虛擬機(VM)的內存,或從虛擬機(VM)內存將要發(fā)送的報文拷貝到網(wǎng)卡DMA的內存,由于減少了內存拷貝次數(shù)和CPU調度干擾,提升了轉發(fā)通道的整體效率和吞吐量??刂泼鏀?shù)據(jù)面控制面數(shù)據(jù)面 ovsdb-server VQ vhost-net驅動OVS控制面OVS數(shù)據(jù)面vhost-user協(xié)議OVS-DPDKVQvhost-libraryeth0 QEMUvhost-net設備virtio控制面GuestOSOVS二層轉發(fā)用戶態(tài)驅動,kernelbypassOVS圖3-2基于DPDK的虛擬化?44Ajourneytothevhost-usersrealmhttps://\h/en/blog/journey-vhost-users-realmOVS-DPDK相對轉發(fā)能力有所提高,但也存在新的問題。首先,目前大多數(shù)服務器都是NUMA(多CPU)結構,在跨NUMA轉發(fā)時性能要比同NUMA轉發(fā)弱。而物理網(wǎng)卡只能插在一個PCIe插槽上,這個插槽只會與一個NUMA存在親和性,所以OVS-DPDK上跨NUMA轉發(fā)的流量不可避免。第二,在虛擬機(VM)與OVS-DPDK共享內存時,初始化的隊列數(shù)量通常是與虛擬機(VM)的CPU個數(shù)相同,才能保證虛擬機上每一個CPU都可以通過共享內存收發(fā)數(shù)據(jù)包,這樣導致不同規(guī)格的虛擬機(VM)在OVS-DPDK上收發(fā)隊列所接入的CPU是非對稱的,在轉發(fā)過程中需要跨CPU轉發(fā)數(shù)據(jù)。最后,OVS-DPDK在轉發(fā)數(shù)據(jù)時,不同虛擬機(VM)的流量由于CPU瓶頸導致?lián)砣?,會隨機丟包,無法保障租戶帶寬隔離。?性能SR-IOV?絡(SR-IOV)在一些對網(wǎng)絡有高性能需求的場景,如NFV業(yè)務部署,OVS-DPDK的數(shù)據(jù)轉發(fā)方式,無法滿足高性能網(wǎng)絡的需求,這樣就引入的SR-IOV透傳(passthrogh)到虛擬機(VM)的部署場景。在SRIOVpassthrough的場景下,虛擬機(VM)可以獲得與裸金屬主機上比擬的網(wǎng)絡性能。但是仍然存在兩個限制:SRIOVVFpassthrough到VM后,VMSRIOV這種passthroughI/O借助了IntelCPUVT-d(VirtualizationTechnologyDirectedI/O)或AMD的IOMMU(I/OMemoryManagementUnit)技術,在上VF網(wǎng)卡初始化的時候,建立了Guest虛擬地址到Host這種“有狀態(tài)”的映射表在熱遷移的過程中會丟失。由于SRIOVVFpassthrough到VM,而SRIOVPF直接連接到TOR上,在這種部署環(huán)境中虛擬機(VM)對外的網(wǎng)絡需要自定義,如需要像OVS-DPDK那樣自動開通網(wǎng)絡,則需要將TOR加入SDN控制器的管理范疇,由SDN控制器統(tǒng)一管控,這樣做通常會使網(wǎng)絡運營變的非常復雜。針對面第二個問題,Mellanox最早提出在其智能網(wǎng)卡上支持OVS硬件卸載,合SRIOVVFpassthrough到VM一起使用,提供臨近線速轉發(fā)的絡能力,解決了虛機(VM)租戶網(wǎng)絡自動化編排開通的問題??刂泼鏀?shù)據(jù)面控制面數(shù)據(jù)面ovsdb-server OVS控制面OVS數(shù)據(jù)面OVS-DPDKovs-vswitchd……Flowoffload智能網(wǎng)卡 eth0 OVSFastpathVFVFVFPFQEMUGuestOS廠商VF驅動圖3-3OVSFastpath硬件卸載虛擬化?絡在OSFastpath卸載后,OVS轉發(fā)報文時,數(shù)據(jù)流首包仍然做軟件轉發(fā),轉發(fā)過程中生成Fastpath轉發(fā)流表并配置到硬件網(wǎng)卡上,這個數(shù)據(jù)流的后續(xù)報文則通過硬件直接轉發(fā)給虛擬機(VM)。由于早期的Mellanox智能網(wǎng)卡還沒有集成通用CPU核,OS的控制面依然在物理主機上運行。Virtio硬件加速虛擬化?絡為了解決高性能SRIOV網(wǎng)絡的熱遷移問題,出現(xiàn)了很多做法和嘗試,尚未形成統(tǒng)一的標準。在Redhat提出硬件vDPA架構之前,Mellanox實現(xiàn)了軟件vDPA(即VFRelay)。理論上講,Mellanox的軟件vDPA并不能算是vDPA,其實就將數(shù)據(jù)在用戶空間的virtio隊列和VF的接收隊列做了一次數(shù)據(jù)Relay。Redhat提出的硬件vDPA架構,目前在DPDK和內核程序中均有實現(xiàn),基本是未來的標準架構。Qemu支持兩種方式的vDPA,一種是vhost-user,配合DPDK中的vDPA運行,DPDK再調用廠商用戶態(tài)vDPA驅動;另一種方式是vhost-vdpa,通過ioctl調用到內核用vDPA模塊,通用vDPA模塊再調用廠商硬件專有的vDPA驅動。軟件vDPA:軟件vDPA也叫VFrelay,由于需要軟件把VF過virtio轉發(fā)給虛擬機(VM),如Mellanox在OVS-DPDK實現(xiàn)了這個relay,OVS流表由硬件卸載加速,性能上與SR-IOVVF直通(passthrough)方式比略有降低,不過實現(xiàn)了虛擬機(VM)的熱遷移特性。硬件vDPA:硬件vDPA實際上是借助virtio硬件加速,以實現(xiàn)更高性能的通信。由于控制面復雜,所以用硬件難以實現(xiàn)。廠商自己開發(fā)驅動,對接到用戶空間DPDK的vDPA和內核vDPA架構上,可以實現(xiàn)硬件vDPA。目前Mellanoxmlx5和IntelIFC對應的vDPA適配程序都已經(jīng)合入到DPDK和kernel社區(qū)源碼。數(shù)據(jù)面數(shù)據(jù)面GuestOSovsdb-serverVQvirtio驅動OVS控制面OVS數(shù)據(jù)面QEMUovs-vswitchdControl廠家驅動驅動消息virtio-netvirtio-net virtio-net …… PFFlowoffloadVQOVSFastpath eth0 智能網(wǎng)卡OVS-DPDKvhost-user協(xié)議vhost-net設備virtio控制面控制面圖3-4virtio硬件加速虛擬化?絡在硬件vDPA場景下,通過OVS轉發(fā)的流量首包依然由主機上的OVS轉發(fā)平面處理,對應數(shù)據(jù)流的后續(xù)報文由硬件網(wǎng)卡直接轉發(fā)。后來在Blue?eld-2上,由于集成了ARM核,所以NVIDIA在與UCloud的合作中,將OVS的控制面也完全卸載到網(wǎng)卡到ARM核上,這樣主機上就可以將OVS完全卸載到網(wǎng)卡上。?絡功能虛擬化(NetworkFunctionVirtualization)伴隨著越來越多的業(yè)務上云,一些原來運行在專用設備或者特定主機上的網(wǎng)絡產(chǎn)品也開始重視上云后的按需擴縮容能力,所以出現(xiàn)了網(wǎng)路功能虛擬化(NFV)產(chǎn)品。NFV產(chǎn)品主要以虛擬機(VM)或者容器(Container)的形態(tài)部署到云計算平臺上,對外提供對應的網(wǎng)絡功能,如LoadBalance,F(xiàn)irewall,NAT,vRouter,DPI和5G邊緣計算UPF等。這些NFV產(chǎn)品之前全部基于DPDK在X86CPU上運行,由于CPU算力上限問題,通常難以提供對應網(wǎng)絡帶寬的吞吐能力。DP智能網(wǎng)卡的出現(xiàn),為NFV加速提供了資源和可能。(1)5G邊緣計算UPF(UserPlaneFunction)5G垂直行業(yè)對5G網(wǎng)絡提出了更高的要求,如大帶寬,高可靠,低時延,低抖動等,這對用戶面數(shù)據(jù)轉發(fā)的核心5GUPF,提出了更高的實現(xiàn)要求。尤其在邊緣網(wǎng)絡,交互式VR/AR在大帶寬的要求下,還需要低時延,從而提高業(yè)務的用戶體驗;而車路協(xié)同系統(tǒng)等,對高可靠和低時延低抖動的要求更高,這是保障車路協(xié)同能夠實時做出正確決策的關鍵;一些工業(yè)控制實時自動化應用,也是要求視頻數(shù)據(jù)實時傳輸?shù)椒斩耍⑼ㄟ^視頻識別等功能實時做出控制指令下發(fā)等等。這些典型的應用,都對邊緣計算中5GUPF提出了更嚴苛的要求。在5G邊緣計算中,未來的主要應用場景包括:增強型視頻服務,監(jiān)測與追蹤類服務,實時自動化,智能監(jiān)控,自動機器人,危險和維護傳感,增強現(xiàn)實,網(wǎng)聯(lián)車輛和遠程操控等。對應的5G技術指標和特征也比較明顯。首先,超大帶寬(eMBB,EnhancedMobileBroadband)要求單用戶峰值帶寬可達20Gbps,用戶體驗數(shù)據(jù)速率在100Mbps;其次,超密連接(mMTC,MassiveMachineTypeCommunication)要求每平方公里設備數(shù)量在10k到1M個終端,量密度10bps每平方米;最后,超低時延(uRLLC,UltraReliableLowCommunication)求時延在1~10ms,高可靠性達到99.999%。超大帶寬eMBB
超密連接mMTC
超低時延URLLC峰值速率20Gbps 連接密度10k–1M峰值速率20Gbps連接密度10k–1MDevices/km2時延1-10ms用戶體驗數(shù)據(jù)速率100Mbps流量密度用戶體驗數(shù)據(jù)速率100Mbps流量密度10Mbps/m2可靠性99.999%(of網(wǎng)絡云化網(wǎng)絡功能微服務化與彈性調節(jié)
多切片適應企業(yè)各種任務
分布式+邊緣計算確保低時延與業(yè)務一致性
安全強用戶認證,用戶隱私和網(wǎng)絡安全圖3-55G業(yè)務?絡特征傳統(tǒng)的5GUPF通常由軟件實現(xiàn),運行在X86CPU上,雖然在吞吐上可以通過增加CPU來實現(xiàn)更大能力,但是,時延和抖動通常都會比較高,很難穩(wěn)定支撐低時延低抖動業(yè)務。對于超大帶寬,超低時延的需求,這類數(shù)據(jù)轉發(fā)業(yè)務更適合在硬件中實現(xiàn),硬件實現(xiàn)更容易做到低時延低抖動和大帶寬。5GUPF業(yè)務模型復雜,需要選擇性卸載轉發(fā),將高可靠低時延低抖動業(yè)務要求的用戶會話卸載到硬件中。如圖3-5所示,數(shù)據(jù)流首包通過軟件轉發(fā),然后將對應的流表卸載到智能網(wǎng)卡,后續(xù)報文通過智能網(wǎng)卡硬件轉發(fā),這樣可以在5G邊緣計算中,提供低時延低抖動和超大帶寬網(wǎng)絡能力的同時,還能降低邊緣計算的整體功耗。5G核心網(wǎng)5G核心網(wǎng)MANO EMS 云管平臺 管理面PCF UDM NEF AF 用戶數(shù)據(jù)和業(yè)務AMFSMFNRFNSSF 接入控制IaaSN4服務器N6InternetMECN4UPFAnchor IaaS ……NIC N6NIC上云網(wǎng)絡TOR/EORN3N3基站OffloadUPF服務器企業(yè)OT網(wǎng)絡企業(yè)IT生產(chǎn)網(wǎng)絡企業(yè)辦公網(wǎng)絡IaaSMEP3rdAppBigData網(wǎng)關3rdAppUPFAnchor圖3-65G邊緣計算UPF硬件卸載?式5(2)智能DPI(DeepPacketInspection)DPI不論在運營商網(wǎng)絡還是互聯(lián)網(wǎng)數(shù)據(jù)中心,都是重要的配套設備。而且DPI功能是很多網(wǎng)絡功能產(chǎn)品的基礎功能,如IPS/IDS,5GUPF,DDoS防攻擊設備等,具有重要的產(chǎn)品價值。DPI具有高新建、高并發(fā)、高吞吐等特點,使得性能成為虛擬化部署的瓶頸。通過DPU智能網(wǎng)卡實現(xiàn)DPI流量卸載,性能可以提升在30%以上。55G時代?業(yè)互聯(lián)?邊緣計算?絡??書\h/Uploads/file/20201209/1607521755435690.pdfDPI應用程序DPI應用程序日志logging日志系統(tǒng)統(tǒng)計數(shù)據(jù)規(guī)則庫rules策略polices統(tǒng)計statisticsAction計數(shù)count時間戳timestamp解析parser識別classification原始報文鏡像流過濾Filter智能網(wǎng)卡鏡像mirroring丟棄drop轉發(fā)數(shù)據(jù)流轉發(fā)forward圖3-7智能DPI硬件卸載智能DPI基于智能網(wǎng)卡卸載DPI流量,軟件規(guī)則庫下發(fā)到硬件形成流識別的規(guī)則,再將軟件策略下發(fā)到硬件形成對應的動作。這樣數(shù)據(jù)流進入網(wǎng)卡通過打時間戳進行硬件解析,匹配識別規(guī)則庫,根據(jù)匹配的規(guī)則尋找對應的策略,根據(jù)策略進行計數(shù),鏡像,丟棄和轉發(fā)等行為。通過硬件卸載DPI流量,不僅可以節(jié)省虛擬化DPI的CPU,還可以提升其吞吐量,同時降低了整體TCO。一些公有云的運維系統(tǒng)也是通過DPI功能做流日志,除了運維使用以外,還對用戶提供對應的流日志服務。云原??絡功能云原??絡架構云原生,從廣義上來說,是更好的構建云平臺與云應用的一整套新型的設計理念與方法論,而狹義上講則是以docker容器和Kubernetes(K8S)為支撐的云原生計算基金會(CNCF)技術生態(tài)堆棧的新式IT架構。對比虛擬機,容器應用對磁盤的占用空間更小,啟動速度更快,直接運行在宿主機內核上,因而無Hypervisor開銷,并發(fā)支持上百個容器同時在線,接近宿主機上本地進程的性能,資源利用率也更高。以K8S為代表的云原生容器編排系統(tǒng),提供了統(tǒng)一調度與彈性擴展的能力,以及標準化組件與服務,支持快速開發(fā)與部署。容器平臺包括容器引擎Runtime(如containerd,cri-o等),容器網(wǎng)絡接口(CNI,如calico,?annel,contiv,cilium等)和容器存儲接口(CSI,如EBSCSI,cephcsi等)。云原生平臺可以部署在裸金屬服務器上,也可以部署在虛擬機(VM)上。通常為了追求更高的性能,云原生平臺會部署在裸金屬上。如果考慮故障后更容易恢復,通常會部署在虛擬機(VM)上。圖3-8云原??絡架構介紹云原生對于網(wǎng)絡的需求,既有基礎的二三層網(wǎng)絡聯(lián)通,也有四至七層的高級網(wǎng)絡功能。二三層的網(wǎng)絡主要是實現(xiàn)K8S中的CNI接口,具體如calico,?annel,weave,contiv,cilium等。主要是支持大規(guī)模實例,快速彈性伸縮,自愈合,多集群多活等。四至七層網(wǎng)絡功能,主要是服務網(wǎng)格(ServiceMesh)。服務網(wǎng)格的本質是提供安全、可靠、靈活、高效的服務間通信。服務網(wǎng)格還提供了一些更加高級的網(wǎng)絡功能,如有狀態(tài)的通信,路由限流,灰度流量切換,熔斷監(jiān)控等。eBPF的硬件加速eBPF是一項革命性的技術,可以在Linux內核中運行沙盒程序,而無需重新編譯內核或者加載內核模塊。在過去幾年,eBPF已經(jīng)成為解決以前依賴于內核更改或者內核模塊的問題的標準方法。對比在Kubernetes上Iptables的轉發(fā)路徑,使用eBPF會簡化其中大部分轉發(fā)步驟,提高內核的數(shù)據(jù)轉發(fā)性能。Cilium是一個基于eBPF實現(xiàn)的開源項目,提供和保護使用Linux容器管理平臺部署的應用程序服務之間的網(wǎng)絡和API連接,以解決容器工作負載的新可伸縮性,安全性和可見性要求。Cilium超越了傳統(tǒng)的容器網(wǎng)絡接口(CNI),可提供服務解析,策略執(zhí)行等功能,實現(xiàn)了組網(wǎng)與安全一體化的云原生網(wǎng)絡。Cilium數(shù)據(jù)平面采用eBPF加速,能夠以Service/pod/container為對象進行動態(tài)地網(wǎng)絡和安全策略管理,解耦控制面等策略管理和不斷變化的網(wǎng)絡環(huán)境,具有應用感知能力(如https,gRPC等應用),從而實現(xiàn)對流量的精確化控制。同時它的狀態(tài)通過K-V數(shù)據(jù)庫來護實現(xiàn)可擴展設計?;趀BPF的Cilium已經(jīng)被證明是Kubernetes云原生網(wǎng)絡的最佳實踐,國內阿里云和騰訊云勻已在自己的公有云中引用了Cilium構建自己的云原生平臺。為進一步提升性能,Netronome將eBPF路徑上的部分功能卸載到硬件網(wǎng)卡,如XDP和Trf?cClassi?erls-bpf,實現(xiàn)了對于用戶無感知的eBPF卸載加速。硬件卸載的eBPF程序可以直接將報文送到任意內核eBPF程序,eBPF中map的維護對于用程序和內核程序是透明的。eBPF程序的編譯需要在生成內核微碼的基礎上,加入編譯硬件可識別的微碼程序,并將對應的硬件微碼程序裝載到網(wǎng)卡中。從而實現(xiàn)eBPF硬件卸載。云原?Istio服務?格Istio是CNCF主推的微服務框架,實現(xiàn)了云原生四至七層網(wǎng)絡能力。Istio在數(shù)據(jù)平面通過Sidecar對流量進行劫持,實現(xiàn)了無代碼侵入的服務網(wǎng)格。控制平面組件中,pilot負責下發(fā)控制,mixer收集運行的狀態(tài),citadel則負責安全證書方面的處理。ServiceASer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多功能智能建筑消防系統(tǒng)設計與施工合同
- 水利水電工程結構設計試題及答案
- 2025年工程經(jīng)濟思維提升題目試題及答案
- 2024年水利水電工程課程討論與試題及答案
- 行政管理中的公共關系學發(fā)展趨勢及試題及答案
- 工程經(jīng)濟測評工具試題及答案
- 行政管理中的心理障礙識別方法試題及答案
- 2025年市政工程即將考試試題及答案
- 市政工程創(chuàng)新設計試題及答案
- 如何進行成本控制試題及答案
- GB/T 224-2008鋼的脫碳層深度測定法
- 中等職業(yè)學校藝術課程標準(2020年版)(word精排版)
- GB/T 18400.4-2010加工中心檢驗條件第4部分:線性和回轉軸線的定位精度和重復定位精度檢驗
- GB/T 1355-2021小麥粉
- 無人機結構與系統(tǒng)-第1章-無人機結構與飛行原理課件
- (完整)中小學教師高級職稱專業(yè)水平能力試題庫及答案(通用版)
- 2023年STD溫鹽深剖面儀行業(yè)分析報告及未來五至十年行業(yè)發(fā)展報告
- 護理管理中的組織溝通課件
- 腦性癱瘓兒童的康復 認識腦性癱瘓
- 高二歷史必修1上冊第11課 中國古代的民族關系與對外交往 知識點
- 公安機關人民警察基本級執(zhí)法資格考試題庫及答案
評論
0/150
提交評論