《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 從DPU看未來網(wǎng)絡(luò)架構(gòu)的演進趨勢

從DPU看未來網(wǎng)絡(luò)架構(gòu)的演進趨勢

2022-05-06
作者:半山
來源: 半導(dǎo)體行業(yè)觀察

  未來DC數(shù)據(jù)中心的終極目標(biāo),,是變成一臺超級計算機,,有著幾乎無限的計算能力和存儲資源,超大帶寬,、超低延遲,,上面跑無數(shù)的虛擬機或者容器之類的云計算平臺。谷歌近期發(fā)布一篇關(guān)于Aquila網(wǎng)絡(luò)架構(gòu)的文章,,今天我們就順著最近大熱的DPU,,來聊聊網(wǎng)絡(luò)架構(gòu)。

  作為芯片和通訊行業(yè)從業(yè)者,,我們先從承載網(wǎng)聊起(也叫傳輸網(wǎng)),,然后再說數(shù)據(jù)中心網(wǎng)絡(luò),最后對照谷歌Aquila架構(gòu),,展望一下網(wǎng)絡(luò)架構(gòu)未來的演進趨勢,。

  1、從承載網(wǎng)聊起

  一般我們說到承載網(wǎng),,是指基站和核心網(wǎng)各網(wǎng)元之間的組網(wǎng),。手機通過空口接入基站,基站通過光纖,、交換機,,和核心網(wǎng)各網(wǎng)元進行組網(wǎng),最后通過核心路由器,,匯入互聯(lián)網(wǎng),。如圖1所示。從2G時代到5G時代,,承載網(wǎng)技術(shù)在不斷演進,,如圖2所示。

微信截圖_20220506094804.png

  SDH主要用在GSM/2G時代的語音承載(也叫CS電路交換,,不是那個真人射擊游戲CS,,而是Circuit Switching),TDM時分復(fù)用,、雙向環(huán)狀組網(wǎng),、塊狀幀結(jié)構(gòu),憑借著極高的服務(wù)質(zhì)量和可管理性,,一度統(tǒng)治了傳輸網(wǎng),,如圖3所示。市場經(jīng)濟中,,做生意最難的不是生產(chǎn),,而是找到合適、持續(xù)的買家來消費。語音時代,,就是打電話,,需求剛性、穩(wěn)定,、明確,,一切都好說。

 微信圖片_20220506094837.jpg

  圖3 SDH組網(wǎng)圖(圖片來源:ITU)

  到了3/4G時代,,語音通話占比急劇降低,,IP業(yè)務(wù)比重越來越大,原因也不復(fù)雜,,大家看一下自己打電話,、玩微信、刷抖音的時間分配,。IP和Eth這倆貨,,都是秉承著無連接、盡力而為的原則(這兩點后面會反復(fù)提及),,包大小變長,、不固定,和SDH的剛性網(wǎng)絡(luò)格格不入,。為了填平這個GAP,,MSTP(MSTP = SDH + 以太網(wǎng) + ATM)、MSTP+被推了出來,,給SDH續(xù)了十年左右的命,。

  但隨著IP占比逐漸達到壓倒性優(yōu)勢,SDH再也湊活不下去了,,PTN應(yīng)運而生,。之前看過一個公式,PTN = MPLS + OAM + 保護 - IP,,要理解這個公式,,咱們得先看看MPLS是啥,如圖4所示,。

