1. 程式人生 > 其它 >RoCE與iWARP的競爭分析

RoCE與iWARP的競爭分析

https://zhuanlan.zhihu.com/p/374068044

遠端直接記憶體訪問(RDMA)提供從一臺計算機的記憶體到另一臺計算機的記憶體的直接訪問,而不涉及任何一臺計算機的作業系統。這項技術可以實現高吞吐量、低延遲的網路,同時降低CPU利用率,這在大規模平行計算叢集中尤其有用。

RDMA over Converged Ethernet(RoCE)是乙太網中最常用的RDMA技術,在世界上一些最大的“超大規模”資料中心大規模部署。RoCE是唯一一個基於乙太網的行業標準RDMA解決方案,具有多供應商生態系統,提供網路網絡卡,並在標準的第2層和第3層乙太網交換機上執行。相關技術在包括IBTA、IEEE和IETF在內的行業組織中是已經被標準化了的。

Mellanox Technologies是第一家實施新標準的公司,其ConnectX-3 Pro及以後的所有產品系列都實現了RoCE協議的完全解除安裝。這些解決方案提供高達100Gb/s的線速吞吐量和市場領先的延遲,同時儘可能降低CPU和記憶體利用率。因此,ConnectX網絡卡系列已部署在各種關鍵業務員、對延遲敏感的資料中心中。

RoCE相對於iWARP的優勢

iWARP是另一種RDMA產品,它更復雜,無法達到與基於RoCE的解決方案相同的效能水平。iWARP使用複雜的層混合,包括DDP(直接資料放置)、MPA(Marker-PDU-Aligned framing)和單獨的RDMA協議(RDMAP)通過TCP/IP提供RDMA服務。這種複雜的體系結構是將RDMA應用到現有軟體傳輸框架中的一種考慮不周的嘗試。不幸的是,這種折衷導致 iWARP無法實現RoCE能夠實現的三個關鍵好處:高吞吐量、低延遲和低CPU利用率。

除了複雜性和效能缺點之外,只有一家供應商(Chelsio)在其當前產品上支援iWARP,而且該技術還沒有被市場很好地採用。英特爾此前從2009年開始在其10GbE NIC中支援iWARP,但在當時任何較新的NIC中都不支援iWARP。在最新的乙太網速度為25、50和100Gb/s時,不支援iWARP。

iWARP的設計是為了在現有的TCP傳輸上工作,本質上是為了修補現有的LAN/WAN網路。乙太網資料鏈路提供盡力而為的服務,依靠TCP層提供可靠的服務。為了支援現有的IP網路,包括廣域網,需要覆蓋更多關於擁塞處理、擴充套件和錯誤處理的邊界條件,這導致RDMA和相關傳輸操作的硬體解除安裝效率低下。

另一方面,RoCE是專門為乙太網構建的RDMA傳輸協議,而不是作為在現有TCP/IP協議之上使用的補丁。

因為TCP是基於連線的,所以它必須使用可靠的傳輸。因此,iWARP只支援可靠的連線傳輸服務,這也意味著它不是一個適合多播的平臺。RoCE提供多種傳輸服務,包括可靠連線、不可靠資料報等,並支援使用者級多播功能。

iWARP流量也不能在網路中被輕鬆管理和優化,從而導致部署效率低下。它不提供一種方法來檢測傳輸層上或傳輸層下的RDMA流量,例如在fabric本身中。iWARP共享TCP的埠空間使得使用流管理變得不可能,因為單獨的埠無法識別訊息是否攜帶RDMA或傳統TCP。iWARP與傳統TCP通訊共享協議編號空間,因此需要上下文(狀態)來確定資料包是iWARP。通常,此上下文可能不適合NIC的片上儲存器,這會導致更復雜的情況,因此流量解複用的時間更長。這種情況也發生在fabric的交換機和路由器中,因為它們沒有可用的狀態。

