吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

傳統的TCP/IP堆棧是否足以有效支持HPC網絡通信?

SDNLAB ? 來源:SDNLAB ? 2024-04-18 17:08 ? 次閱讀

在快速增長的人工智能 (AI) 和機器學習 (ML) 領域,數據中心對高性能計算 (HPC) 系統的需求正在迅速提升。HPC 需要快速、低延遲的連接來實現高速、無縫通信。這引出了一個關鍵問題:傳統的 TCP/IP 堆棧是否足以有效支持 HPC 網絡通信?

遠程直接內存訪問 (RDMA) 是 HPC 和存儲網絡領域中備受青睞的技術之一,它能夠在內存到內存級別提供高吞吐量和低延遲的數據傳輸,同時避免給 CPU 帶來額外的負擔。RDMA 允許從一臺計算機直接訪問另一臺計算機上的內存,從而實現了無縫的數據傳輸體驗。此操作完全由網絡適配器硬件處理,無需經過操作系統軟件網絡堆棧的干預。

2108c478-fd60-11ee-a297-92fbcf53809c.png

傳統模式與 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 網絡的使用。

213050a6-fd60-11ee-a297-92fbcf53809c.png

RDMA協議棧

超大規模數據中心中的 RoCEv2

在快節奏的超大規模數據中心領域,對高性能網絡解決方案的需求引發了人們對RoCEv2日益增長的興趣。RoCEv2代表了InfiniBand的性能優勢與以太網的廣泛可訪問性的結合,從而在現有以太網基礎設施上實現無縫的RDMA功能。

RoCEv2利用了融合以太網基礎設施的優勢,促進了傳統以太網流量與RDMA流量在同一網絡上的共存,簡化了網絡管理并消除了對單獨RDMA結構的需求。然而,在融合以太網結構中部署RoCEv2也同樣面臨挑戰,例如通過分配必要的網絡資源、優化UDP數據包封裝以及實施有效的擁塞控制機制(如優先級流量控制(PFC)和中心量化擁塞通知(DCQCN))來確保無損和低延遲通信。本文深入研究了RoCEv2的復雜性,審視了其對UDP的封裝,并提出了資源分配和擁塞控制策略。

21470134-fd60-11ee-a297-92fbcf53809c.png

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)幀進行確認。

215e51c2-fd60-11ee-a297-92fbcf53809c.png

RoCEv2 數據包格式

2169de8e-fd60-11ee-a297-92fbcf53809c.png

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為不同的流量啟用自動流量控制。

2184cea6-fd60-11ee-a297-92fbcf53809c.png

PFC 操作

如上圖所示,當交換機緩沖區接近溢出時(由XOFF閾值表示,表示特定優先級隊列中的緩沖區利用率較高),交換機會調度PFC PAUSE幀,以通知上游端口停止數據傳輸。當緩沖區使用率下降到XON閾值以下時,交換機會提示上游端口恢復流量,表示擁塞已緩解。凈空表示為容納傳輸中的數據包而保留的額外緩沖區空間。

PFC是基于服務類別(CoS)的流量控制協議。在擁塞期間,PFC通過發送暫停幀指示需要暫停傳輸的CoS 值。每個PFC暫停幀都包含每個CoS的2 個八位字節定時器值,指示應暫停流量的持續時間。計時器以暫停量子為單位進行測量,其中量子表示以端口速度傳輸512位數據所需的時間,范圍為 0 到 65535。如果暫停量子為0,則表示恢復流量,提示暫停的流量重新開始流動。PFC通過向指定地址發送暫停幀來指示對等方停止發送特定 CoS 值的幀。暫停幀僅在單跳內傳輸,不會傳播到接收方之外。擁塞緩解后,PFC可以請求對端重新開始數據傳輸。

21c36e72-fd60-11ee-a297-92fbcf53809c.png

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,則降低流量;否則,它會增加由定時器和字節計數器確定的流量。

21da3508-fd60-11ee-a297-92fbcf53809c.png

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
    HPC
    +關注

    關注

    0

    文章

    324

    瀏覽量

    23853
  • 機器學習
    +關注

    關注

    66

    文章

    8438

    瀏覽量

    133080

原文標題:RoCEv2在大規模數據中心的潛力

