當前位置: 妍妍網 > 碼農

GPU集群:NVLink、InfiniBand、ROCE、DDC技術分析

2024-02-29碼農

流行的GPU/TPU集群網路組網,包括:NVLink、InfiniBand、ROCE乙太網路Fabric、DDC網路方案等,深入了解它們之間的連線方式以及如何在LLM訓練中發揮作用。 為了獲得良好的訓練效能,GPU網路需要滿足以下條件:

1、端到端延遲: 由於GPU間通訊頻繁,降低節點間數據傳輸的總體延遲有助於縮短整體訓練時間。

2、無丟包傳輸: 對於AI訓練至關重要,因為任何梯度或中間結果的遺失都會導致訓練回退到記憶體中儲存的前一個檢查點並重新開始,嚴重影響訓練效能。

3、有效的端到端擁塞控制機制: 在樹形拓撲中,當多個節點向單個節點傳輸數據時,瞬態擁塞不可避免。永續性擁塞會增加系統尾延遲。由於GPU之間存在順序依賴關系,即使一個GPU的梯度更新受到網路延遲影響,也可能導致多個GPU停運。一個慢速鏈路就足以降低訓練效能。

除了以上因素,還需要綜合考慮系統的總成本、功耗和冷卻成本等方面。在這些前提下,我們將探討不同的GPU架構設計選擇及其優缺點。

一、NVLink 交換系統

用於連線 GPU 伺服器中的 8 個 GPU 的 NVLink 交換機也可以用於構建連線 GPU 伺服器之間的交換網路。Nvidia 在 2022 年的 Hot Chips 大會上展示了使用 NVswitch 架構連線 32 個節點(或 256 個 GPU)的拓撲結構。由於 NVLink 是專門設計為連線 GPU 的高速點對點鏈路,所以它具有比傳統網路更高的效能和更低的開銷。

第三代 NVswitch 配備 64 個 NVLink 埠,提供高達 12.8Tbps 的交換容量,同時支持多播和網路內聚合功能。網路內聚合能夠在 NVswitches 內部匯集所有工作 GPU 生成的梯度,並將更新後的梯度反饋給 GPU,以便進行下一次叠代。這一特點有助於減少訓練叠代過程中 GPU 之間的數據傳輸量。

據 Nvidia 介紹,在訓練 GPT-3 模型時,NVswitch 架構的速度是 InfiniBand 交換網路的 2 倍,展現出了令人矚目的效能。然而,值得註意的是,這款交換機的頻寬相較於高端交換機供應商提供的 51.2Tbps 交換機來說,要少 4 倍。

若嘗試使用 NVswitches 構建包含超過 1000 個 GPU 的大規模系統,不僅成本上不可行,還可能受到協定本身的限制,從而無法支持更大規模的系統。此外,Nvidia 不單獨銷售 NVswitches,這意味著如果數據中心希望透過混合搭配不同供應商的 GPU 來擴充套件現有集群,他們將無法使用 NVswitches,因為其他供應商的 GPU 不支持這些介面。

二、InfiniBand 網路

InfiniBand(簡稱IB),這項技術自1999年推出以來,一直作為高速替代方案,有效替代了PCI和PCI-X匯流排技術,廣泛套用於連線伺服器、儲存和網路。雖然由於經濟因素,其最初的宏大設想有所縮減,但InfiniBand仍在高效能計算、人工智慧/機器學習集群和數據中心等領域得到了廣泛套用。這主要歸功於其卓越的速度、低延遲、無遺失傳輸以及遠端直接記憶體存取(RDMA)功能。

更多InfiniBand技術,請參考文章「 」,「 」,「 」,「 」,「 」,「 」,「 」,「 」,「 」等等。

InfiniBand(IB)協定旨在實作高效且輕量化的設計,有效避免了乙太網路協定中常見的開銷。它支持基於通道和基於記憶體的通訊,可以高效處理各種數據傳輸場景。

透過發/收裝置之間的基於信用的流量控制,IB實作了無丟包傳輸(佇列或虛擬通道級別)。這種逐跳的流量控制確保不會由於緩沖區溢位而造成數據遺失。此外,它還支持端點之間的擁塞通知(類似於 TCP/IP 協定棧中的 ECN)。IB提供卓越的服務品質,允許優先處理某些型別的流量以降低延遲和防止丟包。

