在高性能計(jì)算(HPC)系統(tǒng)的發(fā)展初期,通常選擇專業(yè)網(wǎng)絡(luò)解決方案,如Myrinet、Quadrics和InfiniBand,而不是以太網(wǎng)解決方案。通過定制網(wǎng)絡(luò)方案可以有效解決以太網(wǎng)解決方案的限制,增強(qiáng)帶寬、降低延遲、改善擁塞控制。2010年,IBTA推出了RoCE協(xié)議技術(shù)標(biāo)準(zhǔn),隨后于2014年發(fā)布了RoCEv2協(xié)議技術(shù)標(biāo)準(zhǔn),大幅提升網(wǎng)絡(luò)帶寬。以太網(wǎng)性能的顯著提升引起行業(yè)對(duì)與傳統(tǒng)以太網(wǎng)兼容的高性能網(wǎng)絡(luò)解決方案的日益關(guān)注。這種轉(zhuǎn)變打破了以太網(wǎng)在排名前500的HPC集群中使用率下降的趨勢(shì),使以太網(wǎng)在排名中保持了重要地位。
盡管Myrinet和Quadrics逐漸退出了應(yīng)用方案選擇之列,InfiniBand仍然在高性能網(wǎng)絡(luò)中占據(jù)著重要的地位。此外Cray、天河和Tofulseries等專用網(wǎng)絡(luò)系列也發(fā)揮著重要作用。

RoCE協(xié)議簡介
RoCE協(xié)議是一種集群網(wǎng)絡(luò)通信協(xié)議,它實(shí)現(xiàn)在以太網(wǎng)上進(jìn)行遠(yuǎn)程直接內(nèi)存訪問(RDMA)。作為TCP/IP協(xié)議的特色功能,該協(xié)議將數(shù)據(jù)包的發(fā)射/接收任務(wù)轉(zhuǎn)移到網(wǎng)絡(luò)適配器上,改變了系統(tǒng)進(jìn)入內(nèi)核模式的需求。因此它減少與復(fù)制、封裝和解封裝相關(guān)的開銷,很大程度上降低了以太網(wǎng)通信的延遲。此外它在通信過程中充分利用CPU資源,減輕了網(wǎng)絡(luò)擁塞,并提高了帶寬的有效利用率。 RoCE協(xié)議包括兩個(gè)版本:RoCE v1和RoCE v2。RoCE v1作為鏈路層協(xié)議運(yùn)行,要求通信雙方在相同的第2層網(wǎng)絡(luò)中。相比之下RoCE v2作為網(wǎng)絡(luò)層協(xié)議運(yùn)行,使得RoCE v2協(xié)議數(shù)據(jù)包可以在第3層進(jìn)行路由,提供了更好的可擴(kuò)展性。
RoCE V1協(xié)議
RoCE協(xié)議保留了InfiniBand(IB)的接口、傳輸層和網(wǎng)絡(luò)層,但將IB的鏈路層和物理層替換為以太網(wǎng)的鏈路層和網(wǎng)絡(luò)層。在RoCE數(shù)據(jù)包的鏈路層數(shù)據(jù)幀中,以太網(wǎng)類型字段的值由IEEE指定為0x8915,明確標(biāo)識(shí)其為RoCE數(shù)據(jù)包。然而,由于RoCE協(xié)議沒有采用以太網(wǎng)的網(wǎng)絡(luò)層,RoCE數(shù)據(jù)包缺少IP字段。因此對(duì)于RoCE數(shù)據(jù)包來說,在網(wǎng)絡(luò)層進(jìn)行路由是不可行的,限制了它們?cè)诘?層網(wǎng)絡(luò)內(nèi)的傳輸。

