
來源:內容由半導體行業觀察(ID:icbank)轉載自公眾號【5G行業應用】,作者:半山,謝謝。
未來DC數據中心的終極目標,是變成一台超級計算機,有着幾乎無限的計算能力和存儲資源,超大帶寬、超低延遲,上面跑無數的虛擬機或者容器之類的雲計算平台。谷歌近期發布一篇關於Aquila網絡架構的文章,今天我們就順着最近大熱的DPU,來聊聊網絡架構。作為芯片和通訊行業從業者,我們先從承載網聊起(也叫傳輸網),然後再說數據中心網絡,最後對照谷歌Aquila架構,展望一下網絡架構未來的演進趨勢。一般我們說到承載網,是指基站和核心網各網元之間的組網。手機通過空口接入基站,基站通過光纖、交換機,和核心網各網元進行組網,最後通過核心路由器,匯入互聯網。如圖1所示。從2G時代到5G時代,承載網技術在不斷演進,如圖2所示。
圖1 承載網位置
圖2 承載網技術演進路線圖(圖片來源:無線深海)SDH主要用在GSM/2G時代的語音承載(也叫CS電路交換,不是那個真人射擊遊戲CS,而是Circuit Switching),TDM時分復用、雙向環狀組網、塊狀幀結構,憑藉着極高的服務質量和可管理性,一度統治了傳輸網,如圖3所示。市場經濟中,做生意最難的不是生產,而是找到合適、持續的買家來消費。語音時代,就是打電話,需求剛性、穩定、明確,一切都好說。
圖3 SDH組網圖(圖片來源:ITU)到了3/4G時代,語音通話占比急劇降低,IP業務比重越來越大,原因也不複雜,大家看一下自己打電話、玩微信、刷抖音的時間分配。IP和Eth這倆貨,都是秉承着無連接、盡力而為的原則(這兩點後面會反覆提及),包大小變長、不固定,和SDH的剛性網絡格格不入。為了填平這個GAP,MSTP(MSTP = SDH + 以太網 + ATM)、MSTP+被推了出來,給SDH續了十年左右的命。但隨着IP占比逐漸達到壓倒性優勢,SDH再也湊活不下去了,PTN應運而生。之前看過一個公式,PTN = MPLS + OAM + 保護 - IP,要理解這個公式,咱們得先看看MPLS是啥,如圖4所示。
圖4 IP與MPLS轉發的基本行為對比(圖片來源:《圖解網絡硬件》)OSI參考模型中,ATM和Eth都位於L2(當然Eth也是有L1物理層規範的),但設計原則、幀結構完全不同。以太幀的原則是變長、無連接、盡力而為,ATM是定長、有連接(其實ATM是TDM技術的一個升級、優化版本),在兩者的競爭中,憑藉着和IP的設計理念一致,Eth逐漸勝出,現在ATM都不咋用了。Eth和IP網絡中,無連接和盡力而為,是柄雙刃劍。在非超低延遲組網中,這個問題不大,交換機根據MAC地址,進行存儲轉發,路由器根據IP地址和子網掩碼,進行最長匹配,而且中高端的Switch和Gateway,目前都是ASIC硬件加速,部分掩蓋了QoS和延遲的缺陷。但在超低延遲組網中,比如5G uRLLC承載和數據中心網絡,QoS和延遲是關鍵指標。既然Eth/IP和ATM各有千秋,業界就搞出了個MPLS。簡單來講,MPLS屬於OSI參考模型中的2.5層,向IP提供連接服務,本質是隧道技術的一種,L2可以採用Eth,也可以用其他的層二技術。傳統路由中,分為動態路由和靜態路由。動態路由主要由RIP、OSPF、BGP這些路由協議(通過UDP/TCP承載),在Gateway之間同步路由表,實際上是無連接的分布式處理。因為IP網絡是M國軍方設計的,一開始的目標,就是在極端情況下,各核心部門,依然能夠保持通訊暢通,所以分布式、去中心化的設計是必然的。帶來的額外負擔,就是每個路由器節點,都要維護一個巨大的路由表。如果你仔細閱讀谷歌論文,會發現Aquila中,會在TiN中只維護一個小表,這個和MPLS類似。MPLS架構中,為了建立連接、減少路由表的查找和維護負擔,會根據路由協議下發的路由表信息,由邊緣路由器節點,生成局部標籤,這個Tag就相當於一條虛擬的鏈接標識,後面MPLS的內部路由器,根據標籤直接轉發,相當於對路由表進行了提取和抽象,後面直接用即可,所以MPLS和動態路由,還是有很多關聯。PTN公式中的 - IP,實際上就是把MPLS中的動態路由,改成了由控制面的網管,進行統一的配置和下發,同時L2層面,硬件支持OAM PDU幀的解析、處理,這方面借鑑了SDH中豐富的可維護性設計,大家都在互相融合,或者說互相抄襲。聊完運營商的承載網,再來看看數據中心(DC)網絡。在這兩種網絡的組網拓撲中,都可以分為接入層、匯聚層、核心層,只是DC網絡的演進更為劇烈。如圖5所示。
圖5 數據中心網絡架構(圖片來源:Cisco官網)通信企業經常說端、管、雲協同演進,這裡面的端,主要指手機移動終端,管主要指承載網,雲要稍微解釋一下。通常意義上,雲計算是互聯網廠商的領域,畢竟他們的各種業務,比如微信、支付寶、抖音的後端,都是通過PaaS、IaaS這些雲計算平台,承載在數據中心機房的一堆服務器上。但實際上,現在核心網的網元,都已經雲化了,這一點和互聯網廠商是一致的。早期亞馬遜這些互聯網巨頭,發現他們自家的服務器和雲服務,在滿足自身業務需求的同時,還有富餘,可以對外售賣,這就是目前主流的公有雲由來。另外說一句,亞馬遜在雲計算領域,目前是無可爭議的王者,引領各種技術路線的演進。雲計算都是承載在大量的服務器上,這些機器部署在數據中心機房中。本來傳統的C/S架構,終端發請求,比如訪問某個網站頁面,通過承載網、骨幹網的一堆交換機、路由器,一路到了數據中心的機房,服務器就給你返回一堆網頁數據,終端收到數據後,瀏覽器引擎解析、展示。但隨着搜索引擎、大數據處理、人工智能這些領域的應用興起,DC的單台服務器無法滿足大量計算和存儲的需求,分布式架構成為必然。同時雲計算中的熱遷移、備份、容災和隔離需求日漸增多,DC原有的南北向(C/S)和東西向(內部節點之間)流量對比關係發生變化,原有的鬆耦合帶來的通信瓶頸,日趨明顯。這裡多說一句存儲,在SSD固態硬盤之前,HDD是絕對的主流。受限於物理磁盤的尋道時延,HDD讀寫延遲早已逼近物理極限,所以那個時候DC內部存儲部分的網絡時延,都顯得問題不大。SSD沒有物理磁盤,內部是一堆Flash器件 + 控制器,速度極快,配合專為非易失性存儲設計的NVMe和NVMeOF,網絡時延從小頭變成了大頭,木桶效應之下,網絡帶寬、時延和QoS優化勢在必行。在DPU之前,業界整了一堆技術和解決方案,比如英特爾,他們一直是以處理器為核心,主推DPDK加速,通過用戶態驅動,ByPass內核協議棧,中斷改為Poll輪詢,降低了用戶態和內核態的切換開銷,以及內存Copy負擔,配合一些新增的類似AVX 512的專用指令,但本質上還是TCP/IP那一套。Mellanox(已被Nvidia收購),搞出了個IB(Infinite Band,聽名字就很牛,無限帶寬),上層承載RDMA協議,憑藉其超高帶寬、超低延遲、超可靠傳輸,在DC內部大行其道,但IB需要專用的NIC網卡、連接線纜和交換機,一套下來貴的嚇人,急需降成本。如圖6所示。這裡說一下,RDMA和TCP/IP是並列或者說競爭關係,TCP/IP的優點是生態繁榮、穩定,缺點是軟件參與過多,準確說是內核協議棧,所以延遲很大。SmartNIC中,會通過硬件offload一部分TCP/IP軟件開銷,但TCP/IP協議棧的設計理念和實現複雜度,就不是為了硬件設計的。
圖6 Infinite Band架構(圖片來源:知乎 @Savir)RDMA則不同,設計之初,和IB的L2/Phy配合,都是硬化實現,軟件開銷急速降低,省出來的CPU資源,給雲計算的用戶和上層應用來用,如圖7所示,就問你香不香。IB好是好,就是太貴,能不能像ATM和Eth融合一樣,搞出了個類似MPLS的新玩意呢,這就是後來的RoCE和RoCEv2。通過以太網卡和以太交換機,來承載RDMA協議,這樣一來,只要網卡升級一下,線纜和交換機都是現成的,只是上層應用需要調用Verbs接口,替換原來的Socket接口。
圖7 RDMA(圖片來源:知乎 @Savir)最近DPU賽道很火,Nvidia收購Mellanox、Intel收購Barefoot,最近AMD把幾位前Cisco員工創辦的Pensando攬入麾下,加上亞馬遜的Nitro、阿里的神龍架構,還有最近國內幾家初創公司,市場熱鬧的一塌糊塗。我們來看DPU幾個核心的功能,首先是硬件Offload:2、存儲:NVMeOF(Over Fabric)等3、虛擬化:Virtio、SR-IOV、VxLAN(基於UDP的一種大二層隧道技術)6、雙Hypervisor:原有的Hyper變輕、變薄,新增的下沉到DPU內置的核,一般是ARM,最近有採用RISC-V替換的苗頭。目前關於DPU,業界還沒有統一的定義或者規範,將來也不一定會有。DPU是DSA架構的一種實踐,屬於SmartNIC的升級版或者說下一代,同時ToR交換機、Spine - Leaf架構網絡,都還是存在的。現在,我們終於可以開始討論谷歌的Aquila,先對照圖8所示框架圖,說下論文中的幾個關鍵術語:1、Aquila:數據中心的一種新型實驗性質的網絡架構2、TiN:ToR in NIC,NIC和ToR交換機二合一,實現網卡+交換3、GNet:谷歌自定義二層子網和外部Eth/IP網絡之間的網關。
圖8 Aquila框架圖(圖片來源:谷歌Aquila論文)從論文中可以看出,谷歌在現有的DC以太局域網基礎上,增加了自己設計的一個二層子網,在不動現有DC Spine Leaf + Eth/IP架構的基礎上,構建一個超低延遲的L2內網,滿足數據中心分布式計算、存儲的超低時延要求。從架構上看,Aquila = 自建IB + 傳統Eth/IP,既不是Overlay,也不是Underlay。TiN既然實現了NIC + 交換機的功能,那就繞不開SDN。Eth/IP都是盡力而為的分布式設計,加上多設備廠商混戰,所以在前期,QoS、組網、網優、清障都非常麻煩,長期下去要炸毛。原有的交換機/路由器中,控制面和數據面都有,各自為戰。SDN實際上就是把各個交換機/路由器的控制面職能回收,統一管理,讓SW/Gateway只負責數據面轉發。控制器和交換機之間建立安全通道,通過各種消息,在合適的時機下發流表,也就是大家常說的OpenFlow,指揮交換機如何對各個以太幀/IP報文進行處理。OpenFlow流表中,有三個關鍵要素,key + action + counter。交換機通過key(比如經典的五元組),查找TCAM表,進行Eth幀/IP報文匹配,然後執行流表中的action,同時更新各種counter計數。流表類似於處理器架構中的指令集,比如指令中有Opcode,取指完成後會進行譯碼,根據指令類型,進行ALU計算或者訪存,最後將結果寫回寄存器或者內存。從生態角度,NIC和交換機/路由器大家各司其職,Aquila中的TiN搞了個二合一,相當於是把DC市場切了一份出來,搞自己獨立的L2子網,這部分市場的NIC/DPU/ToR都被幹掉了,然後谷歌還要搞自己的SDN控制器。回憶一下開篇介紹的ATM、Eth、MPLS,有沒有發現相似之處。其實現在交換機、路由器內部設計中,Eth幀進來以後,也會轉換成各家自定義的信元,進行CrossBar的交換和處理。基於信元和有連接的設計,流控和QoS實現會簡單很多。可以對照一下最近很火的Chiplet。傳統的中小型SoC設計中,片上網絡一般是共享總線,比如AMBA3 AXI。隨着片內核的數量增多,衍生出Ring環形總線和Mesh網絡,此時的片內,實際上已經有了交換/路由的影子,幾十上百個核,通過內部專用信號線,連上片內的路由節點,然後多個路由節點之間,進行報文收發,實現Mesh組網,只是內部的報文,格式一般都是CPU廠商自定義的,比如ARM的AMBA5 CHI。隨着單Die面積變大,受晶圓面積和良率關係限制,單芯片方案逐漸顯露瓶頸,無法集成更多的核或者加速引擎,多芯片拼接需求增多,加上2.5D/3D高級封裝技術,應用日趨成熟,類似HBM這種堆疊的Chiplet方案也開始增多。前段時間英特爾搞了個UCIe聯盟,想在Chiplet領域複製PCIe的輝煌,其實本質就是片間互聯網絡的生態,開始構建了。回到開篇的超級計算機話題,從SoC片內總線,到Chiplet片間互聯網絡,再到谷歌Aquila實驗性的數據中心全新二層子網,其實本質都是為了這個終極的目標來服務,從晶圓、基板、PCB,到數據中心服務器之間,超大帶寬、超低延遲、超強流控的網絡,在從內向外擴展。因為在數據中心領域,運營商的話語權不像電信承載網這麼大,芯片巨頭和雲計算廠商,有動力、有預算、也有技術空間去進行重構、優化。運營商的承載網,在5G eMMB超高帶寬、URLLC超低延遲的壓力和需求下,正在進行劇烈的變化和演進,5G承載和LTE承載之間,已經發生了巨大的變化和改進。MPLS、PTN、OTN這些技術能在承載網落地生根,除了其高效的OAM外,強大的QoS亦功不可沒,當然前提是基站和核心網之間的組網中,網絡的動態拓撲變化不是非常大。如圖9所示。
圖9 網絡切片(圖片來源:無線深海)谷歌的Aquila數據中心網絡架構,從某種程度上,也是借鑑了CT網絡架構的一些理念,來解決IT網絡中的時延確定性需求,撇開了傳統的二層以太網,繞過了Nvidia收購Mellanox後把持的Infinite Band,構建了一個類似RDMA的軟硬件全棧生態,為此還專門設計了TiN和GNet芯片(工藝節點未知),投入如此巨大的資源,相信如同其AI領域的TensorFlow框架一樣,這一切只是個開始,DPU的大幕正在徐徐拉開,我們拭目以待。正如計算機體系結構的一代宗師,David Patterson和John Hennessy,在其2017年著名的論文《計算機體系架構的新黃金時代》中所預言的那樣,「計算機體系結構領域將迎來又一個黃金十年,就像20世紀80年代那時一樣,新的架構設計將會帶來更低的成本,更優的能耗、安全和性能。」小知識1:DPU是Data Processing Unit的簡稱,它是最新發展起來的專用處理器的一個大類,是繼CPU、GPU之後,數據中心場景中的第三顆重要算力芯片,為高帶寬、低延遲、數據密集的計算場景提供計算引擎。小知識2:Aquila是一種實驗性的數據中心網絡架構,將超低延遲作為核心設計目標,同時也支持傳統的數據中心業務。Aquila使用了一種新的二層基於單元的協議、GNet、一個集成交換機和一個定製的ASIC,ASIC和GNet一同設計,並具有低延遲遠程存儲訪問(RMA)。Aquila能夠實現40µs以下的IP流量拖尾結構往返時間 (RTT) 和低於10µs的跨數百台主機的RMA執行時間。「5G行業應用」特邀作家。近15年ICT芯片從業經歷,從芯片到軟件,從終端到雲端,長期關注計算、通信和存儲技術演進,軟硬件融合踐行者,對相關產業領域應用和生態建設有深度洞察。
*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅為了傳達一種不同的觀點,不代表半導體行業觀察對該觀點讚同或支持,如果有任何異議,歡迎聯繫半導體行業觀察。
今天是《半導體行業觀察》為您分享的第3032內容,歡迎關注。
★國產射頻芯片的終局之戰
★功率半導體十強榜單背後
★半導體市場供過於求?
『半導體第一垂直媒體』
實時 專業 原創 深度
識別二維碼,回復下方關鍵詞,閱讀更多
晶圓|集成電路|設備|汽車芯片|存儲|台積電|AI|封裝
回復 投稿,看《如何成為「半導體行業觀察」的一員 》
回復 搜索,還能輕鬆找到其他你感興趣的文章!