值得一提的是,所有的IB交換機都支持RDMA協定,這使得數據可以直接從一個GPU的記憶體傳輸到另一個GPU的記憶體,無需CPU作業系統的介入。這種直接傳輸方式提高了吞吐量,並顯著降低了端到端的延遲。

然而,盡管具有諸多優點,InfiniBand交換系統並不像乙太網路交換系統那樣流行。這是因為InfiniBand交換系統在配置、維護和擴充套件方面相對困難。InfiniBand的控制平面通常透過一個單一的子網路管理器進行集中控制。雖然在小型集群中可以執行良好,但對於擁有32K或更多GPU的網路,其擴充套件性可能會成為一項挑戰。此外,IB網路還需要專門的硬體,如主機通道介面卡和InfiniBand電纜,這使得其擴充套件成本比乙太網路網路更高。

目前,Nvidia是唯一一家提供高端IB交換機供HPC和AI GPU集群使用的供應商。例如,OpenAI在Microsoft Azure雲中使用了10,000個Nvidia A100 GPU和IB交換網路來訓練他們的GPT-3模型。而Meta最近構建了一個包含16K GPU的集群,該集群使用Nvidia A100 GPU伺服器和Quantum-2 IB交換機(輝達GTC 2021大會上釋出全新的InfiniBand網路平台,具有25.6Tbps的交換容量和400Gbps埠)。這個集群被用於訓練他們的生成式人工智慧模型,包括LLaMA。值得註意的是,當連線10,000個以上的GPU時,伺服器內部GPU之間的切換是透過伺服器內的NVswitches完成的,而IB/乙太網路網路則負責將伺服器連線在一起。

為了應對更大參數量的訓練需求,超大規模雲服務提供商正在尋求構建具有32K甚至64K GPU的GPU集群。在這種規模上,從經濟角度來看,使用乙太網路網路可能更有意義。這是因為乙太網路已經在許多矽/系統和光模組供應商中形成了強大的生態系,並且以開放標準為目標,實作了供應商之間的互操作性。

三、ROCE無失真乙太網路

乙太網路的套用廣泛,從數據中心到骨幹網路都有其身影,速度範圍從1Gbps到800Gbps,未來甚至有望達到1.6Tbps。與Infiniband相比,乙太網路在互連埠速度和總交換容量上更勝一籌。此外,乙太網路交換機的價格相對較低,每單位頻寬的成本更具競爭力,這主要歸功於高端網路芯片供應商之間的激烈競爭,推動了廠商將更多頻寬整合到ASIC中,從而降低了每千兆位的成本。

高端乙太網路交換機ASIC的主要供應商可以提供高達51.2Tbps的交換容量,配備800Gbps埠,其效能是Quantum-2( (輝達GTC 2021大會上釋出全新的InfiniBand網路平台,具有25.6Tbps的交換容量和400Gbps埠) )的兩倍。這意味著,如果交換機的吞吐量翻倍,構建GPU網路所需的交換機數量可以減少一半。

乙太網路還能提供無丟包傳輸服務,透過優先流量控制(PFC)實作。PFC支持8個服務類別,每個類別都可以進行流量控制,其中一些類別可以指定為無丟包類別。在處理和透過交換機時,無丟包流量的優先級高於有丟包流量。在發生網路擁塞時,交換機或網卡可以透過流量控制來管理上遊裝置,而不是簡單地丟棄封包。

更多ROCE技術細節,請參考文章「 」,「 」,「 」,「 」,「 」,「 」,「 」等等。

此外,乙太網路還支持RDMA(遠端直接記憶體存取)透過RoCEv2(RDMA over Converged Ethernet)實作,其中RDMA幀被封裝在IP/UDP內。當RoCEv2封包到達GPU伺服器中的網路介面卡(NIC)時,NIC可以直接將RDMA數據傳輸到GPU的記憶體中,無需CPU介入。同時,可以部署如DCQCN等強大的端到端擁塞控制方案,以降低RDMA的端到端擁塞和丟包。