RoCE V2協(xié)議
RoCE v2協(xié)議在RoCE協(xié)議的基礎(chǔ)上持續(xù)優(yōu)化。RoCEv2通過融合以太網(wǎng)網(wǎng)絡(luò)層和使用UDP協(xié)議的傳輸層,改造了RoCE協(xié)議所使用的InfiniBand(IB)網(wǎng)絡(luò)層。它利用以太網(wǎng)網(wǎng)絡(luò)層中IP數(shù)據(jù)報(bào)的DSCP和ECN字段來實(shí)現(xiàn)擁塞控制。這使得RoCE v2協(xié)議數(shù)據(jù)包可以進(jìn)行路由,確保了更好的可擴(kuò)展性。由于RoCEv2完全取代了原始的RoCE協(xié)議,通常提到RoCE協(xié)議時(shí)指的是RoCE v2協(xié)議,除非明確指定為RoCE的第一代協(xié)議。
無丟包網(wǎng)絡(luò)和RoCE擁塞控制機(jī)制
在基于RoCE協(xié)議網(wǎng)絡(luò)中,確保RoCE流量的無縫傳輸至關(guān)重要。在RDMA通信過程中,數(shù)據(jù)包必須無丟失且按正確順序到達(dá)目的地。任何數(shù)據(jù)包丟失或亂序到達(dá)的情況都需要進(jìn)行“回退N”的重傳操作,并且預(yù)期到達(dá)的后續(xù)數(shù)據(jù)包不應(yīng)存儲(chǔ)在緩存中。
RoCE協(xié)議實(shí)現(xiàn)了一個(gè)雙重?fù)砣刂茩C(jī)制:初始階段利用DCQCN進(jìn)行逐步減速,然后利用PFC進(jìn)入傳輸暫停階段。盡管嚴(yán)格將其劃分為擁塞控制策略和流量控制策略,但通常被認(rèn)為是擁塞控制的兩個(gè)階段。
在網(wǎng)絡(luò)中涉及多對(duì)一通信的應(yīng)用場景中,經(jīng)常會(huì)出現(xiàn)擁塞問題,表現(xiàn)為交換機(jī)端口上待發(fā)送緩沖區(qū)消息總大小的迅速增加。在無控制的情況下,可能導(dǎo)致緩沖區(qū)飽和,從而導(dǎo)致數(shù)據(jù)包丟失。因此在初始階段,當(dāng)交換機(jī)檢測到端口上待發(fā)送緩沖區(qū)消息的總大小達(dá)到特定閾值時(shí),它會(huì)標(biāo)記RoCE數(shù)據(jù)包的IP層中的ECN字段。收到這個(gè)數(shù)據(jù)包后,如果接收方觀察到交換機(jī)標(biāo)記的ECN字段,它會(huì)向發(fā)射方發(fā)送一個(gè)擁塞通知數(shù)據(jù)包(CNP),促使發(fā)射方降低發(fā)送速率。
在達(dá)到ECN字段閾值時(shí),并不是所有的數(shù)據(jù)包都會(huì)被標(biāo)記。在這個(gè)過程中,兩個(gè)參數(shù)Kmin和Kmax起著重要作用。當(dāng)擁塞隊(duì)列長度低于Kmin時(shí),不會(huì)進(jìn)行標(biāo)記。當(dāng)隊(duì)列長度在Kmin和Kmax之間變化時(shí),隨著隊(duì)列長度的增加,標(biāo)記的概率也會(huì)增加。如果隊(duì)列長度超過Kmax,所有的數(shù)據(jù)包都會(huì)被標(biāo)記。接收方并不會(huì)為每個(gè)接收到的帶有ECN標(biāo)記的數(shù)據(jù)包發(fā)送一個(gè)CNP數(shù)據(jù)包,而是在每個(gè)時(shí)間間隔內(nèi)接收到帶有ECN標(biāo)記的數(shù)據(jù)包后,發(fā)送一個(gè)CNP數(shù)據(jù)包。通過這種方式,發(fā)送方可以根據(jù)接收到的CNP數(shù)據(jù)包數(shù)量來調(diào)整發(fā)送速度,從而避免過多的數(shù)據(jù)包被標(biāo)記和丟失。這種動(dòng)態(tài)的擁塞控制機(jī)制可以提供更有效的流量調(diào)節(jié)和更可靠的數(shù)據(jù)傳輸。

