在快速增長的人工智能 (AI) 和機器學習 (ML) 領域,數據中心對高性能計算 (HPC) 系統的需求正在迅速提升。HPC 需要快速、低延遲的連接來實現高速、無縫通信。這引出了一個關鍵問題:傳統的 TCP/IP 堆棧是否足以有效支持 HPC 網絡通信?
遠程直接內存訪問 (RDMA) 是 HPC 和存儲網絡領域中備受青睞的技術之一,它能夠在內存到內存級別提供高吞吐量和低延遲的數據傳輸,同時避免給 CPU 帶來額外的負擔。RDMA 允許從一臺計算機直接訪問另一臺計算機上的內存,從而實現了無縫的數據傳輸體驗。此操作完全由網絡適配器硬件處理,無需經過操作系統軟件網絡堆棧的干預。
傳統模式與 RDMA 模式
HPC 網絡利用 InfiniBand (IB) 堆棧,可實現RDMA技術的各項優勢,包括高吞吐量、低延遲以及CPU旁路特性。此外,InfiniBand 將擁塞管理直接集成到協議中。相比之下,傳統的TCP/IP協議棧會隨著網絡訪問帶寬的增加而導致CPU消耗的增加,從而進一步增加網絡傳輸延遲,顯然不適合HPC需求。
RDMA 網絡協議
InfiniBand(原生RDMA):InfiniBand原生RDMA技術提供了基于通道的P2P消息隊列轉發模型,應用可以通過虛擬通道直接訪問消息,從而繞過對操作系統和其他堆棧的需求。這不僅減輕了CPU的工作負擔,還實現了節點間高效的RDMA讀寫訪問。此外,InfiniBand 的鏈路層集成了特定的重傳機制來支持 QoS,從而消除了對數據緩沖的依賴。但要充分發揮其性能優勢,需要專用的InfiniBand交換機和網卡。
iWARP(基于 TCP 的 RDMA):互聯網廣域 RDMA 協議 (iWARP) 支持基于 TCP 的 RDMA 操作,通過標準以太網基礎設施提供 RDMA 功能。這允許組織將其現有的以太網交換機用于 RDMA 目的,并利用 TCP 的數據包丟失保護機制。但網卡必須支持 iWARP,尤其是在利用 CPU 卸載技術時。
RoCEv1(二層以太網上的 RDMA):RoCEv1 是運行在以太網鏈路層上的 RDMA 協議,可以促進同一以太網廣播域內任意兩臺主機之間的通信。為了實現物理層的可靠傳輸,交換機必須支持PFC(優先級流控制)等流控機制。
RoCEv2(基于 UDP 的 RDMA):RoCEv2 解決了 v1 的局限性,即僅限于單個 VLAN。它通過調整數據包封裝(包括 IP 和 UDP 標頭)來實現跨 L2 和 L3 網絡的使用。
RDMA協議棧
超大規模數據中心中的 RoCEv2
在快節奏的超大規模數據中心領域,對高性能網絡解決方案的需求引發了人們對RoCEv2日益增長的興趣。RoCEv2代表了InfiniBand的性能優勢與以太網的廣泛可訪問性的結合,從而在現有以太網基礎設施上實現無縫的RDMA功能。
RoCEv2利用了融合以太網基礎設施的優勢,促進了傳統以太網流量與RDMA流量在同一網絡上的共存,簡化了網絡管理并消除了對單獨RDMA結構的需求。然而,在融合以太網結構中部署RoCEv2也同樣面臨挑戰,例如通過分配必要的網絡資源、優化UDP數據包封裝以及實施有效的擁塞控制機制(如優先級流量控制(PFC)和中心量化擁塞通知(DCQCN))來確保無損和低延遲通信。本文深入研究了RoCEv2的復雜性,審視了其對UDP的封裝,并提出了資源分配和擁塞控制策略。
RoCEv2
要利用 RoCEv2,源主機和目標主機上都需要支持 RDMA 的專用 RDMA NIC (RNIC)。RDMA 卡的物理 (PHY) 速度通常是 50Gbps 起,目前已經提升至高達400Gbps。
RoCEv2 數據包格式
為了確保在IP和UDP第3層以太網上實現對RDMA流量的無縫傳輸,數據包封裝至關重要。專用UDP目標端口4791用于表示InfiniBand有效負載,同時針對不同的隊列對(QP),使用不同的源端口,可以實現等價多路徑(ECMP)負載共享,以優化轉發效率。
具體來說:
- RoCEv2在IPv4/UDP或IPv6/UDP協議之上運行,使用以太網鏈路層的IP和UDP標頭替代InfiniBand網絡層,實現路由。
- 它默認使用UDP目標端口號4791。
- UDP源端口被用作流標識符,可利用ECMP優化數據包轉發。
- RoCEv2流量和擁塞控制利用IP標頭中的優先級流量控制(PFC)和顯式擁塞通知(ECN)位來管理擁塞,并使用擁塞通知數據包(CNP)幀進行確認。
RoCEv2 數據包格式
RoCEv2 Wireshark 捕獲
RoCEv2以更低的成本提供卓越的多功能性,使其成為在傳統以太網環境中構建高性能RDMA網絡的最佳選擇。但在這些交換機上配置Headroom、PFC和ECN設置等參數可能相當復雜。需要仔細注意以確保建立最佳配置才能獲得最佳性能。擁塞和路由等因素會顯著影響高性能網絡的帶寬和延遲。
在以太網中實施 RoCEv2
為了發揮RDMA的真正性能,需要構建無損網絡。在以太網交換機上實施RoCEv2需要注意以下關鍵因素,以確保最佳性能和兼容性:
1. MTU(最大傳輸單元):RoCEv2需要比傳統以太網流量更大的MTU,以容納額外的RDMA標頭。建議將最小MTU設置為9000字節,以避免碎片并確保高效的數據傳輸。
2. QoS(服務質量):實施QoS機制對于優先考慮RoCEv2流量并確保低延遲通信至關重要。需要配置交換機隊列和調度算法,使RDMA流量比其他網絡流量具有更高的優先級。差分服務代碼點(DSCP)標記可根據優先級對流量進行分類,并根據其在網絡中的重要性對RoCEv2流量進行優先級排序,實現更精細的QoS控制。以太網交換機應支持基于DSCP的QoS,以有效管理RoCEv2流量并保持最佳網絡性能。
3. PFC(優先級流量控制):PFC對于創建無損以太網至關重要,因為它可以防止數據包丟失并確保RDMA流量的可靠傳輸。交換機必須支持基于IEEE 802.1Qbb標準的PFC,以實現RoCEv2的無損操作。
4. ECN(顯式擁塞通知):ECN在管理擁塞和維持最佳網絡性能方面發揮著至關重要的作用,特別是數據中心量化擁塞通知(DCQCN)。交換機必須支持ECN機制,才能對RoCEv2流量進行有效的擁塞控制。
以上是在以太網上實施RoCEv2時需要考慮的關鍵因素。接下來,讓我們深入研究兩個關鍵組件:優先級流量控制(PFC)和數據中心量化擁塞通知(DCQCN)。這些機制在確保無損通信、有效管理擁塞以及維持RoCEv2流量的最佳網絡性能方面發揮著至關重要的作用。
PFC - 基于優先級的流量控制
優先流量控制(PFC)是一種IEEE 802.1Qbb鏈路層流量控制協議,旨在確保無丟包的網絡環境。PFC使接收器能夠通過通知發送器臨時停止特定優先級的傳輸流量來實現流量控制。它提高了從物理端口到8個虛擬通道的流量控制的精度,并與8個硬件隊列(流量類別:TC0、TC1 ... TC7)對齊。同時,PFC利用DSCP為不同的流量啟用自動流量控制。
PFC 操作
如上圖所示,當交換機緩沖區接近溢出時(由XOFF閾值表示,表示特定優先級隊列中的緩沖區利用率較高),交換機會調度PFC PAUSE幀,以通知上游端口停止數據傳輸。當緩沖區使用率下降到XON閾值以下時,交換機會提示上游端口恢復流量,表示擁塞已緩解。凈空表示為容納傳輸中的數據包而保留的額外緩沖區空間。
PFC是基于服務類別(CoS)的流量控制協議。在擁塞期間,PFC通過發送暫停幀指示需要暫停傳輸的CoS 值。每個PFC暫停幀都包含每個CoS的2 個八位字節定時器值,指示應暫停流量的持續時間。計時器以暫停量子為單位進行測量,其中量子表示以端口速度傳輸512位數據所需的時間,范圍為 0 到 65535。如果暫停量子為0,則表示恢復流量,提示暫停的流量重新開始流動。PFC通過向指定地址發送暫停幀來指示對等方停止發送特定 CoS 值的幀。暫停幀僅在單跳內傳輸,不會傳播到接收方之外。擁塞緩解后,PFC可以請求對端重新開始數據傳輸。
PFC 幀格式
PFC的缺點在于它可能會導致入口端口處特定流量類別內的所有流量停止傳輸,從而阻止了流向其他端口的流量。與PFC相關的常見問題包括隊頭(HoL)阻塞、不公平和死鎖情況。這些問題顯著降低了RoCEv2的吞吐量、延遲和利用率性能。因此,RoCEv2需要端到端的每流擁塞控制來調整流量,快速消除擁塞并最大限度地減少PFC的頻繁觸發。
DCQCN - 使用 ECN 進行擁塞控制
數據中心量化擁塞通知(DCQCN)是專門為RoCEv2設計的端到端擁塞控制機制。它結合了ECN和PFC,旨在實現跨網絡的無丟包以太網連接。DCQCN的概念是利用ECN來進行流量控制,在發生擁塞時降低發送方的傳輸速率,從而有效地減少PFC的干預。
在DCQCN中,交換機充當擁塞點(CP),通過 ECN 字段監控隊列長度和標志來檢測擁塞。交換機使用RED(隨機早期檢測)機制根據隊列長度對數據包進行概率性的ECN標記。接收方充當通知點(NP),生成擁塞通知數據包(CNP),并直接發送給發送方。然后,發送方充當反應點(RP),如果在控制周期內收到CNP,則降低流量;否則,它會增加由定時器和字節計數器確定的流量。
DCQCN操作
ECN利用IPv4或IPv6標頭中流量類別字段的兩個最低有效位(最右側)對四個不同的代碼點進行編碼:
- 0x00:不支持ECN的傳輸(非ECT) - 0x10:支持ECN的傳輸0(ECT-0) - 0x01:支持ECN的傳輸1(ECT-1) - 0x11:遇到擁塞(CE) 如果發生擁塞,網絡設備會重新標記數據包為ECN遇到擁塞(0x11),但不會向發送方發送任何內容。重新標記的數據包到達目的地后,目的地會向發送方發送通知以減少流量。路徑上的所有交換機或路由器都需要支持ECN。
在動態網絡環境中,PFC和DCQCN的結合使用可以優化RDMA性能。DCQCN通過向端點數據路徑的任何地方發送擁塞信號,有效地緩解擁塞模式,如incast。同時,PFC通過減慢發送者的速度,有效地管理由端點附近的突發應用程序引起的擁塞。在這種設置中,DCQCN充當主要的擁塞管理機制,而PFC則充當故障安全的備用解決方案。
結論
總的來說,RoCEv2等RDMA協議的發展為超大規模數據中心尋求高性能網絡解決方案提供了巨大的機遇。通過在融合以太網結構上采用RoCEv2,數據中心運營商可以實現無縫的RDMA功能,無需額外的RDMA結構,從而簡化網絡管理并降低成本。然而,RoCEv2的成功實施面臨著解決無損和低延遲通信、資源分配和擁塞控制等挑戰。通過認真考慮MTU大小、QoS機制、PFC和ECN設置等方面,數據中心運營商可以充分發揮RoCEv2的潛力,提升超大規模環境的性能和可擴展性。
原文鏈接: https://www.linkedin.com/pulse/optimizing-aiml-hpc-workloads-exploring-rdma-rocev2-data-chitakani-iuwvc
審核編輯:劉清
-
數據傳輸
+關注
關注
9文章
1952瀏覽量
64852 -
人工智能
+關注
關注
1796文章
47666瀏覽量
240274 -
網絡通信
+關注
關注
4文章
814瀏覽量
29943 -
HPC
+關注
關注
0文章
324瀏覽量
23853 -
機器學習
+關注
關注
66文章
8438瀏覽量
133080
原文標題:RoCEv2在大規模數據中心的潛力
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論