微信圖片_20220506094912.png

  圖4 IP與MPLS轉(zhuǎn)發(fā)的基本行為對比(圖片來源:《圖解網(wǎng)絡(luò)硬件》)

      OSI參考模型中,ATM和Eth都位于L2(當(dāng)然Eth也是有L1物理層規(guī)范的),,但設(shè)計原則,、幀結(jié)構(gòu)完全不同。以太幀的原則是變長,、無連接,、盡力而為,ATM是定長、有連接(其實ATM是TDM技術(shù)的一個升級,、優(yōu)化版本),,在兩者的競爭中,憑借著和IP的設(shè)計理念一致,,Eth逐漸勝出,,現(xiàn)在ATM都不咋用了。

  Eth和IP網(wǎng)絡(luò)中,,無連接和盡力而為,,是柄雙刃劍。在非超低延遲組網(wǎng)中,,這個問題不大,,交換機根據(jù)MAC地址,進行存儲轉(zhuǎn)發(fā),,路由器根據(jù)IP地址和子網(wǎng)掩碼,,進行最長匹配,而且中高端的Switch和Gateway,,目前都是ASIC硬件加速,,部分掩蓋了QoS和延遲的缺陷。

  但在超低延遲組網(wǎng)中,,比如5G uRLLC承載和數(shù)據(jù)中心網(wǎng)絡(luò),,QoS和延遲是關(guān)鍵指標(biāo)。既然Eth/IP和ATM各有千秋,,業(yè)界就搞出了個MPLS,。簡單來講,MPLS屬于OSI參考模型中的2.5層,,向IP提供連接服務(wù),,本質(zhì)是隧道技術(shù)的一種,L2可以采用Eth,,也可以用其他的層二技術(shù),。

  傳統(tǒng)路由中,分為動態(tài)路由和靜態(tài)路由,。動態(tài)路由主要由RIP,、OSPF、BGP這些路由協(xié)議(通過UDP/TCP承載),,在Gateway之間同步路由表,,實際上是無連接的分布式處理。因為IP網(wǎng)絡(luò)是M國軍方設(shè)計的,,一開始的目標(biāo),,就是在極端情況下,,各核心部門,依然能夠保持通訊暢通,,所以分布式,、去中心化的設(shè)計是必然的。帶來的額外負擔(dān),,就是每個路由器節(jié)點,,都要維護一個巨大的路由表。如果你仔細閱讀谷歌論文,,會發(fā)現(xiàn)Aquila中,,會在TiN中只維護一個小表,這個和MPLS類似,。

  MPLS架構(gòu)中,,為了建立連接、減少路由表的查找和維護負擔(dān),,會根據(jù)路由協(xié)議下發(fā)的路由表信息,,由邊緣路由器節(jié)點,生成局部標(biāo)簽,,這個Tag就相當(dāng)于一條虛擬的鏈接標(biāo)識,,后面MPLS的內(nèi)部路由器,根據(jù)標(biāo)簽直接轉(zhuǎn)發(fā),,相當(dāng)于對路由表進行了提取和抽象,,后面直接用即可,所以MPLS和動態(tài)路由,,還是有很多關(guān)聯(lián),。

  PTN公式中的 - IP,實際上就是把MPLS中的動態(tài)路由,,改成了由控制面的網(wǎng)管,,進行統(tǒng)一的配置和下發(fā),同時L2層面,,硬件支持OAM PDU幀的解析,、處理,這方面借鑒了SDH中豐富的可維護性設(shè)計,,大家都在互相融合,,或者說互相抄襲。

  2,、聊聊數(shù)據(jù)中心網(wǎng)絡(luò)

  聊完運營商的承載網(wǎng),,再來看看數(shù)據(jù)中心(DC)網(wǎng)絡(luò)。在這兩種網(wǎng)絡(luò)的組網(wǎng)拓撲中,,都可以分為接入層,、匯聚層、核心層,,只是DC網(wǎng)絡(luò)的演進更為劇烈,。如圖5所示。