文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式TCP/IP協議單片機技術在網絡通信中的應用

    介紹了嵌入式TCP/IP協議單片機在網絡通信中的數據傳輸技術。將TCP/IP協議嵌入式單片機中,借助網卡芯片CS8900實現了單片機在局域網
    發表于 05-13 11:17 ?5523次閱讀

    請問利用GPRS模塊實現網絡通信時,需要TCP中轉嗎?

    利用GPRS模塊實現網絡通信時,需要TCP中轉嗎? 900A模塊不是連接上公網IP就可以了嗎?還是說公網IP就是TCP中轉?
    發表于 06-06 04:36

    labview TCP網絡通信基礎教程分享

    非常實用的labview TCP網絡通信教程 歡迎下載
    發表于 01-06 17:00

    分享一款不錯的基于TCP/IP網絡協議設計并實現了浮標網絡通信系統

    本文基于TCP/IP網絡協議設計并實現了浮標網絡通信系統。
    發表于 05-28 06:44

    嵌入式TCP/IP協議單片機在網絡通信中有什么應用?

    什么是TCP/IP協議?CS8900的工作原理是什么?嵌入式TCP/IP協議單片機在網絡通信中有什么應用?
    發表于 06-04 06:49

    基于TCP/IP網絡通信應用程序的相關資料分享

    基于TCP/IP網絡通信應用程序(TCP-Client) 不管是嵌入式Linux應用程序,還是物聯網IoT應用開發,網絡通信一定是一個不可
    發表于 11-05 09:06

    基于UDP協議的網絡通信應用程序

    基于UDP協議的網絡通信應用程序(UDP-Socket)前兩篇文章介紹了基于TCP/IP協議的網絡通信應用程序。嵌入式Linux應用程序開發-(7)
    發表于 11-05 08:29

    基于TCP/IP網絡通信應用程序分享

    基于TCP/IP網絡通信應用程序(TCP-Server)上一篇文章講述了在i.MX6UL開發板中,以客戶端的角色,使用TCP/
    發表于 12-23 08:12

    FPGA上實現網絡通信用的協議

    TCP/IP協議:TCP/IP協議是Internet上使用的主要協議之一,它定義了數據在網絡中的傳輸方式和處理方式。FPGA可以通過實現
    發表于 03-27 09:01

    TCP/IP協議單片機在網絡通信中的數據傳輸技術

    介紹了嵌入式TCP/IP協議單片機在網絡通信中的數據傳輸技術。將TCP/IP協議嵌入式單片機中,借助網卡芯片CS8900實現了單片機在局域網
    發表于 04-16 22:04 ?4465次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>協議單片機在<b class='flag-5'>網絡通信</b>中的數據傳輸技術

    在LabVIEW中利用TCP_IP協議實現網絡通信_labview程序案例

    程序案例 在LabVIEW 中利用TCP_IP協議實現網絡通信
    發表于 01-12 15:45 ?679次下載

    網絡通訊與TCP-IP

    網絡通訊與TCP-IP,網絡通信的技術資料,很好很實用。
    發表于 03-28 14:33 ?24次下載

    linux下TCP-IP通信

    linux下TCP-IP通信,網絡通信的技術資料,很好很實用。
    發表于 03-28 13:46 ?40次下載

    嵌入式Linux應用程序開發-(7)TCP-IP網絡通信應用程序(TCP-Client)

    基于TCP/IP網絡通信應用程序(TCP-Client) 不管是嵌入式Linux應用程序,還是物聯網IoT應用開發,網絡通信一定是一
    發表于 11-02 10:06 ?14次下載
    嵌入式Linux應用程序開發-(7)<b class='flag-5'>TCP-IP</b><b class='flag-5'>網絡通信</b>應用程序(<b class='flag-5'>TCP</b>-Client)

    網絡通信基礎常識

    網絡通信中最重要的就是網絡通信協議。當今網絡協議有很多,局域網中最常用的有三個網絡協議:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和
    發表于 05-08 15:02 ?2370次閱讀
    做生意的摆件| 万豪娱乐| 大连百家乐商场| 机器百家乐心得| 百家乐怎么押钱| 百家乐鸿泰棋牌| 金鼎百家乐局部算牌法| 百家乐游戏机论坛| 澳门百家乐单注下注| 利来百家乐娱乐| 大发888官方注册| 菲律宾太阳网| 百家乐官网体育宝贝| 百家乐官网庄闲必胜手段| 大发888官网注册| 博狗备用网站| 博马百家乐官网娱乐城| 百家乐官网兑换棋牌| 新澳门百家乐官网软件下载| 百家乐官网小揽| 做生意怕路冲吗| 百家乐网上玩法| 大发888网址是什么| 明升| 太阳城百家乐官网如何看路| 百家乐官网英皇赌场娱乐网规则| 百家乐开户送8彩金| 喜达百家乐的玩法技巧和规则| 大发888真钱客户端| 左贡县| 百家乐官网园选百利宫| 棋牌室转让| 大发888娱乐城怎么玩| 盈乐博| 澳门百家乐官网路单怎么看| 百家乐官网桌子租| 木棉百家乐网络| k7娱乐城官网| 澳门百家乐官网鸿运| 宾利百家乐游戏| 全讯网vc8888|