相反,通過檢視資料包的UDP目標埠欄位,就可以將資料包標識為RoCE。如果該值與IANA為RoCE分配的埠匹配,則資料包為RoCE。這種無狀態流量標識允許在聚合NIC實現中快速、早期地解複用流量,並支援交換機或 iWARP監視和訪問控制列表(ACL)等功能,以改進流量分析和管理。

同樣,由於iWARP與傳統的TCP協議棧共享埠空間,因此它也面臨著與OS協議棧整合的挑戰。另一方面,RoCE提供了完整的OS協議棧整合。

這些挑戰限制了iWARP產品的成本效益和可部署性,尤其是與RoCE的相容性。

RoCE在包封裝中包括IP和UDP報頭,這意味著RoCE可以跨L2和L3網路使用。這將使3層路由功能,可將RDMA引入具有多個子網的網路。

“彈性RoCE”支援在有損網路上執行RoCE,而這些fabric不支援流控制或優先順序流控制。RoCE的先進硬體機制在有損網路上提供的RDMA效能與無損網路相當。

最後,通過部署軟ROCE(圖2),通過軟體實現ROCE,ROCE可以擴充套件到硬體上不支援ROCE的裝置。這使得在資料中心利用RoCE的優勢具有更大的靈活性。

效能和基準示例

EDC對延遲敏感的應用程式(如用於實時資料分析的Hadoop)是Web2.0和大資料提供商競爭力的基石。這樣的平臺可以從Mellanox的ConnectX-3 Pro中獲益,因為它的RoCE解決方案在乙太網上提供極低的延遲,同時可以擴充套件到每秒處理數百萬條訊息。

對比Chelsio在25、40和100Gb乙太網iWARP上執行的T5和T6訊息傳遞應用程式與帶有RoCE的ConnectX-3 Pro的效能的基準測試表明,RoCE始終比iWARP更快地傳遞訊息(圖3)。

當用英特爾的NetEffect 020 iWARP測試ConnectX-3的RoCE延遲時,結果更令人印象深刻。在10Gb時,使用64B訊息大小的RoCE,RoCE提高了86%,2048B訊息大小的RoCE提高了64%(圖4)。

同時,在ConnectX-3 Pro上使用40Gb的RoCE時,吞吐量比在Chelsio T5上使用iWARP高2倍以上(圖5),比在Intel上使用10Gb的iWARP高5倍(圖6)。

無論是在無損網路還是有損網路上使用RoCE,都保持了效能優勢(圖7)。有了彈性RoCE,Mellanox可以在有損環境中提供一致的、頂級的擁塞控制性能。

虛擬化的最佳效能

RoCE的另一個優勢是它能夠在SR-IOV上執行,從而使RoCE在虛擬化環境中具有最低延遲、最低CPU利用率和最大吞吐量的優異效能。RoCE已經證明,它可以在虛擬機器之間提供少於1us的延遲,同時隨著虛擬環境的擴充套件保持一致的吞吐量。Chelsio的iWARP不在SR-IOV中的多個虛擬機器上執行,而是依賴TCP進行虛擬機器到虛擬機器的通訊。延遲的差異是驚人的(圖8)。

總結

RoCE簡化了傳輸協議;它繞過了TCP協議棧來實現真正的、可伸縮的RDMA操作,從而獲得更高的ROI。RoCE是一個標準協議,它是專門為資料中心流量而構建的,考慮了延遲、效能和CPU利用率。它在虛擬化環境中表現特別好。

當網路通過乙太網執行時,RoCE提供了比iWARP更好的解決方案。對於追求最高效能的企業資料中心來說,RoCE顯然是一個選擇,尤其是當涉及到對資料敏感的應用程式時。

此外,RoCE目前部署在數十個資料中心,擁有多達數十萬個節點,而iWARP在該領域幾乎不存在。簡單地說,RoCE是通過乙太網部署RDMA的顯然方式。

參考文獻:Motti Beck, Gilad Shainer, "RoCE vs. iWARP Competitive Analysis Brief",Mellanox Technologies,2017.