微信圖片_20220506094949.png

  圖5 數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)(圖片來源:Cisco官網(wǎng))

      通信企業(yè)經(jīng)常說端,、管,、云協(xié)同演進,這里面的端,,主要指手機移動終端,,管主要指承載網(wǎng),云要稍微解釋一下,。

  通常意義上,,云計算是互聯(lián)網(wǎng)廠商的領(lǐng)域,畢竟他們的各種業(yè)務(wù),,比如微信,、支付寶、抖音的后端,,都是通過PaaS,、IaaS這些云計算平臺,承載在數(shù)據(jù)中心機房的一堆服務(wù)器上,。但實際上,,現(xiàn)在核心網(wǎng)的網(wǎng)元,都已經(jīng)云化了,,這一點和互聯(lián)網(wǎng)廠商是一致的,。

  早期亞馬遜這些互聯(lián)網(wǎng)巨頭,發(fā)現(xiàn)他們自家的服務(wù)器和云服務(wù),,在滿足自身業(yè)務(wù)需求的同時,,還有富余,可以對外售賣,,這就是目前主流的公有云由來,。另外說一句,亞馬遜在云計算領(lǐng)域,,目前是無可爭議的王者,,引領(lǐng)各種技術(shù)路線的演進。

  云計算都是承載在大量的服務(wù)器上,,這些機器部署在數(shù)據(jù)中心機房中,。本來傳統(tǒng)的C/S架構(gòu),終端發(fā)請求,,比如訪問某個網(wǎng)站頁面,,通過承載網(wǎng),、骨干網(wǎng)的一堆交換機、路由器,,一路到了數(shù)據(jù)中心的機房,,服務(wù)器就給你返回一堆網(wǎng)頁數(shù)據(jù),終端收到數(shù)據(jù)后,,瀏覽器引擎解析,、展示。

  但隨著搜索引擎,、大數(shù)據(jù)處理,、人工智能這些領(lǐng)域的應(yīng)用興起,DC的單臺服務(wù)器無法滿足大量計算和存儲的需求,,分布式架構(gòu)成為必然,。同時云計算中的熱遷移、備份,、容災(zāi)和隔離需求日漸增多,,DC原有的南北向(C/S)和東西向(內(nèi)部節(jié)點之間)流量對比關(guān)系發(fā)生變化,原有的松耦合帶來的通信瓶頸,,日趨明顯,。

  這里多說一句存儲,在SSD固態(tài)硬盤之前,,HDD是絕對的主流,。受限于物理磁盤的尋道時延,HDD讀寫延遲早已逼近物理極限,,所以那個時候DC內(nèi)部存儲部分的網(wǎng)絡(luò)時延,,都顯得問題不大。SSD沒有物理磁盤,,內(nèi)部是一堆Flash器件 + 控制器,,速度極快,配合專為非易失性存儲設(shè)計的NVMe和NVMeOF,,網(wǎng)絡(luò)時延從小頭變成了大頭,,木桶效應(yīng)之下,網(wǎng)絡(luò)帶寬,、時延和QoS優(yōu)化勢在必行,。

  在DPU之前,業(yè)界整了一堆技術(shù)和解決方案,,比如英特爾,,他們一直是以處理器為核心,主推DPDK加速,,通過用戶態(tài)驅(qū)動,,ByPass內(nèi)核協(xié)議棧,,中斷改為Poll輪詢,降低了用戶態(tài)和內(nèi)核態(tài)的切換開銷,,以及內(nèi)存Copy負擔(dān),,配合一些新增的類似AVX 512的專用指令,但本質(zhì)上還是TCP/IP那一套,。

  Mellanox(已被Nvidia收購),搞出了個IB(Infinite Band,,聽名字就很牛,,無限帶寬),上層承載RDMA協(xié)議,,憑借其超高帶寬,、超低延遲、超可靠傳輸,,在DC內(nèi)部大行其道,,但IB需要專用的NIC網(wǎng)卡、連接線纜和交換機,,一套下來貴的嚇人,,急需降成本。如圖6所示,。

  這里說一下,,RDMA和TCP/IP是并列或者說競爭關(guān)系,TCP/IP的優(yōu)點是生態(tài)繁榮,、穩(wěn)定,,缺點是軟件參與過多,準(zhǔn)確說是內(nèi)核協(xié)議棧,,所以延遲很大,。SmartNIC中,會通過硬件offload一部分TCP/IP軟件開銷,,但TCP/IP協(xié)議棧的設(shè)計理念和實現(xiàn)復(fù)雜度,,就不是為了硬件設(shè)計的。

