未來DC數(shù)據(jù)中心的終極目標(biāo),是變成一臺(tái)超級(jí)計(jì)算機(jī),有著幾乎無限的計(jì)算能力和存儲(chǔ)資源,超大帶寬、超低延遲,上面跑無數(shù)的虛擬機(jī)或者容器之類的云計(jì)算平臺(tái)。谷歌近期發(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ò),最后對(duì)照谷歌Aquila架構(gòu),展望一下網(wǎng)絡(luò)架構(gòu)未來的演進(jìn)趨勢(shì)。
1、從承載網(wǎng)聊起
一般我們說到承載網(wǎng),是指基站和核心網(wǎng)各網(wǎng)元之間的組網(wǎng)。手機(jī)通過空口接入基站,基站通過光纖、交換機(jī),和核心網(wǎng)各網(wǎng)元進(jìn)行組網(wǎng),最后通過核心路由器,匯入互聯(lián)網(wǎng)。如圖1所示。從2G時(shí)代到5G時(shí)代,承載網(wǎng)技術(shù)在不斷演進(jìn),如圖2所示。
SDH主要用在GSM/2G時(shí)代的語音承載(也叫CS電路交換,不是那個(gè)真人射擊游戲CS,而是Circuit Switching),TDM時(shí)分復(fù)用、雙向環(huán)狀組網(wǎng)、塊狀幀結(jié)構(gòu),憑借著極高的服務(wù)質(zhì)量和可管理性,一度統(tǒng)治了傳輸網(wǎng),如圖3所示。市場(chǎng)經(jīng)濟(jì)中,做生意最難的不是生產(chǎn),而是找到合適、持續(xù)的買家來消費(fèi)。語音時(shí)代,就是打電話,需求剛性、穩(wěn)定、明確,一切都好說。
圖3 SDH組網(wǎng)圖(圖片來源:ITU)
到了3/4G時(shí)代,語音通話占比急劇降低,IP業(yè)務(wù)比重越來越大,原因也不復(fù)雜,大家看一下自己打電話、玩微信、刷抖音的時(shí)間分配。IP和Eth這倆貨,都是秉承著無連接、盡力而為的原則(這兩點(diǎn)后面會(huì)反復(fù)提及),包大小變長(zhǎng)、不固定,和SDH的剛性網(wǎng)絡(luò)格格不入。為了填平這個(gè)GAP,MSTP(MSTP = SDH + 以太網(wǎng) + ATM)、MSTP+被推了出來,給SDH續(xù)了十年左右的命。
但隨著IP占比逐漸達(dá)到壓倒性優(yōu)勢(shì),SDH再也湊活不下去了,PTN應(yīng)運(yùn)而生。之前看過一個(gè)公式,PTN = MPLS + OAM + 保護(hù) - IP,要理解這個(gè)公式,咱們得先看看MPLS是啥,如圖4所示。
圖4 IP與MPLS轉(zhuǎn)發(fā)的基本行為對(duì)比(圖片來源:《圖解網(wǎng)絡(luò)硬件》)
OSI參考模型中,ATM和Eth都位于L2(當(dāng)然Eth也是有L1物理層規(guī)范的),但設(shè)計(jì)原則、幀結(jié)構(gòu)完全不同。以太幀的原則是變長(zhǎng)、無連接、盡力而為,ATM是定長(zhǎng)、有連接(其實(shí)ATM是TDM技術(shù)的一個(gè)升級(jí)、優(yōu)化版本),在兩者的競(jìng)爭(zhēng)中,憑借著和IP的設(shè)計(jì)理念一致,Eth逐漸勝出,現(xiàn)在ATM都不咋用了。
Eth和IP網(wǎng)絡(luò)中,無連接和盡力而為,是柄雙刃劍。在非超低延遲組網(wǎng)中,這個(gè)問題不大,交換機(jī)根據(jù)MAC地址,進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),路由器根據(jù)IP地址和子網(wǎng)掩碼,進(jìn)行最長(zhǎng)匹配,而且中高端的Switch和Gateway,目前都是ASIC硬件加速,部分掩蓋了QoS和延遲的缺陷。
但在超低延遲組網(wǎng)中,比如5G uRLLC承載和數(shù)據(jù)中心網(wǎng)絡(luò),QoS和延遲是關(guān)鍵指標(biāo)。既然Eth/IP和ATM各有千秋,業(yè)界就搞出了個(gè)MPLS。簡(jiǎn)單來講,MPLS屬于OSI參考模型中的2.5層,向IP提供連接服務(wù),本質(zhì)是隧道技術(shù)的一種,L2可以采用Eth,也可以用其他的層二技術(shù)。
傳統(tǒng)路由中,分為動(dòng)態(tài)路由和靜態(tài)路由。動(dòng)態(tài)路由主要由RIP、OSPF、BGP這些路由協(xié)議(通過UDP/TCP承載),在Gateway之間同步路由表,實(shí)際上是無連接的分布式處理。因?yàn)镮P網(wǎng)絡(luò)是M國軍方設(shè)計(jì)的,一開始的目標(biāo),就是在極端情況下,各核心部門,依然能夠保持通訊暢通,所以分布式、去中心化的設(shè)計(jì)是必然的。帶來的額外負(fù)擔(dān),就是每個(gè)路由器節(jié)點(diǎn),都要維護(hù)一個(gè)巨大的路由表。如果你仔細(xì)閱讀谷歌論文,會(huì)發(fā)現(xiàn)Aquila中,會(huì)在TiN中只維護(hù)一個(gè)小表,這個(gè)和MPLS類似。
MPLS架構(gòu)中,為了建立連接、減少路由表的查找和維護(hù)負(fù)擔(dān),會(huì)根據(jù)路由協(xié)議下發(fā)的路由表信息,由邊緣路由器節(jié)點(diǎn),生成局部標(biāo)簽,這個(gè)Tag就相當(dāng)于一條虛擬的鏈接標(biāo)識(shí),后面MPLS的內(nèi)部路由器,根據(jù)標(biāo)簽直接轉(zhuǎn)發(fā),相當(dāng)于對(duì)路由表進(jìn)行了提取和抽象,后面直接用即可,所以MPLS和動(dòng)態(tài)路由,還是有很多關(guān)聯(lián)。
PTN公式中的 - IP,實(shí)際上就是把MPLS中的動(dòng)態(tài)路由,改成了由控制面的網(wǎng)管,進(jìn)行統(tǒng)一的配置和下發(fā),同時(shí)L2層面,硬件支持OAM PDU幀的解析、處理,這方面借鑒了SDH中豐富的可維護(hù)性設(shè)計(jì),大家都在互相融合,或者說互相抄襲。
2、聊聊數(shù)據(jù)中心網(wǎng)絡(luò)
聊完運(yùn)營商的承載網(wǎng),再來看看數(shù)據(jù)中心(DC)網(wǎng)絡(luò)。在這兩種網(wǎng)絡(luò)的組網(wǎng)拓?fù)渲校伎梢苑譃榻尤雽?、匯聚層、核心層,只是DC網(wǎng)絡(luò)的演進(jìn)更為劇烈。如圖5所示。
圖5 數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)(圖片來源:Cisco官網(wǎng))
通信企業(yè)經(jīng)常說端、管、云協(xié)同演進(jìn),這里面的端,主要指手機(jī)移動(dòng)終端,管主要指承載網(wǎng),云要稍微解釋一下。
通常意義上,云計(jì)算是互聯(lián)網(wǎng)廠商的領(lǐng)域,畢竟他們的各種業(yè)務(wù),比如微信、支付寶、抖音的后端,都是通過PaaS、IaaS這些云計(jì)算平臺(tái),承載在數(shù)據(jù)中心機(jī)房的一堆服務(wù)器上。但實(shí)際上,現(xiàn)在核心網(wǎng)的網(wǎng)元,都已經(jīng)云化了,這一點(diǎn)和互聯(lián)網(wǎng)廠商是一致的。
早期亞馬遜這些互聯(lián)網(wǎng)巨頭,發(fā)現(xiàn)他們自家的服務(wù)器和云服務(wù),在滿足自身業(yè)務(wù)需求的同時(shí),還有富余,可以對(duì)外售賣,這就是目前主流的公有云由來。另外說一句,亞馬遜在云計(jì)算領(lǐng)域,目前是無可爭(zhēng)議的王者,引領(lǐng)各種技術(shù)路線的演進(jìn)。
云計(jì)算都是承載在大量的服務(wù)器上,這些機(jī)器部署在數(shù)據(jù)中心機(jī)房中。本來傳統(tǒng)的C/S架構(gòu),終端發(fā)請(qǐng)求,比如訪問某個(gè)網(wǎng)站頁面,通過承載網(wǎng)、骨干網(wǎng)的一堆交換機(jī)、路由器,一路到了數(shù)據(jù)中心的機(jī)房,服務(wù)器就給你返回一堆網(wǎng)頁數(shù)據(jù),終端收到數(shù)據(jù)后,瀏覽器引擎解析、展示。
但隨著搜索引擎、大數(shù)據(jù)處理、人工智能這些領(lǐng)域的應(yīng)用興起,DC的單臺(tái)服務(wù)器無法滿足大量計(jì)算和存儲(chǔ)的需求,分布式架構(gòu)成為必然。同時(shí)云計(jì)算中的熱遷移、備份、容災(zāi)和隔離需求日漸增多,DC原有的南北向(C/S)和東西向(內(nèi)部節(jié)點(diǎn)之間)流量對(duì)比關(guān)系發(fā)生變化,原有的松耦合帶來的通信瓶頸,日趨明顯。
這里多說一句存儲(chǔ),在SSD固態(tài)硬盤之前,HDD是絕對(duì)的主流。受限于物理磁盤的尋道時(shí)延,HDD讀寫延遲早已逼近物理極限,所以那個(gè)時(shí)候DC內(nèi)部存儲(chǔ)部分的網(wǎng)絡(luò)時(shí)延,都顯得問題不大。SSD沒有物理磁盤,內(nèi)部是一堆Flash器件 + 控制器,速度極快,配合專為非易失性存儲(chǔ)設(shè)計(jì)的NVMe和NVMeOF,網(wǎng)絡(luò)時(shí)延從小頭變成了大頭,木桶效應(yīng)之下,網(wǎng)絡(luò)帶寬、時(shí)延和QoS優(yōu)化勢(shì)在必行。
在DPU之前,業(yè)界整了一堆技術(shù)和解決方案,比如英特爾,他們一直是以處理器為核心,主推DPDK加速,通過用戶態(tài)驅(qū)動(dòng),ByPass內(nèi)核協(xié)議棧,中斷改為Poll輪詢,降低了用戶態(tài)和內(nèi)核態(tài)的切換開銷,以及內(nèi)存Copy負(fù)擔(dān),配合一些新增的類似AVX 512的專用指令,但本質(zhì)上還是TCP/IP那一套。
Mellanox(已被Nvidia收購),搞出了個(gè)IB(Infinite Band,聽名字就很牛,無限帶寬),上層承載RDMA協(xié)議,憑借其超高帶寬、超低延遲、超可靠傳輸,在DC內(nèi)部大行其道,但I(xiàn)B需要專用的NIC網(wǎng)卡、連接線纜和交換機(jī),一套下來貴的嚇人,急需降成本。如圖6所示。
這里說一下,RDMA和TCP/IP是并列或者說競(jìng)爭(zhēng)關(guān)系,TCP/IP的優(yōu)點(diǎn)是生態(tài)繁榮、穩(wěn)定,缺點(diǎn)是軟件參與過多,準(zhǔn)確說是內(nèi)核協(xié)議棧,所以延遲很大。SmartNIC中,會(huì)通過硬件offload一部分TCP/IP軟件開銷,但TCP/IP協(xié)議棧的設(shè)計(jì)理念和實(shí)現(xiàn)復(fù)雜度,就不是為了硬件設(shè)計(jì)的。
圖6 Infinite Band架構(gòu)(圖片來源:知乎 @Savir)
RDMA則不同,設(shè)計(jì)之初,和IB的L2/Phy配合,都是硬化實(shí)現(xiàn),軟件開銷急速降低,省出來的CPU資源,給云計(jì)算的用戶和上層應(yīng)用來用,如圖7所示,就問你香不香。IB好是好,就是太貴,能不能像ATM和Eth融合一樣,搞出了個(gè)類似MPLS的新玩意呢,這就是后來的RoCE和RoCEv2。通過以太網(wǎng)卡和以太交換機(jī),來承載RDMA協(xié)議,這樣一來,只要網(wǎng)卡升級(jí)一下,線纜和交換機(jī)都是現(xiàn)成的,只是上層應(yīng)用需要調(diào)用Verbs接口,替換原來的Socket接口。
圖7 RDMA(圖片來源:知乎 @Savir)
最近DPU賽道很火,Nvidia收購Mellanox、Intel收購Barefoot,最近AMD把幾位前Cisco員工創(chuàng)辦的Pensando攬入麾下,加上亞馬遜的Nitro、阿里的神龍架構(gòu),還有最近國內(nèi)幾家初創(chuàng)公司,市場(chǎng)熱鬧的一塌糊涂。
我們來看DPU幾個(gè)核心的功能,首先是硬件Offload:
1、網(wǎng)絡(luò):RDMA、OVS交換機(jī)等
2、存儲(chǔ):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ī)范,將來也不一定會(huì)有。DPU是DSA架構(gòu)的一種實(shí)踐,屬于SmartNIC的升級(jí)版或者說下一代,同時(shí)ToR交換機(jī)、Spine - Leaf架構(gòu)網(wǎng)絡(luò),都還是存在的。
3、暢想未來網(wǎng)絡(luò)架構(gòu)的演進(jìn)趨勢(shì)
現(xiàn)在,我們終于可以開始討論谷歌的Aquila,先對(duì)照?qǐng)D8所示框架圖,說下論文中的幾個(gè)關(guān)鍵術(shù)語:
1、Aquila:數(shù)據(jù)中心的一種新型實(shí)驗(yàn)性質(zhì)的網(wǎng)絡(luò)架構(gòu)2、TiN:ToR in NIC,NIC和ToR交換機(jī)二合一,實(shí)現(xiàn)網(wǎng)卡+交換3、GNet:谷歌自定義二層子網(wǎng)和外部Eth/IP網(wǎng)絡(luò)之間的網(wǎng)關(guān)。
圖8 Aquila框架圖(圖片來源:谷歌Aquila論文)
從論文中可以看出,谷歌在現(xiàn)有的DC以太局域網(wǎng)基礎(chǔ)上,增加了自己設(shè)計(jì)的一個(gè)二層子網(wǎng),在不動(dòng)現(xiàn)有DC Spine Leaf + Eth/IP架構(gòu)的基礎(chǔ)上,構(gòu)建一個(gè)超低延遲的L2內(nèi)網(wǎng),滿足數(shù)據(jù)中心分布式計(jì)算、存儲(chǔ)的超低時(shí)延要求。
從架構(gòu)上看,Aquila = 自建IB + 傳統(tǒng)Eth/IP,既不是Overlay,也不是Underlay。TiN既然實(shí)現(xiàn)了NIC + 交換機(jī)的功能,那就繞不開SDN。Eth/IP都是盡力而為的分布式設(shè)計(jì),加上多設(shè)備廠商混戰(zhàn),所以在前期,QoS、組網(wǎng)、網(wǎng)優(yōu)、清障都非常麻煩,長(zhǎng)期下去要炸毛。
原有的交換機(jī)/路由器中,控制面和數(shù)據(jù)面都有,各自為戰(zhàn)。SDN實(shí)際上就是把各個(gè)交換機(jī)/路由器的控制面職能回收,統(tǒng)一管理,讓SW/Gateway只負(fù)責(zé)數(shù)據(jù)面轉(zhuǎn)發(fā)??刂破骱徒粨Q機(jī)之間建立安全通道,通過各種消息,在合適的時(shí)機(jī)下發(fā)流表,也就是大家常說的OpenFlow,指揮交換機(jī)如何對(duì)各個(gè)以太幀/IP報(bào)文進(jìn)行處理。
OpenFlow流表中,有三個(gè)關(guān)鍵要素,key + action + counter。交換機(jī)通過key(比如經(jīng)典的五元組),查找TCAM表,進(jìn)行Eth幀/IP報(bào)文匹配,然后執(zhí)行流表中的action,同時(shí)更新各種counter計(jì)數(shù)。流表類似于處理器架構(gòu)中的指令集,比如指令中有Opcode,取指完成后會(huì)進(jìn)行譯碼,根據(jù)指令類型,進(jìn)行ALU計(jì)算或者訪存,最后將結(jié)果寫回寄存器或者內(nèi)存。
從生態(tài)角度,NIC和交換機(jī)/路由器大家各司其職,Aquila中的TiN搞了個(gè)二合一,相當(dāng)于是把DC市場(chǎng)切了一份出來,搞自己獨(dú)立的L2子網(wǎng),這部分市場(chǎng)的NIC/DPU/ToR都被干掉了,然后谷歌還要搞自己的SDN控制器。
再來看一下Aquila的關(guān)鍵特性:
1、信元交換:取代原有的以太幀
2、無損網(wǎng)絡(luò):強(qiáng)大的流控和QoS
3、自適應(yīng)路由:TiN之間協(xié)同。
回憶一下開篇介紹的ATM、Eth、MPLS,有沒有發(fā)現(xiàn)相似之處。其實(shí)現(xiàn)在交換機(jī)、路由器內(nèi)部設(shè)計(jì)中,Eth幀進(jìn)來以后,也會(huì)轉(zhuǎn)換成各家自定義的信元,進(jìn)行CrossBar的交換和處理?;谛旁陀羞B接的設(shè)計(jì),流控和QoS實(shí)現(xiàn)會(huì)簡(jiǎn)單很多。
可以對(duì)照一下最近很火的Chiplet。傳統(tǒng)的中小型SoC設(shè)計(jì)中,片上網(wǎng)絡(luò)一般是共享總線,比如AMBA3 AXI。隨著片內(nèi)核的數(shù)量增多,衍生出Ring環(huán)形總線和Mesh網(wǎng)絡(luò),此時(shí)的片內(nèi),實(shí)際上已經(jīng)有了交換/路由的影子,幾十上百個(gè)核,通過內(nèi)部專用信號(hào)線,連上片內(nèi)的路由節(jié)點(diǎn),然后多個(gè)路由節(jié)點(diǎn)之間,進(jìn)行報(bào)文收發(fā),實(shí)現(xiàn)Mesh組網(wǎng),只是內(nèi)部的報(bào)文,格式一般都是CPU廠商自定義的,比如ARM的AMBA5 CHI。
隨著單Die面積變大,受晶圓面積和良率關(guān)系限制,單芯片方案逐漸顯露瓶頸,無法集成更多的核或者加速引擎,多芯片拼接需求增多,加上2.5D/3D高級(jí)封裝技術(shù),應(yīng)用日趨成熟,類似HBM這種堆疊的Chiplet方案也開始增多。前段時(shí)間英特爾搞了個(gè)UCIe聯(lián)盟,想在Chiplet領(lǐng)域復(fù)制PCIe的輝煌,其實(shí)本質(zhì)就是片間互聯(lián)網(wǎng)絡(luò)的生態(tài),開始構(gòu)建了。
回到開篇的超級(jí)計(jì)算機(jī)話題,從SoC片內(nèi)總線,到Chiplet片間互聯(lián)網(wǎng)絡(luò),再到谷歌Aquila實(shí)驗(yàn)性的數(shù)據(jù)中心全新二層子網(wǎng),其實(shí)本質(zhì)都是為了這個(gè)終極的目標(biāo)來服務(wù),從晶圓、基板、PCB,到數(shù)據(jù)中心服務(wù)器之間,超大帶寬、超低延遲、超強(qiáng)流控的網(wǎng)絡(luò),在從內(nèi)向外擴(kuò)展。因?yàn)樵跀?shù)據(jù)中心領(lǐng)域,運(yùn)營商的話語權(quán)不像電信承載網(wǎng)這么大,芯片巨頭和云計(jì)算廠商,有動(dòng)力、有預(yù)算、也有技術(shù)空間去進(jìn)行重構(gòu)、優(yōu)化。
運(yùn)營商的承載網(wǎng),在5G eMMB超高帶寬、URLLC超低延遲的壓力和需求下,正在進(jìn)行劇烈的變化和演進(jìn),5G承載和LTE承載之間,已經(jīng)發(fā)生了巨大的變化和改進(jìn)。MPLS、PTN、OTN這些技術(shù)能在承載網(wǎng)落地生根,除了其高效的OAM外,強(qiáng)大的QoS亦功不可沒,當(dāng)然前提是基站和核心網(wǎng)之間的組網(wǎng)中,網(wǎng)絡(luò)的動(dòng)態(tài)拓?fù)渥兓皇欠浅4?。如圖9所示。
圖9 網(wǎng)絡(luò)切片(圖片來源:無線深海)
谷歌的Aquila數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu),從某種程度上,也是借鑒了CT網(wǎng)絡(luò)架構(gòu)的一些理念,來解決IT網(wǎng)絡(luò)中的時(shí)延確定性需求,撇開了傳統(tǒng)的二層以太網(wǎng),繞過了Nvidia收購Mellanox后把持的Infinite Band,構(gòu)建了一個(gè)類似RDMA的軟硬件全棧生態(tài),為此還專門設(shè)計(jì)了TiN和GNet芯片(工藝節(jié)點(diǎn)未知),投入如此巨大的資源,相信如同其AI領(lǐng)域的TensorFlow框架一樣,這一切只是個(gè)開始,DPU的大幕正在徐徐拉開,我們拭目以待。
正如計(jì)算機(jī)體系結(jié)構(gòu)的一代宗師,David Patterson和John Hennessy,在其2017年著名的論文《計(jì)算機(jī)體系架構(gòu)的新黃金時(shí)代》中所預(yù)言的那樣,“計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域?qū)⒂瓉碛忠粋€(gè)黃金十年,就像20世紀(jì)80年代那時(shí)一樣,新的架構(gòu)設(shè)計(jì)將會(huì)帶來更低的成本,更優(yōu)的能耗、安全和性能?!?/p>
正所謂軟件定義一切、硬件加速一切、網(wǎng)絡(luò)連接一切。
END
小知識(shí)1:DPU是Data Processing Unit的簡(jiǎn)稱,它是最新發(fā)展起來的專用處理器的一個(gè)大類,是繼CPU、GPU之后,數(shù)據(jù)中心場(chǎng)景中的第三顆重要算力芯片,為高帶寬、低延遲、數(shù)據(jù)密集的計(jì)算場(chǎng)景提供計(jì)算引擎。
小知識(shí)2:Aquila是一種實(shí)驗(yàn)性的數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu),將超低延遲作為核心設(shè)計(jì)目標(biāo),同時(shí)也支持傳統(tǒng)的數(shù)據(jù)中心業(yè)務(wù)。Aquila使用了一種新的二層基于單元的協(xié)議、GNet、一個(gè)集成交換機(jī)和一個(gè)定制的ASIC,ASIC和GNet一同設(shè)計(jì),并具有低延遲遠(yuǎn)程存儲(chǔ)訪問(RMA)。Aquila能夠?qū)崿F(xiàn)40?s以下的IP流量拖尾結(jié)構(gòu)往返時(shí)間 (RTT) 和低于10?s的跨數(shù)百臺(tái)主機(jī)的RMA執(zhí)行時(shí)間。