

AI智算及高效能計算場景的流量關注靜態時延的同時需要支援超大規模組網。然而傳統的 CLOS 架構作為主流網路架構,主要關注通用性,犧牲了時延和價效比。
業界針對該問題開展了多樣的架構研究和新拓撲的設計,Fat-Tree、Dragonfly、Torus是幾種常見的網路拓撲,Fat-Tree架構實現無阻塞轉發,Dragonfly架構網路直徑小,Torus 具有較高的擴充套件性和價效比。

Fat-Tree胖樹架構
傳統的樹形網路拓撲中,頻寬是逐層收斂的,樹根處的網路頻寬要遠小於各個葉子處所有頻寬的總和。而Fat-Tree則更像是真實的樹,越到樹根,枝幹越粗,即:從葉子到樹根,網路頻寬不收斂,這是Fat-Tree能夠支撐無阻塞網路的基礎。Fat-Tree是使用最廣泛的拓撲之一,它是各種應用程式的一個很好的選擇,因為它提供低延遲並支援各種吞吐量選項——從非阻塞連線到超額訂閱,這種拓撲型別最大限度地提高了各種流量模式的資料吞吐量。

Fat-Tree架構採用1:1無收斂設計,Fat-Tree架構中交換機上聯埠與下聯埠頻寬、數量保持一致,同時交換機要採用無阻塞轉發的資料中心級交換機。Fat-Tree架構可以透過擴充套件網路層次提升接入的GPU節點數量。
Fat-Tree架構的本質是無頻寬收斂,因此,雲資料中心的Spine-leaf組網在無收斂的情況下,也可以認為是遵從了Fat-Tree架構理念。
如果交換機的埠數量為n,則:兩層Fat-Tree架構能夠接入n²/2張GPU卡,以40埠的InfiniBand交換機為例,能夠接入的GPU數量最多可達800個。三層Fat-Tree架構能夠接入n(n/2)*(n/2)張GPU卡,以40埠的InfiniBand交換機為例,能夠接入的GPU數量最多可達16000個。

但是,Fat-Tree架構也存在明顯的缺陷:
-
網路中交換機與伺服器的比值較大,需要大量的交換機和鏈路,因此,在大規模情況下成本相對較高。構建Fat-Tree需要的交換機數量為5M/n(其中,M是伺服器的數量,n是交換機的埠數量),當交換機的埠數量n較小時,連線Fat-Tree需要的交換機數量龐大,從而增加了佈線和配置的複雜性; -
拓撲結構的特點決定了網路不能很好的支援One-to-All及All-to-All網路通訊模式,不利於部署 MapReduce、Dryad等高效能分散式應用; -
擴充套件規模在理論上受限於核心層交換機的埠數目。
Fat-Tree架構的本質是CLOS架構網路,主要關注通用性和無收斂,犧牲了時延和價效比。在構建大規模叢集網路時需要增加網路層數,需要更多的互聯光纖和交換機,帶來成本的增加,同時隨著叢集規模增大,網路跳數增加,導致通訊時延增加,也可能會無法滿足業務低時延需求。

Dragonfly架構
Dragonfly是當前應用最廣泛的直連拓撲網路架構,它由John Kim等人在2008年的論文Technology-Driven, Highly-Scalable Dragonfly Topology中提出,它的特點是網路直徑小、成本較低,已經在高效能計算網路中被廣泛應用,也適用於多元化算力的資料中心網路。
Dragonfly網路如下圖所示:

Dragonfly的拓撲結構分為三層:Switch層、Group層、System層。
-
Switch層:包括一個交換機及其相連的P個計算節點; -
Group層:包含a個Switch層,這a個Switch層的a個交換機是全連線(All-to-all)的,換言之,每個交換機都有a-1條鏈路連線分別連線到其他的a-1臺交換機; -
System層:包含g個Group層,這g個Group層也是全連線的。
對於單個Switch交換機,它有p個埠連線到了計算節點,a-1個埠連線到Group內其他交換機,h個埠連線到其他Group的交換機。因此,我們可以計算得到網路中的如下屬性:
-
每個交換機的埠數為k=p+(a-1)+h -
Group的數量為g=ah+1 -
網路中一共有N=ap(ah+1) 個計算節點 -
如果我們把一個Group內的交換機都合成一個,將它們視為一個交換機,那麼這個交換機的埠數為k‘=a(p+h)
不難發現,在確定了 p、a、h、g四個引數之後,我們就可以確定一個Dragonfly的拓撲,因此,一個Dragonfly的拓撲可以用dfly(p,a,h,g) 來表示,一種推薦的較為平衡的配置是方法是:a=2p=2h。
Dragonfly的路由演算法主要有以下幾種:
-
最小路由演算法(Minimal Routing):由於拓撲的性質,Minimal Routing中最多隻會有1條Global Link和2條Local Link,也就是說最多3跳即可到達。在任由兩個Group之間只有一條直連連線時(即g=ah+1時),最短路徑只有一條。 -
非最短路徑的路由演算法(Non-Minimal Routing):有的地方叫Valiant algorithm,簡寫為VAL,還有的地方叫Valiant Load-balanced routing,簡寫為VLB。隨機選擇一個Group,先發到這個Group然後再發到目的地。由於拓撲的性質,VAL最多會經過2條Global Link和3條Local Link,最多5跳即可到達。 -
自適應路由(Adaptive Routing):當一個數據包到達交換機時,交換機根據網路負載資訊在最短路徑路由和非最短路徑路由路徑之間進行動態選路,優先採用最短路徑轉發,當最短路徑擁塞時,透過非最短路徑轉發。因為要獲取到全域性網路狀態資訊比較困難,除了UGAL(全域性自適應負載均衡路由),還提出了一系列變種自適應路由演算法,如UGAL-L,UGAL-G等。
上述幾種路由,由於自適應路由能夠根據網路鏈路狀態動態調整流量轉發路徑,因此會有更好的效能表現。
Dragonfly為各種應用程式(或通訊模式)提供了良好的效能,與其他拓撲相比,它透過直連模式,縮短網路路徑,減少中間節點數量。64埠交換機支援組網規模27萬節點,端到端交換機轉發跳數減至3跳。
Dragonfly拓撲在效能和價效比方面有顯著的優勢。然而,這種優勢的實現需要依賴於有效的擁塞控制和自適應路由策略。Dragonfly網路在擴充套件性方面存在問題,每次需要增加網路容量時,都必須對Dragonfly網路進行重新佈線,這增加了網路的複雜性和管理難度。

