AI技術驅動智能應用井噴,智能算力增速遠超通用算力。IDC預測,未來五年,我國智能算力規模年復合增長率將超50%,開啟數據中心算力新紀元。隨著需求激增,數據中心或智算網絡亟需擴容、增速、減時延,確保網絡穩定可靠,以應對不斷升級的智能時代挑戰。
數據中心與智算網絡,如Spine-Leaf架構,拓撲規整,選路簡易。然而,服務器間常存在多條并行路徑,如Fat tree網絡中的數十條。如何在這些路徑中實現負載均衡路由,成為數據中心網絡路由設計的核心挑戰。
傳統負載均衡用的比較多的是等價成本多路徑(ECMP),ECMP下一跳的路徑是通過對數據包字段進行哈希計算并對可用路徑數取模來選擇的,來自一個流的數據包總是映射到同一路徑,因此,這些數據包將按發送順序交付,也就是通常的基于流的負載均衡(Flow-based)。
然而,研究表明,在流量高度傾斜時,ECMP無法平均分配負載到不同的路徑,如大象流場景。特別是對于當前HPC和AI場景,普遍使用RDMA并且是大帶寬場景,這個時候傳統ECMP很容易導致鏈路Hash不均,進而導致某一個鏈路擁塞。在AI/ML的應用中,GPU或其他類型的AI/ML計算單元之間他們有著非常簡單的通訊關系(流的數量非常少),并且由于他們有著極高的計算能力,導致一對通訊單元間的數據吞吐極高(單個流很大,所需的網絡帶寬極大),這就導致在這樣的應用中存在極端的負載分擔不均衡,而且這種不均衡一旦引發網絡丟包,就會對整體AI/ML的任務完成時間帶來顯著的負面影響。
網絡擁塞分為端側和矩陣擁塞。端側擁塞常見于多對一場景,通過擁塞控制算法減緩發送端流量。而矩陣擁塞源于網絡Hash不均,其解決方案包括優化Hash算法、負載均衡等策略,以緩解網絡瓶頸,確保數據傳輸的高效與穩定。
- 胖樹架構優化:提升匯聚鏈路帶寬,采用Fat tree設計,確保輸入輸出1:1的高效收斂比,實現網絡性能飛躍。
- VoQ(Virtual Output Queueing)技術:是一種網絡擁塞管理技術,用于防止HoL阻塞的技術,在傳統的輸入緩沖區排隊方案中,數據包先進入輸入緩沖區,然后根據目的端口的可用性從中選擇出隊。然而,當多個數據包的目的端口相同時,輸入緩沖區排隊會導致阻塞和擁塞。VoQ技術通過為每個輸出端口創建虛擬的輸出隊列,將輸入數據包直接放入對應的虛擬輸出隊列中。這樣,在數據包進入路由器或交換機時就可以直接選擇適當的虛擬輸出隊列,而無需等待目的端口的可用性。因此,VoQ技術可以避免輸入緩沖區排隊可能引起的阻塞和擁塞問題,提高網絡的吞吐量和性能;
- 負載均衡是提升系統性能的關鍵,不同路由策略對吞吐率影響顯著。流量負載均衡策略根據粒度劃分,包括基于流、基于包、基于流片和基于信元四種。本文將深入剖析這些策略,助您優化網絡性能,提升端到端傳輸效率。
基于流(Flow based)
流負載均衡路由精準分配流量至不同路徑。傳統ECMP路由雖用哈希選路,但大小流一視同仁,導致帶寬利用率不均,且哈希沖突影響負載均衡效果。實際應用中,這些問題亟待解決,以實現更高效的流量分配。
- 流量分布均勻時,ECMP效果優異。但面對大象流與老鼠流共存,其性能受限。這種負載不均衡在AI/ML應用中尤為突出,一旦導致網絡丟包,將嚴重影響AI/ML任務完成時間,亟需優化處理。
- ECMP通過哈希或輪詢實現負載均衡,卻難以感知鏈路擁塞。在擁堵鏈路上運用ECMP可能加劇擁塞,亟需優化策略以緩解網絡壓力,確保數據傳輸的高效與穩定。
- ECMP難以應對非對稱網絡性能損失。數據中心網絡故障易引發非對稱結構,影響物理鏈路均衡分布,導致流量失衡,亟待解決。
ECMP作為負載均衡策略,雖簡單且避免亂序,但受限于其缺陷,未必適用于所有場景。為提升網絡性能與流量均衡,建議采用更復雜的策略或結合先進技術,實現更高效的負載均衡。
ECMP工程因其低復雜度與可接受性能,在數據中心網絡中仍廣泛運用。為提升性能,業界提出多種優化方案,如通過集中控制器優化大流路徑選擇(如Hedera、BurstBalancer),展現了ECMP的改進潛力。
基于包(Packet based)
隨機包噴灑(RPS)是高效的包級負載均衡策略。當交換機面對多條至同目的地的等價路徑時,RPS以單個數據包為單位進行智能分散,確保數據流暢通無阻。不同于ECMP,RPS以數據包為單位操作,將同一流內的數據包導向不同路徑,提升網絡效率和性能。
RPS憑借簡易實施與細粒度負載均衡,實現高效路由選擇,提升網絡吞吐率至90%以上鏈路利用率。然而,其潛在缺陷在于流包亂序,需妥善解決。英偉達以BlueField-3 DPU結合DDP技術,巧妙處理無序數據,構建完整端到端解決方案,確保數據穩定傳輸,為您的網絡架構提供卓越性能與可靠性。
基于流片(Flowlet)
Flowlet本質是利用TCP的流突發特性,根據設置一定間隔將流分割為一個個Burst子流,然后每次切換都是在這個間隔中間,從而避免亂序。但是這個方式也有局限性:首先,Flowlet無法應對短連接場景,試想如果一個Flow一共就一個Burst,那Flowlet必然無法產生效果;其次,Flowlet是針對TCP的特性設計的,而RDMA流量并不符合相關特征,因此,在上層應用為RoCE流量時,Flowlet基本沒有效果,這也是在AI/ML等場景中不使用Flowlet的原因。
Flowlet的實現原理揭示:盡管TCP Flow中Packet看似平滑發送,實際抓包和具體實現均顯示TCP Packet以Burst方式發送,如圖所展。這一發現對理解網絡傳輸具有重要意義。
Flowlet的實現原理在于將Flow細分為多個Flowlet,以此實現負載均衡。Flowlet是介于Packet與Flow之間的單位。對于Flowlet的定量切分,我們引入參數α。當α大于兩條鏈路延遲D1和D2的差值時,Flow即可通過α被精準切分為多個Flowlet,確保數據傳輸的高效與均衡。
基于信元(Cell based)
在信元交換的網絡負載均衡機制中,接收端將報文拆分為信元,根據調度信令選擇空閑鏈路轉發,最終在目的端重組為報文。此機制突破傳統流轉發的局限,允許動態調整,基于微觀負載實時均衡利用多路徑,實現更高效的網絡資源分配。
信元交換的粒度比基于包的負載均衡還要細,理論上,帶寬利用率可以更高。信元交換本身并不是一項嶄新的技術,在目前廣泛應用的框式設備中,線卡芯片與網板芯片之間的流量交換普遍都采用了信元交換的技術,以實現機框內無阻塞交換。
不過信元交換以前主要應用在框式設備系統內部,往往都是各個交換機設備廠商自定義的信元格式和調度機制,不具備跨廠商互通的能力,此項技術可以進一步擴展,應用到整個網絡上。2019年AT&T向OCP提交了基于商用芯片的盒式路由器規范,提出了DDC(Disaggregated Distributed Chassis)的概念,DDC使用的核心技術也是信元交換的方案。
AI/ML網絡支撐的業務其特征是流數量少,單條流的帶寬大,同時流量不均勻,經常出現多打一或者多打多的情況(All-to-All和All-Reduce)。
所以極易出現流量負載不均、鏈路利用率低、頻繁的流量擁塞導致的丟包等問題,無法充分釋放算力。信元交換將報文切片成Cells(對比Packet based的負載均衡方案,粒度更小),并根據可達信息采用輪詢機制發送,流量負載會較為均衡的分配到每一條鏈路,實現帶寬的充分利用,這樣可以解決中大小流的問題,仍然存在相當多的缺陷:
- DDC的大緩存能力雖能緩存報文,但顯著增加了硬件轉發的靜態時延。信元交換過程亦導致轉發時延上升。測試顯示,DDC的轉發時延較ETH網高出1.4倍,顯然難以滿足AI計算網絡的實時性需求。
- 硬件依賴特定芯片實現,封閉、專用;
- 大緩存設計增加網絡成本;
經深入分析,各負載均衡方案各具特色。部署時,粒度由小至大依次為Cell based、Packet based、Flowlet、Flow based,帶寬利用率則反之。然而,Cell based因局限性在智算領域鮮有應用。選擇方案時,需權衡粒度與帶寬利用率,確保高效且實用。
高性能計算、分布式存儲、人工智能等應用借RoCEv2協議降低CPU處理時延,提升性能。但RoCEv2源于RDMA,缺乏完善的丟包保護,對網絡丟包敏感。雖借PFC、ECN等技術力求無損網絡,仍難應對大象流/老鼠流不均影響。實現網絡負載均衡,是提升性能的關鍵所在。
在這方面,各廠家也在做各種努力嘗試。
英偉達RoCE解決方案卓越,為RDMA和TCP流定制不同策略:TCP利用Flowlet,RDMA(RoCE)則選擇逐包負載均衡。Spectrum技術通過與網絡交換機和端側DPU的緊密聯動,實現ECMP鏈路物理帶寬與端口擁塞的實時動態監控,確保每個報文負載的精準分擔,確保高效傳輸。
Spectrum-4交換機負責選擇每個數據包基于最低擁塞端口,均勻分配數據傳輸。當同一流的不同數據包通過網絡的不同路徑傳輸時,它們可能以無序的方式到達目的地。BlueField-3 DPU通過DDP處理無序數據,避免了數據報文緩存和重組的困擾,通過上述方案,在超大規模系統和高負載場景下相對傳統RoCE方案性能提升明顯。
再比如,華為的智能無損網絡,通過ACC(Automatic ECN)動態調整每個交換機的標記閾值,以分布式方式工作,并結合離線和在線訓練以適應動態流量模式,ACC在線速率下實現了老鼠流和大象流的低流完成時間,優先調度小流的報文,從而保障小流的轉發時延,提升整體吞吐性能。
-對此,您有什么看法見解?-
-歡迎在評論區留言探討和分享。-