微信圖片_20220506095146.jpg

  圖6 Infinite Band架構(gòu)(圖片來源:知乎 @Savir)

     RDMA則不同,,設(shè)計之初,,和IB的L2/Phy配合,都是硬化實現(xiàn),,軟件開銷急速降低,,省出來的CPU資源,給云計算的用戶和上層應(yīng)用來用,,如圖7所示,,就問你香不香,。IB好是好,就是太貴,,能不能像ATM和Eth融合一樣,,搞出了個類似MPLS的新玩意呢,這就是后來的RoCE和RoCEv2,。通過以太網(wǎng)卡和以太交換機,,來承載RDMA協(xié)議,這樣一來,,只要網(wǎng)卡升級一下,,線纜和交換機都是現(xiàn)成的,只是上層應(yīng)用需要調(diào)用Verbs接口,,替換原來的Socket接口,。

  微信圖片_20220506095204.jpg

圖7 RDMA(圖片來源:知乎 @Savir)

  最近DPU賽道很火,Nvidia收購Mellanox,、Intel收購Barefoot,,最近AMD把幾位前Cisco員工創(chuàng)辦的Pensando攬入麾下,加上亞馬遜的Nitro,、阿里的神龍架構(gòu),,還有最近國內(nèi)幾家初創(chuàng)公司,市場熱鬧的一塌糊涂,。

  我們來看DPU幾個核心的功能,,首先是硬件Offload:

  1、網(wǎng)絡(luò):RDMA,、OVS交換機等

  2,、存儲:NVMeOF(Over Fabric)等

  3、虛擬化:Virtio,、SR-IOV,、VxLAN(基于UDP的一種大二層隧道技術(shù))4、安全:加解密,、IPSec等

  5,、數(shù)據(jù):壓縮、解壓

  然后是IaaS/PaaS接管:

  6,、雙Hypervisor:原有的Hyper變輕,、變薄,新增的下沉到DPU內(nèi)置的核,,一般是ARM,,最近有采用RISC-V替換的苗頭。

  目前關(guān)于DPU,業(yè)界還沒有統(tǒng)一的定義或者規(guī)范,,將來也不一定會有,。DPU是DSA架構(gòu)的一種實踐,屬于SmartNIC的升級版或者說下一代,,同時ToR交換機,、Spine - Leaf架構(gòu)網(wǎng)絡(luò),都還是存在的,。

  3,、暢想未來網(wǎng)絡(luò)架構(gòu)的演進趨勢

  現(xiàn)在,我們終于可以開始討論谷歌的Aquila,,先對照圖8所示框架圖,,說下論文中的幾個關(guān)鍵術(shù)語:

  1、Aquila:數(shù)據(jù)中心的一種新型實驗性質(zhì)的網(wǎng)絡(luò)架構(gòu)2,、TiN:ToR in NIC,NIC和ToR交換機二合一,,實現(xiàn)網(wǎng)卡+交換3,、GNet:谷歌自定義二層子網(wǎng)和外部Eth/IP網(wǎng)絡(luò)之間的網(wǎng)關(guān)。

