在高效能計算(HPC)系統的發展初期,通常選擇專業網路解決方案,如Myrinet、Quadrics和InfiniBand,而不是乙太網路解決方案。透過客製網路方案可以有效解決乙太網路解決方案的限制,增強頻寬、降低延遲、改善擁塞控制。2010年,IBTA推出了RoCE協定技術標準,隨後於2014年釋出了RoCEv2協定技術標準,大幅提升網路頻寬。乙太網路效能的顯著提升引起行業對與傳統乙太網路相容的高效能網路解決方案的日益關註。這種轉變打破了乙太網路在排名前500的HPC集群中使用率下降的趨勢,使乙太網路在排名中保持了重要地位。
相關閱讀:
盡管Myrinet和Quadrics逐漸結束了套用方案選擇之列,InfiniBand仍然在高效能網路中占據著重要的地位。此外Cray、天河和Tofulseries等專用網路系列也發揮著重要作用。
RoCE協定簡介
RoCE協定是一種集群網路通訊協定,它實作在乙太網路上進行遠端直接記憶體存取(RDMA)。作為TCP/IP協定的特色功能,該協定將封包的發射/接收任務轉移到網路介面卡上,改變了系統進入內核模式的需求。因此它減少與復制、封裝和解封裝相關的開銷,很大程度上降低了乙太網路通訊的延遲。此外它在通訊過程中充分利用CPU資源,減輕了網路擁塞,並提高了頻寬的有效利用率。
RoCE協定包括兩個版本:RoCE v1和RoCE v2。RoCE v1作為鏈路層協定執行,要求通訊雙方在相同的第2層網路中。相比之下RoCE v2作為網路層協定執行,使得RoCE v2協定封包可以在第3層進行路由,提供了更好的可延伸性。
RoCE V1協定
RoCE協定保留了InfiniBand(IB)的介面、傳輸層和網路層,但將IB的鏈路層和實體層替換為乙太網路的鏈路層和網路層。在RoCE封包的鏈路層數據幀中,乙太網路型別欄位的值由IEEE指定為0x8915,明確標識其為RoCE封包。然而,由於RoCE協定沒有采用乙太網路的網路層,RoCE封包缺少IP欄位。因此對於RoCE封包來說,在網路層進行路由是不可行的,限制了它們在第2層網路內的傳輸。
RoCE V2協定
RoCE v2協定在RoCE協定的基礎上持續最佳化。RoCEv2透過融合乙太網路網路層和使用UDP協定的傳輸層,改造了RoCE協定所使用的InfiniBand(IB)網路層。它利用乙太網路網路層中IP數據報的DSCP和ECN欄位來實作擁塞控制。這使得RoCE v2協定封包可以進行路由,確保了更好的可延伸性。由於RoCEv2完全取代了原始的RoCE協定,通常提到RoCE協定時指的是RoCE v2協定,除非明確指定為RoCE的第一代協定。
無丟包網路和RoCE擁塞控制機制
在基於RoCE協定網路中,確保RoCE流量的無縫傳輸至關重要。在RDMA通訊過程中,封包必須無遺失且按正確順序到達目的地。任何封包遺失或亂序到達的情況都需要進行「回退N」的重傳操作,並且預期到達的後續封包不應儲存在緩存中。
RoCE協定實作了一個雙重擁塞控制機制:初始階段利用DCQCN進行逐步減速,然後利用PFC進入傳輸暫停階段。盡管嚴格將其劃分為擁塞控制策略和流量控制策略,但通常被認為是擁塞控制的兩個階段。
在網路中涉及多對一通訊的套用場景中,經常會出現擁塞問題,表現為交換機埠上待發送緩沖區訊息總大小的迅速增加。在無控制的情況下,可能導致緩沖區飽和,從而導致封包遺失。因此在初始階段,當交換機檢測到埠上待發送緩沖區訊息的總大小達到特定閾值時,它會標記RoCE封包的IP層中的ECN欄位。收到這個封包後,如果接收方觀察到交換機標記的ECN欄位,它會向發射方發送一個擁塞通知封包(CNP),促使發射方降低發送速率。
在達到ECN欄位閾值時,並不是所有的封包都會被標記。在這個過程中,兩個參數Kmin和Kmax起著重要作用。當擁塞佇列長度低於Kmin時,不會進行標記。當佇列長度在Kmin和Kmax之間變化時,隨著佇列長度的增加,標記的機率也會增加。如果佇列長度超過Kmax,所有的封包都會被標記。接收方並不會為每個接收到的帶有ECN標記的封包發送一個CNP封包,而是在每個時間間隔內接收到帶有ECN標記的封包後,發送一個CNP封包。透過這種方式,發送方可以根據接收到的CNP封包數量來調整發送速度,從而避免過多的封包被標記和遺失。這種動態的擁塞控制機制可以提供更有效的流量調節和更可靠的數據傳輸。
在網路擁塞惡化的情況下,當交換機檢測到特定埠的待發送佇列長度達到更高的閾值時,交換機會向訊息的上遊發送方發送一個PFC幀。這個操作會導致數據傳輸暫停,直到交換機中的擁塞得到緩解。一旦擁塞得到緩解,交換機會向上遊發送方發送一個PFC控制幀,表示發送可以恢復。PFC流控支持在不同的流量通道上進行暫停,可以調整每個通道相對於總頻寬的頻寬比例。這種配置允許在一個通道上暫停流量傳輸,而不影響其他通道上的數據傳輸。
ROCE & Soft-RoCE
在高效能乙太網路網卡領域,雖然現在大多數采用RoCE協定,但仍有在特定情況下某些網卡不支持RoCE。為了填補這一空白,IBIV、邁絡思(Mellanox)和其品牌的合作,催生了開源計畫Soft-RoCE。這個計畫適用於裝置不支持RoCE協定的節點,使它們能夠與裝置RoCE支持的節點一起使用Soft-RoCE進行通訊,如圖所示,盡管可能不會提升前者的效能,但它可以使後者充分發揮其效能優勢。尤其是在數據中心等套用場景中,將升級限制在具有RoCE支持的乙太網路卡的高I/O儲存伺服器上,可以顯著提高整體效能和可延伸性。此外RoCE和Soft-RoCE的組合適應了逐步集群升級的需求,避免了同時進行全面升級的必要性。
高效能計算(HPC)環境中實施RoCE時面臨挑戰
高效能計算(HPC)網路的基本要求
高效能計算(HPC)網路依賴於兩個基本前提:低延遲和在動態流量模式下保持低延遲的功能。
對於低延遲,RoCE被設計用於解決這個問題。RoCE可有效地將網路操作解除安裝到網卡上,從而實作低延遲和降低CPU利用率。
對於在動態流量模式下保持低延遲,主要關註重心轉移到了擁塞控制上。高度動態的HPC流量模式的復雜性對RoCE構成了挑戰,在這方面導致了效能不佳。
ROCE的低延遲
與傳統的TCP/IP網路相比,InfiniBand和RoCEv2都繞過內核協定棧,從而很大程度上提高了延遲效能。實證測試表明,繞過內核協定棧可以將同一集群內套用層的端到端延遲從 50μs(TCP/IP)降低到5μs(RoCE)甚至2μs(InfiniBand)的水平。
RoCE封包結構
假設我們要使用RoCE發送1字節的數據,封裝這個1字節封包的額外開銷如下:乙太網路鏈路層:14字節MAC頭 + 4字節CRC 乙太網路IP層:20字節 乙太網路UDP層:8字節 IB傳輸層:12字節基本傳輸報頭(BTH) 總計:58字節 假設我們要使用IB發送1字節的數據,封裝這個1字節封包的額外開銷如下:IB鏈路層:8字節本地路由頭(LHR)+ 6字節CRC IB網路層:0字節(當只有2層網路時,鏈路層的鏈路下一頭部(LNH)欄位可以表示該封包沒有網路層) IB傳輸層:12字節基本傳輸報頭(BTH) 總計:26字節
如果是自訂網路,封包結構可以進一步簡化。例如,天河-1A的迷你封包(MP)頭部由8字節組成。
由此可見,乙太網路底層結構的復雜性是將RoCE套用於HPC的障礙之一。
數據中心的乙太網路交換機通常需要具備如SDN、QoS等其他功能,這些功能的實作需要額外的成本。
關於這些乙太網路功能,乙太網路和RoCE是否與這些功能相容?同時這些功能是否會影響RoCE的效能?
RoCE擁塞控制面臨的挑戰
RoCE協定的兩個方面中的擁塞控制機制都面臨著特定的挑戰,這些挑戰可能會妨礙在動態流量模式下保持低延遲。
優先級流量控制(PFC)依賴於暫停控制幀來防止接收過多的封包,這種策略容易導致封包遺失。與基於信用的方法不同,PFC往往導致較低的緩沖區利用率,對於具有有限緩沖區的交換機來說尤為具有挑戰性,通常與較低的延遲相關。相反,基於信用的方法提供了更精確的緩沖區管理。
RoCE中的數據中心量化擁塞通知(DCQCN),類似於InfiniBand的擁塞控制,采用了反向通知的方式,將擁塞資訊傳遞給目的地,然後返回給發射方進行速率限制。RoCE遵循一組固定的減速和加速策略公式,而InfiniBand允許自訂策略,提供更大的靈活性。雖然通常使用預設配置,但有自訂選項是更適用。測試中最多每N=50μs生成一個擁塞通知包(CNP),將這個值降低的可行性尚不確定。在InfiniBand中,CCTI_Timer的最低設定可以達到1.024μs,但實際實作這樣小的值尚未確定。
從擁塞點直接將擁塞資訊返回給源端,這被稱為前向通知。雖然可以根據乙太網路規範了解其限制,但關於InfiniBand未采用這種方法的具體原因,仍存在疑問。
RoCE在高效能計算(HPC)中的套用
美國最新的超級電腦采用Slingshot網路,這是一種增強版的乙太網路。該網路利用與傳統乙太網路相容的Rosetta交換機,解決了RoCE的特定限制。當鏈路的兩端支持專用裝置(如網卡和Rosetta交換機)時,可以實作網路增強。這些功能包括將IP封包幀大小最小化為32字節,與相鄰交換機共享佇列占用資訊,並實施改進的擁塞控制。雖然平均交換機延遲為350ns,相當於高效能乙太網路交換機,但低於InfiniBand(IB)和一些專用超級電腦的交換機實作的延遲,如的Cray XC超級電腦交換機。
在實際套用中,Slingshot網路表現出可靠的效能。【Slingshot互連的深入分析】一文中主要將其與之前的Cray超級電腦進行了比較,而沒有與InfiniBand進行直接比較。
此外CESM和GROMACS應用程式透過使用低延遲的25G乙太網路和頻寬更高的100G乙太網路進行測試。盡管這兩種網路之間的頻寬差異達到了四倍,但測試結果為它們的效能進行了有價值的比較。
結論
憑借專業的技術團隊,飛速(FS)在各種套用場景中贏得了客戶的信賴。然而飛速(FS)在高效能計算(HPC)的RoCE技術套用中存在一定的挑戰:
與InfiniBand交換機和某些客製的高效能計算網路交換機相比,乙太網路交換機的延遲較高。
RoCE的流量控制和擁塞控制策略還有最佳化的空間。
乙太網路交換機的成本仍然相對較高。
隨著人工智慧數據中心網路的高速發展,選擇合適的解決方案至關重要。傳統的TCP/IP協定已不再適用於對高網路效能要求較高的人工智慧套用。RDMA技術,特別是InfiniBand和RoCE套用,已成為備受推崇的網路解決方案。InfiniBand在高效能計算和大規模GPU集群等領域展示出了卓越的效能。相比之下,作為基於乙太網路的RDMA技術,RoCE提供了增強的部署靈活性。
相關閱讀:
轉載申明:轉載 本號文章請 註明作者 和 來源 ,本號釋出文章若存在版權等問題,請留言聯系處理,謝謝。
推薦閱讀
更多 架構相關技術 知識總結請參考「 架構師全店鋪技術資料打包 (全) 」相關電子書( 41本 技術資料打包匯總詳情 可透過「 閱讀原文 」獲取)。
全店內容持續更新,現下單「 架構師技術全店資料打包匯總(全) 」一起發送「 」 和「 」 pdf及ppt版本 ,後續可享 全店 內容更新「 免費 」贈閱,價格僅收 249 元(原總價 399 元)。
溫馨提示:
掃描 二維碼 關註公眾號,點選 閱讀原文 連結 獲取 「 架構師技術全店資料打包匯總(全) 」 電子書資料詳情 。