阿里巴巴服務市場入口「阿里巴巴服務器在哪裡」

EFLOPS服務器架構

傳統服務器架構的瓶頸主要來自內部PCIe Fabric樹形互連。首先,傳統的數據中心服務器通常只配備一個網絡接口(獨立網卡或者Bond網卡),當該服務器配備多個加速部件(比如GPU)並通過網絡接口並發傳輸數據時,就會面臨很大的流量匯聚,使其成為系統的瓶頸。而這種同步式的網絡訪問,在分佈式AI訓練任務中非常常見。AI訓練的數據集一般被劃分為多個批次,每個批次的數據處理完成之後,所有參與計算的NPU加速器都要進行梯度的同步。跨服務器的NPU梯度同步操作都要通過網絡接口進行通信。這種周期性的同步式網絡接口訪問,勢必導致網絡接口上的擁塞。類似的端口擁塞還會發生在PCIe樹形拓撲的跟節點處。分佈式AI訓練業務在每個批次的數據處理完成之後,會同步載入下一批次數據,導致內存的並發訪問。

其次,PCIe Switch端口上的擁塞可能導致整體通信效率的降低。當NPU1和NPU3同時向NPU2發送數據時,將會在與NPU2直接相連的PCIe Switch端口上形成擁塞。由於NPU1和NPU3到NPU2的通信距離不同,導致二者之間具有顯著的帶寬差異。而AI訓練任務的梯度AllReduce是一個全局性的同步操作,其完成時間往往受限於最慢的鏈路,所以這種鏈路帶寬的不公平性也會導致系統性能的下降。

最後,出於種種原因,PCIe交換芯片往往只會實現一個虛擬通道,導致QoS能力缺失,這就使得服務器內各種流量沒有隔離能力,形成帶寬的無序爭搶。

EFLOP服務器架構重點解決上述互連問題,服務器配備了與加速器(NPU)等量的網卡(NIC),並將NPU和NIC進行綁定配對,每一對綁定的NPU和NIC處於同一PCIe Switch之下,約束NPU的網絡通信只能經由自己綁定的NIC。這樣,NPU的網絡通信流量全部被局限在PCIe Switch之內,避免了網絡接口上的擁塞。針對PCIe Switch引入的擁塞問題,在PCIe流量較大的情況下,禁用NPU之間進行跨PCIe Switch通信,使其通過網絡接口進行數據交換,利用網絡協議棧的流量控制機制來降低系統的擁塞程度。值得強調的是,網絡化服務器架構是一個開放的架構,可為各種加速器提供高速互連,對於自帶直連總線(如英偉達的 NVLink)的加速器同樣兼容,利用其直連總線實現更高帶寬通信。阿里巴巴EFLOPS服務器集群架構簡介

EFLOPS系統互連架構

系統互連架構

數據中心大多採用Clos拓撲,提供了高對剖帶寬、可擴展的基礎通信能力,但由於路徑選擇的哈希算法總是存在碰撞的可能,使得網絡中的擁塞無法避免。相比傳統僅優化擁塞控制算法的思路,EFLOPS從更上層架構進行網絡流量管理,以徹底解決網絡的擁塞問題。

配合EFLOPS多網卡服務器結構,阿里巴巴工程師們出了BiGraph扁平化拓撲,分為上下兩組,每組的交換機與另一組交換機全互連,同組交換機之間的數據交換需要另一組交換機轉發,這樣每一個交換機都扮演了Clos網絡中的Spine和Leaf兩個角色,最大跳步數僅為3,BiGraph拓撲具有如下兩個重要的特性。

1.它在兩層交換機之間提供了豐富的物理鏈路資源。在N個計算服務器的系統中,兩層交換機之間至少存在着N/2個物理鏈路可供使用。這意味着我們有機會將 Halving-Doubling AllReduce算法的所有連接一一映射到可用的物理鏈路上,避免它們之間的鏈路爭用,以徹底解決網絡擁塞問題。

2.接入不同層次的任意兩個計算服務器之間的最短路徑具有唯一性。工程師可以充分利用這一特性,在通信庫甚至更高層次進行服務器間通信模式的管理。比如,在建立連接的時候,選擇合適源和目的服務器,來控制網絡上的路徑選擇。阿里巴巴EFLOPS服務器集群架構簡介

Re-ranking Halving-Doubling算法示意圖

通信庫軟件是發揮BiGraph拓撲優勢的關鍵,阿里巴巴自研了ACCL(Alibaba Collective Communication Library)集合通信庫,首先它在物理網絡中構建出BiGraph虛擬拓撲,然後基於該虛擬結構,實現無擁塞集合通信算法。無擁塞集合通信算法是阿里巴巴在標準Halving-Doubling算法的基礎上,提出的一套新的Re-ranking Halving-Doubling算法,實現了通信連接與BiGraph拓撲的完美映射,從根本上避免選路衝突。

相比最流行的Ring AllReduce算法,EFLOPS的算法更利於大規模性能擴展。Ring AllReduce非常適合傳統單網卡服務器架構,每一步需要傳輸的數據量少而且採用單向環式的網絡傳輸,但需要O(N)步執行,延遲隨系統規模擴大而線性增加。 Halving-Doubling算法則是通過遞增和二分的方式快速地實現數據傳輸,僅需要O(logN)步,但每一步要傳輸的數據量比 Ring AllReduce更大,這一特徵恰好與EFLOPS的互連網絡能力適配。

Re-ranking Halving-Doubling算法的核心是根據每個進程的物理位置,重新排列該進程對應的排名,結合節點之間的同步策略,使得任何時刻任何點到點的數據傳輸都能獨佔一條物理鏈路,從而有效地避免了網絡擁塞,理論上能夠達到線速的傳輸。以8台服務器,每台服務器包含4個加速器的系統為例,對該算法進行說明,其中方形表示交換機,圓圈表示加速器,圓圈裡的數字表示重新排列後新的排名。連線代表交換機之間的物理連接,不同顏色代表不同步驟下使用的路徑。按照重新排列後,可以看到算法的任何一個步驟,同一個主機的四個加速器走的都是不同的直連鏈路,這樣保證了數據經過的路徑最短,且加速器間的數據傳輸路徑沒有衝突。阿里巴巴EFLOPS服務器集群架構簡介

通信性能對比圖

EFLOPS AI集群性能

只要在多機多卡環境,不需要太大的規模,EFLOPS集群架構就可以發揮明顯的性能優勢。在一個64張GPU卡(NVDIA V100 32G 顯存)的小規模集群中,AllReduce集合通信性能測試表明,採用不同的AllReduce算法,EFLOPS集群的硬件設計可以將通信效率提升2.3~11.3倍。EFLOPS算法架構協同算法可以將通信效率進一步提升1.4~7.3倍。隨着系統規模的增長,網絡擁塞概率的增加,EFLOPS AI集群的通信性能優勢更明顯。

在該64 GPU卡測試場景中,拍立淘百萬分類 大模型的端到端性能提升了2.2倍。對自然語言處理領域廣泛應用的BERT預訓練模型進行評測在EFLOPS集群中,BERT的通信開銷得到了大幅降低,僅使用EFLOPS硬件即可獲得2倍通信性能的提升,疊加ACCL通信庫支持,整體性能提升了2倍,通信性能提升了4倍。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/250137.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-13 13:29
下一篇 2024-12-13 13:29

相關推薦

發表回復

登錄後才能評論