微信圖片_20220506095248.png

  圖8 Aquila框架圖(圖片來源:谷歌Aquila論文)

      從論文中可以看出,,谷歌在現(xiàn)有的DC以太局域網(wǎng)基礎(chǔ)上,,增加了自己設(shè)計的一個二層子網(wǎng),在不動現(xiàn)有DC Spine Leaf + Eth/IP架構(gòu)的基礎(chǔ)上,,構(gòu)建一個超低延遲的L2內(nèi)網(wǎng),,滿足數(shù)據(jù)中心分布式計算、存儲的超低時延要求,。

  從架構(gòu)上看,,Aquila = 自建IB + 傳統(tǒng)Eth/IP,既不是Overlay,,也不是Underlay,。TiN既然實現(xiàn)了NIC + 交換機的功能,那就繞不開SDN,。Eth/IP都是盡力而為的分布式設(shè)計,,加上多設(shè)備廠商混戰(zhàn),所以在前期,,QoS,、組網(wǎng)、網(wǎng)優(yōu),、清障都非常麻煩,,長期下去要炸毛。

  原有的交換機/路由器中,控制面和數(shù)據(jù)面都有,,各自為戰(zhàn),。SDN實際上就是把各個交換機/路由器的控制面職能回收,統(tǒng)一管理,,讓SW/Gateway只負責(zé)數(shù)據(jù)面轉(zhuǎn)發(fā),。控制器和交換機之間建立安全通道,,通過各種消息,,在合適的時機下發(fā)流表,也就是大家常說的OpenFlow,,指揮交換機如何對各個以太幀/IP報文進行處理,。

  OpenFlow流表中,有三個關(guān)鍵要素,,key + action + counter,。交換機通過key(比如經(jīng)典的五元組),查找TCAM表,,進行Eth幀/IP報文匹配,,然后執(zhí)行流表中的action,同時更新各種counter計數(shù),。流表類似于處理器架構(gòu)中的指令集,,比如指令中有Opcode,取指完成后會進行譯碼,,根據(jù)指令類型,,進行ALU計算或者訪存,最后將結(jié)果寫回寄存器或者內(nèi)存,。

  從生態(tài)角度,,NIC和交換機/路由器大家各司其職,Aquila中的TiN搞了個二合一,,相當(dāng)于是把DC市場切了一份出來,,搞自己獨立的L2子網(wǎng),這部分市場的NIC/DPU/ToR都被干掉了,,然后谷歌還要搞自己的SDN控制器,。

  再來看一下Aquila的關(guān)鍵特性:

  1、信元交換:取代原有的以太幀

  2,、無損網(wǎng)絡(luò):強大的流控和QoS

  3,、自適應(yīng)路由:TiN之間協(xié)同。

  回憶一下開篇介紹的ATM,、Eth,、MPLS,有沒有發(fā)現(xiàn)相似之處。其實現(xiàn)在交換機,、路由器內(nèi)部設(shè)計中,,Eth幀進來以后,也會轉(zhuǎn)換成各家自定義的信元,,進行CrossBar的交換和處理,。基于信元和有連接的設(shè)計,,流控和QoS實現(xiàn)會簡單很多,。

  可以對照一下最近很火的Chiplet。傳統(tǒng)的中小型SoC設(shè)計中,,片上網(wǎng)絡(luò)一般是共享總線,,比如AMBA3 AXI。隨著片內(nèi)核的數(shù)量增多,,衍生出Ring環(huán)形總線和Mesh網(wǎng)絡(luò),,此時的片內(nèi),實際上已經(jīng)有了交換/路由的影子,,幾十上百個核,,通過內(nèi)部專用信號線,連上片內(nèi)的路由節(jié)點,,然后多個路由節(jié)點之間,進行報文收發(fā),,實現(xiàn)Mesh組網(wǎng),,只是內(nèi)部的報文,格式一般都是CPU廠商自定義的,,比如ARM的AMBA5 CHI,。

  隨著單Die面積變大,受晶圓面積和良率關(guān)系限制,,單芯片方案逐漸顯露瓶頸,,無法集成更多的核或者加速引擎,多芯片拼接需求增多,,加上2.5D/3D高級封裝技術(shù),,應(yīng)用日趨成熟,類似HBM這種堆疊的Chiplet方案也開始增多,。前段時間英特爾搞了個UCIe聯(lián)盟,,想在Chiplet領(lǐng)域復(fù)制PCIe的輝煌,其實本質(zhì)就是片間互聯(lián)網(wǎng)絡(luò)的生態(tài),,開始構(gòu)建了,。

  回到開篇的超級計算機話題,從SoC片內(nèi)總線,到Chiplet片間互聯(lián)網(wǎng)絡(luò),,再到谷歌Aquila實驗性的數(shù)據(jù)中心全新二層子網(wǎng),,其實本質(zhì)都是為了這個終極的目標(biāo)來服務(wù),從晶圓,、基板,、PCB,到數(shù)據(jù)中心服務(wù)器之間,,超大帶寬,、超低延遲、超強流控的網(wǎng)絡(luò),,在從內(nèi)向外擴展,。因為在數(shù)據(jù)中心領(lǐng)域,運營商的話語權(quán)不像電信承載網(wǎng)這么大,,芯片巨頭和云計算廠商,,有動力、有預(yù)算,、也有技術(shù)空間去進行重構(gòu),、優(yōu)化。

  運營商的承載網(wǎng),,在5G eMMB超高帶寬,、URLLC超低延遲的壓力和需求下,正在進行劇烈的變化和演進,,5G承載和LTE承載之間,,已經(jīng)發(fā)生了巨大的變化和改進。MPLS,、PTN,、OTN這些技術(shù)能在承載網(wǎng)落地生根,除了其高效的OAM外,,強大的QoS亦功不可沒,,當(dāng)然前提是基站和核心網(wǎng)之間的組網(wǎng)中,網(wǎng)絡(luò)的動態(tài)拓撲變化不是非常大,。如圖9所示,。

