基於融合乙太網路的RDMA(英語:RDMA over Converged Ethernet,縮寫RoCE)是一個網絡協定,允許在一個乙太網路網絡上使用遠端直接主記憶體訪問(RDMA)。RoCE有RoCE v1和RoCE v2兩個版本。RoCE v1是一個乙太網路鏈路層協定,因此允許同一個乙太網路廣播域中的任意兩台主機間進行通訊。RoCE v2是一個網絡層協定,因而RoCE v2封包可以被路由。雖然RoCE協定受益於融合乙太網路網絡英語数据中心桥接的特徵,但該協定也可用於傳統或非融合的乙太網路網絡。[1][2][3][4]

背景

網絡密集型應用程式(如網絡儲存或群集計算)需要具有高頻寬且低延遲的網絡基礎架構。RDMA相比其他網絡應用程式介面(諸如Berkeley通訊端)的優勢是更低的延遲、更低的CPU佔用,以及更高的頻寬。[5]RoCE協定有着比其前身iWARP英語iWARP協定更低的延遲。[6]現有的RoCE HCA(主機通道配接器)的延遲低至1.3微秒[7][8],而在2011年已知的最低的iWARP HCA的延遲為3微秒。[9]

Thumb
RoCE檔頭格式

RoCE v1

RoCE v1協定是一個乙太網路鏈路層協定,Ethertype為0x8915。它要符合乙太網路協定的幀長度限制:常規乙太網路幀為1500位元組,巨型幀為9000位元組。

RoCE v2

RoCEv2協定構築於UDP/IPv4或UDP/IPv6協定之上。UDP目標埠號4791已保留給RoCE v2。[10]因為RoCEv2封包是可路由的,所以RoCE v2協定有時被稱為Routable RoCE[11]或RRoCE。雖然一般不保證UDP封包的傳達順序,但RoCEv2規範要求,有相同UDP源埠及目標地址的封包不得改變順序。除此之外,RoCEv2定義了一種擁塞控制機制,使用IP ECN位用於標記,CNP[12]幀用於送達通知。[13]軟件對RoCE v2的支援在不斷湧現。Mellanox OFED 2.3或更高版本支援RoCE v2,Linux內核v4.5也提供支援。[14]

RoCE與InfiniBand相比

RoCE定義了如何在乙太網路上執行RDMA,InfiniBand架構規範則定義了如何在一個InfiniBand網絡上執行RDMA。RoCE預期為將主要面向群集的InfiniBand應用程式帶入到一個尋常的乙太網路融合結構。[15]有人[誰?]認為,InfiniBand將會繼續提供比乙太網路更高的頻寬以及更低的延遲。[16]

RoCE與InfiniBand協定之間的技術差異:

  • 鏈路級流量控制:InfiniBand使用一個積分演算法來保證無失真的HCA到HCA通訊。RoCE執行在乙太網路之上,其實現可能需要「無失真乙太網路」以達到類似於InfiniBand的效能特徵,無失真乙太網路一般通過乙太網路流量控制或優先流量控制(PFC)組態。組態一個數據中心橋接英語Data center bridging(DCB)乙太網路網絡可能比組態InfiniBand網絡更為複雜。[17]
  • 擁塞控制:Infiniband定義了基於FECN/BECN標記的擁塞控制,RoCEv2則定義了一個擁塞控制協定,它使用ECN標記在標準交換機中的實現,以及CNP幀用於送達確認。
  • 可用的InfiniBand交換機始終有比乙太網路交換機更低的延遲。一台特定類型乙太網路交換機的埠至埠延遲為230納秒[18],而有相同埠數量的一台InfiniBand交換機為100納秒[19]

RoCE與iWARP相比

相比RoCE協定定義了如何使用乙太網路和UDP/IP幀執行RDMA,iWARP協定定義了如何基於一個面向連接的傳輸(如傳輸控制協定,TCP)執行RDMA。RoCE v1受限於單個廣播域,RoCE v2和iWARP封包則可以路由。在大規模數據中心和大規模應用程式(即大型企業、雲端運算、Web 2.0應用程式等[20])中使用iWARP時,大量連接的主記憶體需求,以及TCP的流量和可靠性控制,將會導致可延伸性和效能問題。此外,RoCE規範中定義了多播,而當前的iWARP規範中沒有定義如何執行多播RDMA。[21][22][23]

iWARP中的可靠性由協定本身提供,因為TCP/IP為可靠傳輸。相比而言,RoCEv2採用UDP/IP,這使它有更小的開銷和更好的效能,但不提供原生的可靠性,因此可靠性必須搭配RoCEv2實現。其中一種解決方案是,使用融合乙太網路交換機使區域網絡變得可靠。這需要區域網絡內的所有交換機支援融合乙太網路,並防止RoCEv2封包通過諸如互聯網等不可靠的廣域網路傳輸。另一種解決方案是增加RoCE協定的可靠性(即可靠的RoCE),向RoCE添加握手,通過犧牲效能為代價提供可靠性。

兩種協定哪種更好的問題取決於供應商。英特爾和Chelsio建議並獨家支援iWARP。Mellanox、Xilinx以及Broadcom推薦並獨家支援RoCE/RoCEv2。思科同時支援RoCE[24]與自家的VIC RDMA協定。網絡行業中的其他供應商則同時提供兩種協定的支援,這些供應商如Marvell微軟Linux和Kazan。[25]

兩種協定都經過了標準化,iWARP是IETF定義的基於乙太網路的RDMA,RoCE是InfiniBand貿易協會英語IBTA定義的基於乙太網路的RDMA  [26]

供應商

支援RoCE的裝置的主要供應商包括:

參考文獻

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.