在負載均衡方面,路由協定如BGP使用等價路徑多路徑路由(ECMP)來在多條具有相等「代價」的路徑上分發封包。當封包到達具有多條到達目標的等價路徑的交換機時,交換機使用哈希函式來決定封包的發送路徑。然而,哈希不總是完美的,可能會導致某些鏈路負載不均,造成網路擁塞。

為了解決這個問題,可以采用一些策略,例如預留輕微過量的頻寬,或者實作自適應負載均衡,當某條路徑擁塞時,交換機可以將新流的封包路由到其他埠。許多交換機已經支持此功能。此外,RoCEv2的封包級負載均衡可以將封包均勻地分散在所有可用鏈路上,以保持鏈路平衡。但這可能導致封包無序到達目的地,需要網卡支持在RoCE傳輸層上處理這些無序數據,確保GPU接收到的數據是有序的。這需要網卡和乙太網路交換機的額外硬體支持。

另外部份廠商的ROCE乙太網路交換機,也可以在交換機內部聚合來自GPU的梯度,有助於減少訓練過程中的GPU間流量,如Nvidia的高端乙太網路交換機等。

總的來說,高端太網交換機和網卡具備強大的擁塞控制、負載均衡功能和RDMA支持,可以擴充套件到比IB交換機更大的設計。一些雲服務提供商和大規模集群的公司已經開始使用基於乙太網路的GPU網路,以連線超過32K的GPU。

四、DDC全排程網路

近期,數家交換機/路由器芯片供應商宣布推出支持全排程Fabric或AI Fabric的芯片。這種全排程網路實際上已經套用於許多模組化機箱設計中十多年,其中包括Juniper的PTX系列路由器,它們采用了虛擬出口佇列(VOQ)網路。

在VOQ架構中,封包僅在入口葉子交換機中進行一次緩沖,存放在與最終出口葉子交換機/WAN埠/輸出佇列相對應的佇列中。這些佇列在入口交換機中被稱為虛擬輸出佇列(Virtual Output Queues, VOQs)。因此,每個入口葉子交換機為整個系統中的每個輸出佇列提供緩沖空間。該緩沖區的大小通常足以容納每個VOQ在40-70微秒內遇到擁塞時的封包。當VOQ的數據量較少時,它保留在片上緩沖區中;當佇列開始增長時,數據會轉移到外部記憶體中的深度緩沖區。

當入口葉子交換機上的某個VOQ累積了多個封包後,它會向出口交換機發送請求,要求在網路中傳輸這些封包。這些請求透過網路傳送到出口葉子交換機。

出口葉子交換機中的排程器根據嚴格的排程層次以及其淺輸出緩沖區中的可用空間來批準這些請求。這些批準的速率受到限制,以避免過度訂閱交換機鏈路 (超出佇列緩存接受範圍)

一旦批準到達入口葉子交換機,它就會將所收到批準的一組封包發送到出口,並透過所有可用的上行鏈路進行傳輸。

發送到特定VOQ的封包可以均勻地分散在所有可用的輸出鏈路上,以實作完美的負載均衡。這可能導致封包的重新排序。然而,出口交換機具有邏輯功能,可以將這些封包按順序重新排列,然後將它們傳輸到GPU節點。

由於出口排程器在數據進入交換機之前就對已批準的數據進行了控制,從而避免了鏈路頻寬的超額使用,因此消除了乙太網路數據面中99%由incast引起的擁塞問題(當多個埠嘗試向單個輸出埠發送流量時),並且完全消除了頭阻塞(HOL blocking)。需要指出的是,在這種架構中,數據(包括請求和批準)仍然是透過乙太網路進行傳輸的。

頭阻塞(HOL blocking)是指在網路傳輸中,一列封包中的第一個封包如果遇到阻礙,會導致後面所有的封包也被阻塞,無法繼續傳輸,即使後面的封包的目標輸出埠是空閑的。這種現象會嚴重影響網路的傳輸效率和效能。

一些架構,如Juniper的Express和Broadcom的Jericho系列,透過其專有的分段化(cellified)數據面實作了虛擬輸出佇列(VOQ)。

