小編的世界 優質文選 主機
字體大小:
2021年3月10日 -
:
我是天邊飄過一朵雲
科技達人,優質創作者
EFLOPS系統互連架構
系統互連架構
數據中心大多采用Clos拓撲,提供了高對剖帶寬、可擴展的基礎通信能力,但由於路徑選擇的哈希算法總是存在碰撞的可能,使得網絡中的擁塞無法避免。相比傳統僅優化擁塞控制算法的思路,EFLOPS從更上層架構進行網絡流量管理,以徹底解決網絡的擁塞問題。
配合EFLOPS多網卡服務器結構,阿裏巴巴工程師們出了BiGraph扁平化拓撲,分為上下兩組,每組的交換機與另一組交換機全互連,同組交換機之間的數據交換需要另一組交換機轉發,這樣每一個交換機都扮演了Clos網絡中的Spine和Leaf兩個角色,最大跳步數僅為3,BiGraph拓撲具有如下兩個重要的特性。
1.它在兩層交換機之間提供了豐富的物理鏈路資源。在N個計算服務器的系統中,兩層交換機之間至少存在著N/2個物理鏈路可供使用。這意味著我們有機會將 Halving-Doubling AllReduce算法的所有連接一一映射到可用的物理鏈路上,避免它們之間的鏈路爭用,以徹底解決網絡擁塞問題。
2.接入不同層次的任意兩個計算服務器之間的最短路徑具有唯一性。工程師可以充分利用這一特性,在通信庫甚至更高層次進行服務器間通信模式的管理。比如,在建立連接的時候,選擇合適源和目的服務器,來控制網絡上的路徑選擇。
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 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倍。