在網(wǎng)絡(luò)擁塞惡化的情況下,當(dāng)交換機(jī)檢測到特定端口的待發(fā)送隊(duì)列長度達(dá)到更高的閾值時(shí),交換機(jī)會(huì)向消息的上游發(fā)送方發(fā)送一個(gè)PFC幀。這個(gè)操作會(huì)導(dǎo)致數(shù)據(jù)傳輸暫停,直到交換機(jī)中的擁塞得到緩解。一旦擁塞得到緩解,交換機(jī)會(huì)向上游發(fā)送方發(fā)送一個(gè)PFC控制幀,表示發(fā)送可以恢復(fù)。PFC流控支持在不同的流量通道上進(jìn)行暫停,可以調(diào)整每個(gè)通道相對(duì)于總帶寬的帶寬比例。這種配置允許在一個(gè)通道上暫停流量傳輸,而不影響其他通道上的數(shù)據(jù)傳輸。
ROCE & Soft-RoCE
在高性能以太網(wǎng)網(wǎng)卡領(lǐng)域,雖然現(xiàn)在大多數(shù)采用RoCE協(xié)議,但仍有在特定情況下某些網(wǎng)卡不支持RoCE。為了填補(bǔ)這一空白,IBIV、邁絡(luò)思(Mellanox)和其品牌的合作,催生了開源項(xiàng)目Soft-RoCE。這個(gè)項(xiàng)目適用于設(shè)備不支持RoCE協(xié)議的節(jié)點(diǎn),使它們能夠與設(shè)備RoCE支持的節(jié)點(diǎn)一起使用Soft-RoCE進(jìn)行通信,如圖所示,盡管可能不會(huì)提升前者的性能,但它可以使后者充分發(fā)揮其性能優(yōu)勢(shì)。尤其是在數(shù)據(jù)中心等應(yīng)用場景中,將升級(jí)限制在具有RoCE支持的以太網(wǎng)卡的高I/O存儲(chǔ)服務(wù)器上,可以顯著提高整體性能和可擴(kuò)展性。此外RoCE和Soft-RoCE的組合適應(yīng)了逐步集群升級(jí)的需求,避免了同時(shí)進(jìn)行全面升級(jí)的必要性。

高性能計(jì)算(HPC)環(huán)境中實(shí)施RoCE時(shí)面臨挑戰(zhàn)
高性能計(jì)算(HPC)網(wǎng)絡(luò)的基本要求
高性能計(jì)算(HPC)網(wǎng)絡(luò)依賴于兩個(gè)基本前提:低延遲和在動(dòng)態(tài)流量模式下保持低延遲的功能。
對(duì)于低延遲,RoCE被設(shè)計(jì)用于解決這個(gè)問題。RoCE可有效地將網(wǎng)絡(luò)操作卸載到網(wǎng)卡上,從而實(shí)現(xiàn)低延遲和降低CPU利用率。
對(duì)于在動(dòng)態(tài)流量模式下保持低延遲,主要關(guān)注重心轉(zhuǎn)移到了擁塞控制上。高度動(dòng)態(tài)的HPC流量模式的復(fù)雜性對(duì)RoCE構(gòu)成了挑戰(zhàn),在這方面導(dǎo)致了性能不佳。
ROCE的低延遲
與傳統(tǒng)的TCP/IP網(wǎng)絡(luò)相比,InfiniBand和RoCEv2都繞過內(nèi)核協(xié)議棧,從而很大程度上提高了延遲性能。實(shí)證測試表明,繞過內(nèi)核協(xié)議棧可以將同一集群內(nèi)應(yīng)用層的端到端延遲從 50μs(TCP/IP)降低到5μs(RoCE)甚至2μs(InfiniBand)的水平。