在這種方法中,葉子交換機將封包分割為固定大小的分段,並在所有可用的輸出鏈路上均勻分布它們。與在封包級別進行均勻分布相比,這可以提高鏈路利用率,因為混合使用大型和小型封包很難充分利用所有鏈路。透過分段轉發,我們還避免了輸出鏈路上的另一個儲存/轉發延遲(出口乙太網路介面)。在分段數據面中,用於轉發分段的spine交換機被客製交換機所替代,這些客製交換機能夠高效地進行分段轉發。這些分段數據面交換機在功耗和延遲方面優於乙太網路交換機,因為它們不需要支持L2交換的開銷。因此,基於分段的數據面不僅可以提高鏈路利用率,還可以減少VOQ數據面的總體延遲。

VOQ架構確實存在一些局限性:

每個葉子交換機的入口端應具有合理的緩沖區,以供系統中所有VOQ在擁塞期間緩沖封包。緩沖區大小與GPU數量及每個GPU的優先級佇列數量成正比。GPU規模較大直接導致更大的入口緩沖區需求。

出口佇列緩沖區應具備足夠的空間,以覆蓋透過數據面的往返延遲,以防在請求-批準握手期間這些緩沖區耗盡。在較大的GPU集群中,使用3級數據面時,由於光纜延遲和額外交換機的存在,此往返延遲可能會增加。如果出口佇列緩沖區未適當調整以適應增加的往返延遲,輸出鏈路將無法達到100%的利用率,從而降低系統的效能。

盡管VOQ系統透過出口排程減少了由於頭阻塞引起的尾延遲,但由於入口葉交換機必須在傳輸封包之前進行請求-批準握手,因此一個封包的最小延遲會增加額外的往返延遲。

盡管存在這些限制,全排程的VOQ(fabric)在減少尾延遲方面的效能要明顯優於典型的乙太網路流量。如果透過增加緩沖區而使鏈路利用率提高到90%以上,則在GPU規模擴大時帶來的額外開銷可能是值得投資的。

此外,供應商釘選是VOQ(fabric)面臨的一個問題。因為每個供應商都使用自己的專有協定,所以在同一fabric中混合使用和匹配交換機變得非常困難。

總結:主流GPU集群組網技術套用情況

NVLink 交換系統雖然為GPU間通訊提供了有效解決方案,但其支持的GPU規模相對有限,主要套用於伺服器內部的GPU通訊以及小規模跨伺服器節點間的數據傳輸。

InfiniBand 網路作為一種原生的RDMA網路,在無擁塞和低延遲環境下表現卓越。然而,由於其架構相對封閉且成本較高,它更適用於中小規模且對有線連線有需求的客戶群體。

ROCE無失真乙太網路 則憑借其依托成熟的乙太網路生態、最低的組網成本以及最快的頻寬叠代速度,在中大型訓練GPU集群的場景中展現出更高的適用性。

至於DDC全排程網路 ,它結合了信元交換和虛擬輸出佇列(VOQ)技術,因此在解決乙太網路擁塞問題方面有著顯著的優勢。作為一種新興技術,目前業界各家仍處於研究階段,以評估其長期潛力和套用前景。

更多GPU技術細節,請參考文章「 」,「 」,「 」,「 」,「 」,「 」,「 」,「 」,「 」,「 」,「 」等等。

來源:https://mp.weixin.qq.com/s/CJCm7nqACSjJWGHHd7cMFA


免責申明: 本號聚焦相關技術分享,內容觀點不代表本號立場, 可追溯內容均註明來源 ,釋出文章若存在版權等問題,請留言聯系刪除,謝謝。

推薦閱讀

更多 架構相關技術 知識總結請參考「 架構師全店鋪技術資料打包 (全) 」相關電子書( 41本 技術資料打包匯總詳情 可透過「 閱讀原文 」獲取)。

全店內容持續更新,現下單「 架構師技術全店資料打包匯總(全) 」一起發送「 和「 pdf及ppt版本 ,後續可享 全店 內容更新「 免費 」贈閱,價格僅收 249 元(原總價 439 元)。

溫馨提示:

掃描 二維碼 關註公眾號,點選 閱讀原文 連結 獲取 架構師技術全店資料打包匯總(全) 電子書資料詳情