Torus架構
隨著模型引數的增加和訓練資料的增加,單臺機器算力無法滿足,儲存無法滿足,所以要分散式機器學習,集合通訊則是分散式機器學習的底層支撐,集合通訊的難點在於需要在一定的網路互聯結構的約束下進行高效的通訊,需要在效率與成本、頻寬與時延、客戶要求與質量、創新與產品化等之間進行合理取捨。
Torus網路架構是一種完全對稱的拓撲結構,具有很多優良特性,如網路直徑小、結構簡單、路徑多以及可擴充套件性好等特點,非常適合集合通訊使用。索尼公司提出2D-Torus演算法,其主要思想就是組內satter-reduce->組間all-reduce->組內all-gather。 IBM提出了3D-Torus演算法。
我們用k-ary n-cube來表示。k是排列的邊的長度,n是排列的維度。

3-ary 3-cube拓撲如下:

以2D-Torus拓撲為例,可以將網路結構表達成如下的Torus結構。
-
橫向:每臺伺服器X個GPU節點,每GPU節點透過私有協議網路互聯(如NVLINK); -
縱向:每臺伺服器透過至少2張RDMA網絡卡NIC 0 /NIC 1透過交換機互聯。

第1步,橫向,先進行主機內Ring Scatter Reduce,將主機內8張卡上的梯度進行拆分與規約,這樣經過迭代,到最後每個GPU將有一個完整的同維梯度,該塊梯度包含所有GPU中該塊所對應的所有梯度的總和;
第2步,縱向,進行主機間X個縱向的 Ring All Reduce,將每臺伺服器的X個GPU上的資料進行叢集內縱向全域性規約;
第3步,橫向,進行主機內All Gather,將GPUi[i=0~(X-1)]上的梯度複製到伺服器內的其他GPU上;
Torus網路架構具有如下優勢:
-
更低的延遲:環面拓撲可以提供更低的延遲,因為它在相鄰節點之間有短而直接的連結; -
更好的區域性性:在環面網路中,物理上彼此靠近的節點在邏輯上也很接近,這可以帶來更好的資料區域性性並減少通訊開銷,從而降低時延和功耗。 -
較低的網路直徑:對於相同數量的節點,環面拓撲的網路直徑低於CLOS網路,需要更少的交換機,從而節省大量成本。
Torus網路架構也存在一些不足:
-
可預測方面,環面網路中是無法保證的; -
易擴充套件方面:縮放環面網路可能涉及重新配置整個拓撲,可能更加複雜和耗時; -
負載平衡方面:環面網路提供多條路徑,但相對Fat-tree備選路徑數量要少; -
故障排查:對於突發故障的排查複雜性略高,不過動態可重配路由的靈活性可以大幅避免事故。
Torus網路拓撲除了2D/3D結構外,也在向更高維度發展,Torus高維度網路中的一個單元稱之為矽元,一個矽元內部採用3D-Torus拓撲結構,多個矽元可以構建更高維的4D/5D/6D-Torus直接網路。
來源:西貝吹風

轉載申明:轉載本號文章請註明作者和來源,本號釋出文章若存在版權等問題,請留言聯絡處理,謝謝。
推薦閱讀
更多架構相關技術知識總結請參考“架構師全店鋪技術資料打包(全)”相關電子書(46本技術資料打包彙總詳情可透過“閱讀原文”獲取)。
全店內容持續更新,現下單“架構師技術全店資料打包彙總(全)”一起傳送“伺服器基礎知識全解(終極版)”和“儲存系統基礎知識全解(終極版)”pdf及ppt版本,後續可享全店內容更新“免費”贈閱,價格僅收259元(原總價499元)。
溫馨提示:
掃描二維碼關注公眾號,點選閱讀原文連結獲取“架構師技術全店資料打包彙總(全)”電子書資料詳情。