RoCE數(shù)據(jù)包結(jié)構(gòu)
假設(shè)我們要使用RoCE發(fā)送1字節(jié)的數(shù)據(jù),封裝這個(gè)1字節(jié)數(shù)據(jù)包的額外開銷如下:以太網(wǎng)鏈路層:14字節(jié)MAC頭 + 4字節(jié)CRC 以太網(wǎng)IP層:20字節(jié) 以太網(wǎng)UDP層:8字節(jié) IB傳輸層:12字節(jié)基本傳輸報(bào)頭(BTH) 總計(jì):58字節(jié) 假設(shè)我們要使用IB發(fā)送1字節(jié)的數(shù)據(jù),封裝這個(gè)1字節(jié)數(shù)據(jù)包的額外開銷如下:IB鏈路層:8字節(jié)本地路由頭(LHR)+ 6字節(jié)CRC IB網(wǎng)絡(luò)層:0字節(jié)(當(dāng)只有2層網(wǎng)絡(luò)時(shí),鏈路層的鏈路下一頭部(LNH)字段可以表示該數(shù)據(jù)包沒有網(wǎng)絡(luò)層) IB傳輸層:12字節(jié)基本傳輸報(bào)頭(BTH) 總計(jì):26字節(jié)
如果是自定義網(wǎng)絡(luò),數(shù)據(jù)包結(jié)構(gòu)可以進(jìn)一步簡化。例如,天河-1A的迷你數(shù)據(jù)包(MP)頭部由8字節(jié)組成。
由此可見,以太網(wǎng)底層結(jié)構(gòu)的復(fù)雜性是將RoCE應(yīng)用于HPC的障礙之一。
數(shù)據(jù)中心的以太網(wǎng)交換機(jī)通常需要具備如SDN、QoS等其他功能,這些功能的實(shí)現(xiàn)需要額外的成本。
關(guān)于這些以太網(wǎng)功能,以太網(wǎng)和RoCE是否與這些功能兼容?同時(shí)這些功能是否會(huì)影響RoCE的性能?
RoCE擁塞控制面臨的挑戰(zhàn)
RoCE協(xié)議的兩個(gè)方面中的擁塞控制機(jī)制都面臨著特定的挑戰(zhàn),這些挑戰(zhàn)可能會(huì)妨礙在動(dòng)態(tài)流量模式下保持低延遲。
優(yōu)先級(jí)流量控制(PFC)依賴于暫停控制幀來防止接收過多的數(shù)據(jù)包,這種策略容易導(dǎo)致數(shù)據(jù)包丟失。與基于信用的方法不同,PFC往往導(dǎo)致較低的緩沖區(qū)利用率,對(duì)于具有有限緩沖區(qū)的交換機(jī)來說尤為具有挑戰(zhàn)性,通常與較低的延遲相關(guān)。相反,基于信用的方法提供了更精確的緩沖區(qū)管理。
RoCE中的數(shù)據(jù)中心量化擁塞通知(DCQCN),類似于InfiniBand的擁塞控制,采用了反向通知的方式,將擁塞信息傳遞給目的地,然后返回給發(fā)射方進(jìn)行速率限制。RoCE遵循一組固定的減速和加速策略公式,而InfiniBand允許自定義策略,提供更大的靈活性。雖然通常使用默認(rèn)配置,但有自定義選項(xiàng)是更適用。測試中最多每N=50μs生成一個(gè)擁塞通知包(CNP),將這個(gè)值降低的可行性尚不確定。在InfiniBand中,CCTI_Timer的最低設(shè)置可以達(dá)到1.024μs,但實(shí)際實(shí)現(xiàn)這樣小的值尚未確定。
從擁塞點(diǎn)直接將擁塞信息返回給源端,這被稱為前向通知。雖然可以根據(jù)以太網(wǎng)規(guī)范了解其限制,但關(guān)于InfiniBand未采用這種方法的具體原因,仍存在疑問。
RoCE在高性能計(jì)算(HPC)中的應(yīng)用
美國最新的超級(jí)計(jì)算機(jī)采用Slingshot網(wǎng)絡(luò),這是一種增強(qiáng)版的以太網(wǎng)。該網(wǎng)絡(luò)利用與傳統(tǒng)以太網(wǎng)兼容的Rosetta交換機(jī),解決了RoCE的特定限制。當(dāng)鏈路的兩端支持專用設(shè)備(如網(wǎng)卡和Rosetta交換機(jī))時(shí),可以實(shí)現(xiàn)網(wǎng)絡(luò)增強(qiáng)。這些功能包括將IP數(shù)據(jù)包幀大小最小化為32字節(jié),與相鄰交換機(jī)共享隊(duì)列占用信息,并實(shí)施改進(jìn)的擁塞控制。雖然平均交換機(jī)延遲為350ns,相當(dāng)于高性能以太網(wǎng)交換機(jī),但低于InfiniBand(IB)和一些專用超級(jí)計(jì)算機(jī)的交換機(jī)實(shí)現(xiàn)的延遲,如的Cray XC超級(jí)計(jì)算機(jī)交換機(jī)。
在實(shí)際應(yīng)用中,Slingshot網(wǎng)絡(luò)表現(xiàn)出可靠的性能。《Slingshot互連的深入分析》一文中主要將其與之前的Cray超級(jí)計(jì)算機(jī)進(jìn)行了比較,而沒有與InfiniBand進(jìn)行直接比較。
此外CESM和GROMACS應(yīng)用程序通過使用低延遲的25G以太網(wǎng)和帶寬更高的100G以太網(wǎng)進(jìn)行測試。盡管這兩種網(wǎng)絡(luò)之間的帶寬差異達(dá)到了四倍,但測試結(jié)果為它們的性能進(jìn)行了有價(jià)值的比較。

