引言
在現代計算機網絡中,傳輸效率和低時延是高性能計算、云計算、分布式存儲等應用的關鍵需求。而遠程直接內存訪問(RDMA,Remote Direct Memory Access)技術因其高效的數據傳輸特性,已經成為高性能計算和存儲系統的核心技術之一。然而,傳統的RDMA協議需要專門的硬件支持和網絡環境,這使得它的普及面臨一定的挑戰。
為了克服這一挑戰,RDMA技術在以太網環境中的實現成為了關鍵,這就是RoCE(RDMA over Converged Ethernet)協議的誕生。RoCE協議使得RDMA能夠在標準的以太網設備上運行,從而讓RDMA技術的應用范圍更廣泛,尤其在現代數據中心中得到了越來越多的應用。
本文將深入探討RoCE協議的工作原理、版本演變以及在實際應用中如何通過高效的擁塞控制機制確保數據傳輸的高效性,最終使得RDMA能夠在各種網絡環境中實現無損、低延遲的數據傳輸。
RDMA技術概述
首先,讓我們了解一下什么是RDMA以及它為什么如此重要。
上圖的藍色箭頭表示傳統經過CPU的訪問路徑,綠色箭頭表示RDMA技術的訪問路徑。
遠程直接內存訪問(RDMA)技術允許計算機系統直接訪問遠程計算機的內存,而無需通過操作系統的干預或網絡協議棧的處理。這種方式極大提高了數據傳輸效率,減少了網絡傳輸的延遲。
RDMA的最大優勢在于,它幾乎消除了傳統網絡協議棧中的開銷,直接在內存中讀取或寫入數據,避免了內存復制和操作系統調用的延遲。這使得RDMA在對延遲和帶寬有極高要求的應用場景,如大規模并行計算、實時數據處理、分布式數據庫等領域,展現了巨大的潛力。
然而,RDMA技術在傳統以太網環境下難以實現,因為RDMA通常需要在專用網絡(如InfiniBand)上運行,這些網絡專為低延遲和高帶寬設計,不適用于普通的以太網。為了解決這一問題,RoCE協議應運而生,它將RDMA協議移植到標準以太網上,讓RDMA能夠在更加廣泛的網絡環境中運行。
RoCE協議與傳統以太網的關系
傳統以太網雖然被廣泛使用,但并不是為低延遲和高吞吐量設計的。尤其在網絡擁塞和流量管理方面,以太網的表現通常無法滿足高性能計算和存儲的需求。因此,RoCE協議的設計旨在結合以太網的普及性與RDMA的高性能特性。
RoCE協議通過將RDMA數據封裝在標準的以太網幀中,使得它可以在普通的以太網設備上運行,而不需要專門的硬件支持。這種設計使得RoCE不僅可以與現有的以太網硬件兼容,還能大幅降低成本,從而使RDMA能夠普及到更廣泛的應用場景中。
RoCE的版本演變
RoCE協議的發展經歷了兩個主要版本:RoCEv1和RoCEv2。
1RoCEv1:這個版本的RoCE協議只在L2(數據鏈路層)上使用以太網頭部封裝,但在L3(網絡層)仍然使用InfiniBand的GRH(Global Routing Header)。這種設計使得RoCEv1只能在局域網(LAN)內使用,無法跨越不同子網進行通信,限制了它的應用場景。據訪問需多次內存拷貝,傳輸時延大;
2RoCEv2:為了彌補RoCEv1的不足,RoCEv2采用了更靈活的設計,改用IP/UDP進行L3封裝,使得RoCEv2能夠在L3子網之間進行通信。這一改進不僅解決了跨子網通信的問題,還通過UDP協議支持了更高效的負載均衡,從而使得RoCEv2能夠在大規模數據中心中廣泛應用。
RoCEv2協議的工作原理
RoCEv2協議的核心設計是利用UDP協議來進行數據封裝。相比傳統的TCP協議,UDP具有較低的開銷和更高的傳輸效率,這使得RoCEv2能夠在RDMA應用中提供高效的數據傳輸。然而,UDP的缺點是它并不保證數據的可靠傳輸,這就意味著在數據丟失或網絡出現問題時,需要額外的機制來確保數據的完整性。
為了解決UDP的缺點,RoCEv2依賴一個Lossless Network(無丟包網絡)來確保數據傳輸的高效性。在這樣的網絡中,任何丟包都可能導致性能急劇下降,因此確保零丟包是RoCEv2高效運行的前提。
什么是無丟包網絡
Lossless Network(無丟包網絡)是確保RoCEv2協議能夠順利工作的關鍵。無丟包網絡通過擁塞控制和流量管理機制,防止在數據傳輸過程中發生丟包現象。RoCEv2對網絡的丟包非常敏感,因為丟包會導致RDMA操作中斷,進而影響到整個應用的性能。
在傳統的以太網中,當數據流量超過網絡處理能力時,可能會出現丟包現象。而在RoCEv2中,為了避免這種情況,通常要求網絡具備流量控制和擁塞控制的能力。
網絡擁塞控制與流量管理
在高性能網絡中,網絡擁塞是一個常見問題,它會影響數據包的傳輸效率,導致延遲增加和吞吐量下降。尤其是在RoCEv2協議中,網絡擁塞可能導致數據包丟失,而丟包直接影響到RDMA操作,最終影響應用性能。因此,網絡擁塞控制是RoCEv2協議設計中的一個關鍵要素。
擁塞通常發生在網絡中的數據傳輸鏈路和交換設備上。當大量數據同時傳輸時,如果交換機的緩存滿了,數據就會丟失。此時,流量的增加會導致網絡處理能力的下降,進而造成擁塞。
1流量控制:主要用于防止發送方數據流量過快,超出接收方處理能力,從而導致數據丟失。在RoCEv2中,流量控制可以通過網絡設備的PFC(Priority Flow Control)機制來實現。
2擁塞控制:擁塞控制則是針對整個網絡層面的問題。它主要關注的是網絡鏈路和交換機是否能高效地處理大量數據流。在RoCEv2中,擁塞控制機制幫助在網絡開始出現擁塞時調整數據傳輸的速率,從而避免擁塞的進一步惡化。
RoCEv2協議的擁塞控制通常依賴兩種方法:PFC和ECN。
基于優先級的流量控制(PFC)
PFC(Priority Flow Control,優先級流量控制)是為了避免數據包在網絡中丟失而采取的一種機制。它的基本工作原理是在發現網絡出現擁塞時,通過發送一個“暫停幀”來告訴發送方暫時停止數據的發送,從而為網絡騰出空間。PFC的目標是確保高優先級流量(如RDMA流量)能夠在擁塞情況下保持優先傳輸。
PFC的工作流程簡述如下:
1數據流量過載:當網絡中的某些鏈路發生擁塞時,交換機會根據流量的優先級做出相應的反應。
2暫停幀:當檢測到某些流量達到擁塞閾值時,交換機會發送暫停幀給發送方,通知它停止傳輸某一優先級的流量。件運行TCP/IP協議棧完成報文封裝,導致CPU負載重且CPU性能成為傳輸帶寬、時延等關鍵性能指標的瓶頸;
3恢復傳輸:一旦網絡中的擁塞得以緩解,交換機會發送恢復幀,通知發送方可以恢復數據的傳輸。
PFC的優點在于能夠有效避免丟包,保證了RoCEv2協議在傳輸過程中的高效性。然而,PFC也有一些潛在的問題:
1死鎖問題:如果多個流量因擁塞同時被暫停,并且這些流量互相依賴,可能會造成數據流無法繼續傳輸,形成“死鎖”。
2風暴問題:在網絡中大量暫停幀同時涌入可能會引起網絡的進一步擁塞,形成所謂的“暫停風暴”,這會導致網絡的進一步癱瘓。
盡管如此,PFC仍然是RoCEv2的基礎組件之一,特別適合用于在較小的局域網內進行優先級管理。
ECN(顯式擁塞通知)技術
ECN(Explicit Congestion Notification)是一種網絡層面的技術,旨在更智能地處理網絡中的擁塞問題,而不僅僅是依賴暫停幀的流量控制。ECN的設計目的是允許網絡設備在出現擁塞時提前向端點發送通知,以便發送端調整其傳輸速率,而不是等待網絡設備發生丟包后才做出反應。
ECN的工作原理非常簡單:當網絡設備檢測到可能的擁塞時,數據包會被標記為“擁塞通知”(CNP,Congestion Notification Packet)。接收端收到帶有ECN標記的數據包后,會通知發送端調整數據發送速率。ECN技術有兩個主要的優點:
1減少丟包:相比于傳統的擁塞控制方法(如丟包和重新傳輸),ECN通過提前發出擁塞通知,避免了丟包的發生。
2減少延遲:在沒有丟包的情況下,數據傳輸的延遲較低,這對高性能計算和實時應用尤為重要。
雖然ECN能夠有效地減輕網絡擁塞,但其仍然需要在網絡設備和操作系統層面進行廣泛的支持。RoCEv2協議中的ECN使得它在處理大規模數據中心內的網絡流量時表現更為高效。
DCQCN:量化擁塞通知與多路徑傳輸
DCQCN(Data Center Quantized Congestion Notification)是一種更加高級的擁塞控制算法,專門為高帶寬、低延遲的網絡環境設計,尤其適用于大規模數據中心。與傳統的ECN不同,DCQCN采用了“量化擁塞通知”的方式,通過更加細粒度的控制來平衡流量,從而避免單一流量的過度擁塞。
DCQCN的工作原理如下:
1量化通知:當交換機檢測到擁塞時,它會生成一個量化通知包,并通過特定的算法確定數據流量的調整幅度。這種量化通知不僅僅是簡單地告訴發送方“減慢”速度,而是通過具體的數值指示如何調整發送速率。
2多路徑傳輸:DCQCN還能夠支持多個傳輸路徑的選擇,幫助分擔網絡負載,避免某一路徑的過度擁塞。這種多路徑的設計使得網絡資源的利用更加高效,避免了單一鏈路的瓶頸。
這種方法有效提高了RoCEv2協議在大規模數據中心和云計算環境中的應用性能,尤其是在處理大量并行數據流時,能夠實現更好的帶寬利用和流量管理。
RoCEv2的實際應用場景
RoCEv2協議在多個領域都展現了巨大的潛力,尤其在需要高帶寬和低延遲的應用場景中,如高性能計算(HPC)、大數據分析、分布式存儲系統等。
1高性能計算(HPC):HPC集群往往需要通過RDMA技術來實現節點間的快速數據傳輸,RoCEv2協議在以太網上的實現,使得HPC系統能夠在現有的網絡架構上實現低延遲、高吞吐量的網絡通信,滿足大規模并行計算的需求。
2分布式存儲:在大規模分布式存儲系統中,數據傳輸效率是影響系統性能的關鍵因素。RoCEv2通過高效的數據傳輸機制,使得分布式存儲系統能夠在不同節點之間快速地同步數據,減少存儲延遲。
3云計算和虛擬化:RoCEv2協議在云計算環境中非常有用,它能夠確保虛擬機和容器之間的數據快速交換,尤其在需要實時處理的大數據和流媒體應用中,RoCEv2能夠確保網絡延遲在最低限度內,從而提高云服務的響應速度和用戶體驗。
挑戰與未來發展
盡管RoCEv2在高性能網絡中展現了諸多優勢,但AI網絡Scale Out互聯層面仍面臨一些挑戰:
1擁塞控制滯后:雖然PFC和ECN能夠有效減少擁塞和丟包,但在高并發的網絡環境中,控制策略的滯后仍然會影響性能。未來的研究可能會致力于提高擁塞控制的響應速度,減少對網絡性能的影響。
2網絡管理復雜性:RoCEv2要求網絡必須支持無丟包的流量控制,這增加了網絡的配置和管理復雜度。隨著數據中心規模的擴大,如何有效管理RoCEv2網絡將成為一個重要問題。
3RoCE的可能發展:隨著網絡技術的不斷發展,未來可能會出現modernized RoCE等新版本,進一步優化擁塞控制算法和多路徑傳輸性能,以滿足未來更為復雜和高帶寬的應用需求。
總結
RoCE協議憑借其高效的低延遲數據傳輸能力,在現代高性能計算和分布式存儲系統中扮演著重要角色。且以太網的成熟度、低部署成本、兼容性強和運維便利性,使得RoCE在需要高性能RDMA同時希望控制成本、簡化部署的場景(如云計算、AI訓練、大數據分析)中越來越受到青睞。RoCE通過結合RDMA和標準以太網的優勢,使得RDMA能夠廣泛應用于多種網絡環境。
盡管現有的RoCEv2面臨一定的挑戰,如PFC風暴、死鎖的問題,但我們仍期待,國內外Scale Out生態聯盟(UEC、GSE等)齊心協力、共同構建下一代高性能modernized RDMA技術,通過支持多路徑傳輸的數據包噴灑技術、自適應路由、增強重傳機制等功能,結合RoCE多種具備競爭力的特點,能夠使行業更好地把握未來高性能網絡技術的發展趨勢,迎接更快速、更高效、更智能的網絡時代。
關于我們
AI網絡全棧式互聯架構產品及解決方案提供商
奇異摩爾,成立于2021年初,是一家行業領先的AI網絡全棧式互聯產品及解決方案提供商。公司依托于先進的高性能RDMA 和Chiplet技術,創新性地構建了統一互聯架構——Kiwi Fabric,專為超大規模AI計算平臺量身打造,以滿足其對高性能互聯的嚴苛需求。
我們的產品線豐富而全面,涵蓋了面向不同層次互聯需求的關鍵產品,如面向北向Scale out網絡的AI原生智能網卡、面向南向Scale up網絡的GPU片間互聯芯粒、以及面向芯片內算力擴展的2.5D/3D IO Die和UCIe Die2Die IP等。這些產品共同構成了全鏈路互聯解決方案,為AI計算提供了堅實的支撐。
奇異摩爾的核心團隊匯聚了來自全球半導體行業巨頭如NXP、Intel、Broadcom等公司的精英,他們憑借豐富的AI互聯產品研發和管理經驗,致力于推動技術創新和業務發展。團隊擁有超過50個高性能網絡及Chiplet量產項目的經驗,為公司的產品和服務提供了強有力的技術保障。我們的使命是支持一個更具創造力的芯世界,愿景是讓計算變得簡單。奇異摩爾以創新為驅動力,技術探索新場景,生態構建新的半導體格局,為高性能AI計算奠定穩固的基石。
-
以太網
+關注
關注
40文章
5501瀏覽量
173494 -
數據傳輸
+關注
關注
9文章
1980瀏覽量
65112 -
計算機網絡
+關注
關注
3文章
342瀏覽量
22374 -
RDMA
+關注
關注
0文章
80瀏覽量
9090
原文標題:Kiwi Talks|AI網絡Scale Out的關鍵:一文讀懂以太網RDMA技術
文章出處:【微信號:奇異摩爾,微信公眾號:奇異摩爾】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
一文詳解車載以太網



詳解工業以太網
一文詳解什么是實時以太網

RDMA技術簡介 RDMA的控制通路和數據通路方案
一文了解工業以太網交換機

加速網絡性能:融合以太網 RDMA (RoCE) 的影響

評論