近期,由博通、思科、Arista、微軟、Meta等國際頂級半導體、設備和云廠商牽頭成立的超以太網(wǎng)聯(lián)盟(UEC)在OCP Global Summit上對外公布其最新進展——UEC規(guī)范1.0的預覽版本。讓我們一睹為快吧!
UEC 旨在提出一種“升級版”的以太網(wǎng)通信協(xié)議棧用以應對AI智算、HPC等領域?qū)DMA網(wǎng)絡的性能挑戰(zhàn)——當前大規(guī)模計算節(jié)點互聯(lián)場景下主要有InfiniBand和基于以太網(wǎng)協(xié)議的RoCE兩大技術路線。有關IB和RoCE協(xié)議棧的詳盡對比可參閱:
[高性能網(wǎng)絡傳輸:RoCE與IB協(xié)議棧對比解析]
相比較為封閉的IB架構(gòu),以太網(wǎng)在互操作性和帶寬成本上的優(yōu)勢已在市場層面得到了廣泛認可,尤其是大規(guī)模的AI算力中心場景。當前全球TOP500的超級計算機中RoCE和IB的占比相當,以端口帶寬總量計算,IB占比為39.2%,RoCE已達48.5%。
盡管IB和RoCE在高性能傳輸?shù)膿砣刂?、QoS皆有應對設計,但也暴露出一些缺陷。例如亂序需要重傳、不夠完美的負載分擔、Go-back-N問題,DCQCN 部署調(diào)優(yōu)復雜等等。
面向GPU Scale-out網(wǎng)絡的UEC 1.0 規(guī)范從軟件API、運輸層到鏈路層以及網(wǎng)絡安全和擁塞控制皆有涉及,較傳統(tǒng)RDMA網(wǎng)絡有了大量改進,我們將挑出重點介紹。
什么是超級以太網(wǎng)系統(tǒng)
一個超級以太網(wǎng)系統(tǒng)的組成如下。一個集群(Cluster)由節(jié)點(Node)和網(wǎng)絡(Fabric)組成,節(jié)點通過網(wǎng)卡(Fabric Interface)連接到網(wǎng)卡,一個網(wǎng)卡中可以有多個邏輯的網(wǎng)絡端點(Fabric End Point,F(xiàn)EP)。網(wǎng)絡由若干平面(Plane)組成,每個平面是多個FEP的集合,通常通過交換機互聯(lián)。
超以太網(wǎng)協(xié)議棧概覽
? 物理層與傳統(tǒng)以太網(wǎng)完全兼容,可選支持FEC(前向糾錯)統(tǒng)計功能
? 鏈路層可選支持鏈路層重傳(LLR),并支持包頭壓縮,為此擴展了LLDP的協(xié)商能力
? 網(wǎng)絡層依然是IP協(xié)議,沒有變化
? 傳輸層是全新的,作為UEC協(xié)議棧的核心數(shù)據(jù)包傳輸子層(Packet Delivery)和消息語義子層(Message Semantics)。包傳輸子層實現(xiàn)新一代擁塞控制、靈活的包順序等功能,消息語義子層支持xCCL和MPI等消息??蛇x支持安全傳輸。另外,在網(wǎng)集合通信(In Network Collective,INC)也在這一層實現(xiàn)
? ** 軟件API層** 。提供UEC擴展的Libfabrics 2.0
物理層
UEC 1.0規(guī)范下的物理層與傳統(tǒng)以太網(wǎng)(符合IEEE802.3標準)完全兼容,支持每通道100Gbps和200Gbps速率,在此基礎上實現(xiàn)800Gbps和更高的端口速率。
另外可選支持物理層性能指標統(tǒng)計功能(PHY metrics)。這些指標基于 FEC 碼字進行計算,不受流量模式和鏈路利用率的影響。估計算法基于FEC錯誤計數(shù)器的數(shù)據(jù),從而得出不可糾正錯誤率(UCR )和數(shù)據(jù)包錯誤平均間隔(MTBPE)。這些指標衡量了物理層的傳輸性能和可靠性,用于上層的遙測和擁塞控制等。為了支持新的 UEC 鏈路層功能,UEC規(guī)范中也對協(xié)調(diào)子層(RS)進行了相應的修改。
鏈路層
UEC鏈路層最大的變化是引入了LLR(Link Level Retry)協(xié)議。它可以讓以太網(wǎng)不依賴PFC,實現(xiàn)無損傳輸。
LLR 機制是基于幀的。每個幀都分配了一個序列號,接收端成功接收這一幀后,檢查幀的序列號是否符合預期,如果正確,發(fā)送確認消息(ACK),如果發(fā)現(xiàn)幀亂序或者丟失,則發(fā)送否定確認消息 (NACK)。發(fā)送端具有超時機制,用于保證在 NACK 丟失時重傳。
傳輸層:UET,新一代協(xié)議棧的核心
前文提過,傳統(tǒng)的RDMA網(wǎng)絡傳輸層(包括IB和RoCE)在多路徑傳輸、負載分擔、擁塞控制以及參數(shù)調(diào)優(yōu)等方面存在著不足之處。隨著AI/HPC集群規(guī)模增長,網(wǎng)絡的確定性和可預測性越來越困難,需要全新的方法來解決。
UEC傳輸層(UEC Transport Layer,簡稱UET)運行在IP和UDP協(xié)議之上, 支持實現(xiàn)以下幾大技術目標:
? 支持高達 100 萬個 GPU/TPU 的算力集群
? 往返時間低于 10μs
? 單接口帶寬800Gbps及以上
? 網(wǎng)絡利用率超過85%
選擇性重傳
(Selective Retransmit)
傳統(tǒng)傳輸協(xié)議,如TCP需要嚴格的傳輸順序,并采用了Go-Back-N機制。而一個RDMA消息通常包含多個數(shù)據(jù)包,只要有一個數(shù)據(jù)包錯誤,則從這個數(shù)據(jù)包起的所有數(shù)據(jù)包都要重傳。這讓偶爾的傳輸錯誤被放大,加劇了網(wǎng)絡擁塞。UEC采用選擇性重傳機制,僅傳輸錯誤的數(shù)據(jù)包。
亂序交付
(Out-of-Order Delivery)
UET不僅支持有序傳輸,也支持無序傳輸。這是因為現(xiàn)代網(wǎng)絡中通常有多路徑存在,同一個流的數(shù)據(jù)包經(jīng)過不同路徑傳輸,就可能造成亂序。如果還要求嚴格的順序傳輸,就無法利用多路徑來實現(xiàn)負載分擔。此外,選擇性重傳也需要無序傳輸?shù)闹С?。為了實現(xiàn)無序傳輸,需要接收方有更大的數(shù)據(jù)包緩沖區(qū),從而將亂序的數(shù)據(jù)包組成一個完整的RDMA消息。
UET支持四種傳輸方式:
? ROD (Reliable Ordered Delivery)
– 需要擁塞控制、有序、可靠、無重傳(依舊采用Go-Back-N)
? RUD (Reliable Unordered Delivery)
– 需要擁塞控制、無序、可靠、無重傳
? RUDI (RUD for Idempotent Operations)
– 可選擁塞控制、無序、可靠、重傳
? UUD (Unreliable Unordered Delivery)
– 可選擁塞控制、無序、不可靠、重傳
包噴灑
(Packet Spraying)
包噴灑是一種基于包的多路徑傳輸。由于傳統(tǒng)傳輸協(xié)議不支持無序傳輸,同一個數(shù)據(jù)流必須按照同一個路徑傳輸,否則就會造成亂序,引發(fā)重傳。而在AI/HPC應用中,存在大量的“大象流”,它們數(shù)據(jù)量大、持續(xù)時間長,如果能使用多路徑傳輸一個流,將顯著提高整個網(wǎng)絡的利用率。
由于支持了RUD,UET就可以將同一個流的不同包分散到多個路徑上同時傳輸,實現(xiàn)包噴灑功能。這讓交換機可以充分發(fā)揮ECMP甚至WCMP(Weighted Cost Multi- Pathing)路由能力,將去往同一目的地的數(shù)據(jù)包通過多條路徑發(fā)送,大幅度提高網(wǎng)絡利用率。
擁塞控制
(Congestion Control)
UET 擁塞控制包含以下重要特性,由端側(cè)硬件和交換機配合完成,有效減小了尾部延遲。
? **Incast管理。**它用于解決集合通信(Collective)中下行鏈路上的扇入問題。AI和HPC應用經(jīng)常采用集合通信在多個節(jié)點之間同步信息,當多個發(fā)送者同時向一個接收者發(fā)送流量,就會產(chǎn)生Incast擁塞。
? **速率調(diào)整加速。**現(xiàn)有的擁塞控制算法,在發(fā)生網(wǎng)絡擁塞后調(diào)整速率的過程較長,而 UET 可以快速上升到線速。方法是測量端到端延遲來調(diào)節(jié)發(fā)送速率,以及根據(jù)接收方的能力通知發(fā)送方調(diào)整速率。
? **基于遙測。**源自網(wǎng)絡的擁塞信息可以通告擁塞的位置和原因,縮短擁塞信令路徑并向終端節(jié)點提供更多信息,從而實現(xiàn)響應速度更快的擁塞控制。
? 基于包噴灑的自適應路由 。當擁塞發(fā)生時,通過包噴灑技術將流量重新路由到其它路徑上,繞過擁塞點。
端到端的安全
UEC在傳輸層內(nèi)置安全。它是基于作業(yè)(Job)的,可以對整個作業(yè)的流量進行端到端的AES加密,充分利用 IPSec 和PSP(Packet Security Protocol)的能力,減小安全加密的開銷,提供可擴展安全域,并且可以由硬件卸載。
在網(wǎng)計算
(In Network Collectives)
在網(wǎng)計算最早應用在HPC集群,業(yè)界主要有兩個思路,一是基于網(wǎng)卡的,二是基于交換機。
UEC V1.0 的目標是后者,即將集合操作卸載到各級交換機上完成,避免過多的收發(fā)次數(shù),降低節(jié)點交互頻率和處理時延開銷,減少約一半數(shù)據(jù)傳輸量,從而加速All-Reduce操作。
在部署實現(xiàn)上,目前AI智算領域唯一大規(guī)模商用的案例僅有英偉達的SHARP(在ASIC層面實現(xiàn)的硬件加速),以太網(wǎng)設備廠家仍處在探索階段,例如將算力內(nèi)置于交換機或外接,甚至P4可編程都是可能的思路方向。
軟件層:Extended Libfabrics 2.0
在軟件層,UEC提供簡化的API。它簡化了RDMA操作,并為AI和HPC應用提供專用的API,如xCCL, MPI, PGAS和OpenShmem等。
硬件升級:支持UEC的交換機和網(wǎng)卡
UEC在規(guī)范中定義了支持超級以太網(wǎng)交換機的架構(gòu),可以看到大體是繼承了SONiC的架構(gòu)。這部分的主要關注在于控制平面上支持INC和SDN控制器;數(shù)據(jù)平面升級了SAI(Switch Abstraction Interface)API調(diào)用硬件提供的INC等能力。
UEC同樣定義了網(wǎng)絡端點(Fabric End Point)的軟硬件架構(gòu)。在硬件層,網(wǎng)卡升級支持UEC功能。在操作系統(tǒng)內(nèi)核態(tài),實現(xiàn)網(wǎng)卡驅(qū)動。在用戶態(tài),基于libfabric擴展實現(xiàn)INC管理等功能,支持上層的xCCL/MPI/SHMEM等應用。
總的來說,UEC v1.0規(guī)范重構(gòu)了數(shù)據(jù)中心以太網(wǎng)以完全替代傳統(tǒng)的RDMA網(wǎng)絡,用更高的性能、更低的成本實現(xiàn)穩(wěn)定可靠、具有百萬節(jié)點的AI/HPC集群。
星融元RoCE交換機與UEC
作為UEC成員單位,星融元提供的超低時延RoCE交換機(CX-N系列)全系采用高性能的標準白盒網(wǎng)絡硬件,搭載為生產(chǎn)環(huán)境深度調(diào)優(yōu)的企業(yè)級SONiC發(fā)行版——多項 Easy RoCE 特性,全面兼容現(xiàn)有規(guī)范并提供靈活、廣大的升級空間,未來將平滑演進與新一代以太網(wǎng)標準保持同步。
[搶先圍觀!星融元51.2T 800G RoCE交換機測試]
審核編輯 黃宇
-
以太網(wǎng)
+關注
關注
40文章
5463瀏覽量
172791 -
通信
+關注
關注
18文章
6074瀏覽量
136452 -
網(wǎng)絡
+關注
關注
14文章
7600瀏覽量
89286 -
RDMA
+關注
關注
0文章
78瀏覽量
8983
發(fā)布評論請先 登錄
相關推薦
評論