結(jié)論
憑借專業(yè)的技術(shù)團(tuán)隊(duì),飛速(FS)在各種應(yīng)用場景中贏得了客戶的信賴。然而飛速(FS)在高性能計(jì)算(HPC)的RoCE技術(shù)應(yīng)用中存在一定的挑戰(zhàn):
與InfiniBand交換機(jī)和某些定制的高性能計(jì)算網(wǎng)絡(luò)交換機(jī)相比,以太網(wǎng)交換機(jī)的延遲較高。
RoCE的流量控制和擁塞控制策略還有優(yōu)化的空間。
以太網(wǎng)交換機(jī)的成本仍然相對(duì)較高。
隨著人工智能數(shù)據(jù)中心網(wǎng)絡(luò)的高速發(fā)展,選擇合適的解決方案至關(guān)重要。傳統(tǒng)的TCP/IP協(xié)議已不再適用于對(duì)高網(wǎng)絡(luò)性能要求較高的人工智能應(yīng)用。RDMA技術(shù),特別是InfiniBand和RoCE應(yīng)用,已成為備受推崇的網(wǎng)絡(luò)解決方案。InfiniBand在高性能計(jì)算和大規(guī)模GPU集群等領(lǐng)域展示出了卓越的性能。相比之下,作為基于以太網(wǎng)的RDMA技術(shù),RoCE提供了增強(qiáng)的部署靈活性。
-
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5998瀏覽量
180844 -
HPC
+關(guān)注
關(guān)注
0文章
346瀏覽量
24976 -
網(wǎng)絡(luò)帶寬
+關(guān)注
關(guān)注
0文章
44瀏覽量
8817 -
高性能計(jì)算
+關(guān)注
關(guān)注
0文章
96瀏覽量
13810
原文標(biāo)題:淺析RoCE在高性能計(jì)算的應(yīng)用
文章出處:【微信號(hào):AI_Architect,微信公眾號(hào):智能計(jì)算芯世界】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RoCE與IB對(duì)比分析(一):協(xié)議棧層級(jí)篇
RDMA簡介3之四種子協(xié)議對(duì)比
RDMA簡介5之RoCE V2隊(duì)列分析
RDMA設(shè)計(jì)5:RoCE V2 IP架構(gòu)
RDMA設(shè)計(jì)19:RoCE v2 發(fā)送及接收模塊設(shè)計(jì)
RDMA設(shè)計(jì)28:RoCE v2 發(fā)送及接收模塊設(shè)計(jì)
RDMA設(shè)計(jì)37:RoCE v2 子系統(tǒng)模型設(shè)計(jì)
CAN協(xié)議特點(diǎn)簡介
網(wǎng)卡啟動(dòng)版本10.2iSCSI RoCE FCoE協(xié)議用戶手冊(cè)
引導(dǎo)版本10.3適用于網(wǎng)卡、iSCSI、FCoE和RoCE協(xié)議用戶手冊(cè)
適用于網(wǎng)卡、iSCSI、FCoE和RoCE協(xié)議用戶手冊(cè) 引導(dǎo)版本10.4
適用于網(wǎng)卡、iSCSI、FCoE和RoCE協(xié)議 引導(dǎo)版本10.6
RoCE與IB對(duì)比分析(二):功能應(yīng)用篇
如何實(shí)現(xiàn) RoCE 配置的自動(dòng)同步(基礎(chǔ)篇) - DCBX協(xié)議
RDMA設(shè)計(jì)44:RoCE v2原語功能驗(yàn)證與分析
RoCE協(xié)議簡介和應(yīng)用分析
評(píng)論