微信圖片_20220506095312.jpg

  圖9 網(wǎng)絡(luò)切片(圖片來源:無線深海)

  谷歌的Aquila數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu),從某種程度上,,也是借鑒了CT網(wǎng)絡(luò)架構(gòu)的一些理念,,來解決IT網(wǎng)絡(luò)中的時延確定性需求,撇開了傳統(tǒng)的二層以太網(wǎng),,繞過了Nvidia收購Mellanox后把持的Infinite Band,,構(gòu)建了一個類似RDMA的軟硬件全棧生態(tài),,為此還專門設(shè)計了TiN和GNet芯片(工藝節(jié)點未知),投入如此巨大的資源,,相信如同其AI領(lǐng)域的TensorFlow框架一樣,,這一切只是個開始,DPU的大幕正在徐徐拉開,,我們拭目以待,。

  正如計算機體系結(jié)構(gòu)的一代宗師,David Patterson和John Hennessy,,在其2017年著名的論文《計算機體系架構(gòu)的新黃金時代》中所預(yù)言的那樣,,“計算機體系結(jié)構(gòu)領(lǐng)域?qū)⒂瓉碛忠粋€黃金十年,就像20世紀80年代那時一樣,,新的架構(gòu)設(shè)計將會帶來更低的成本,,更優(yōu)的能耗、安全和性能,?!?/p>

  正所謂軟件定義一切、硬件加速一切,、網(wǎng)絡(luò)連接一切,。

  END

  小知識1:DPU是Data Processing Unit的簡稱,它是最新發(fā)展起來的專用處理器的一個大類,,是繼CPU,、GPU之后,數(shù)據(jù)中心場景中的第三顆重要算力芯片,,為高帶寬,、低延遲、數(shù)據(jù)密集的計算場景提供計算引擎,。

  小知識2:Aquila是一種實驗性的數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu),將超低延遲作為核心設(shè)計目標(biāo),,同時也支持傳統(tǒng)的數(shù)據(jù)中心業(yè)務(wù),。Aquila使用了一種新的二層基于單元的協(xié)議、GNet,、一個集成交換機和一個定制的ASIC,,ASIC和GNet一同設(shè)計,并具有低延遲遠程存儲訪問(RMA),。Aquila能夠?qū)崿F(xiàn)40?s以下的IP流量拖尾結(jié)構(gòu)往返時間 (RTT) 和低于10?s的跨數(shù)百臺主機的RMA執(zhí)行時間,。





本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]