高性能計算中的RoCE技術:洞察和應用
HPC網絡的發展和RoCE的出現
在高性能計算(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提供了增強的部署靈活性。
對於追求高性能和高效的高性能計算數據中心網絡的客戶來說,選擇適合特定需求和應用場景的正確網絡解決方案成為關鍵。飛速(FS)提供一系列產品,包括英偉達(NVIDIA)® InfiniBand交換機、100G/200G/400G/800G InfiniBand光模組和英偉達(NVIDIA)® InfiniBand網卡,已成為網絡、數據中心和電信客戶的通信和高速網絡系統解決方案的專業提供商。
相關文章推薦
郵箱地址
-
Cat5e、Cat6、Cat6a和Cat7網線有什麼區別?哪個更好?
2020年08月21日
-
一文帶你了解SFP、SFP+、SFP28、QSFP+和QSFP28之間的區別
2024年04月13日
-
OM1、OM2、OM3、OM4和OM5多模光纖有什麼區別?
2021年11月24日
-
SFP端口是什麼?有什麼作用?可以接RJ45嗎?
2020年09月15日
-
PCIe卡知識掃盲:你想了解的都在這裡
2020年03月24日