基於融合乙太網路的RDMA

基於融合乙太網路的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]

 
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的裝置的主要供應商包括:

參考文獻

編輯
  1. ^ InfiniBand™ Architecture Specification Release 1.2.1 Annex A16: RoCE. 13 April 2010 [2018-12-21]. (原始內容存檔於2016-03-09). 
  2. ^ InfiniBand™ Architecture Specification Release 1.2.1 Annex A17: RoCEv2. 2 September 2014 [2018-12-21]. (原始內容存檔於2020-09-17). 
  3. ^ Ophir Maor. RoCEv2 Considerations. Mellanox. December 2015 [2018-12-21]. (原始內容存檔於2018-04-10). 
  4. ^ Ophir Maor. RoCE and Storage Solutions. December 2015 [2018-12-21]. (原始內容存檔於2016-12-21). 
  5. ^ Cameron, Don; Regnier, Greg. Virtual Interface Architecture. Intel Press. 2002. ISBN 978-0-9712887-0-6. 
  6. ^ Feldman, Michael. RoCE: An Ethernet-InfiniBand Love Story. 22 April 2010 [2018-12-21]. (原始內容存檔於2014-02-10). 
  7. ^ End-to-End Lowest Latency Ethernet Solution for Financial Services (PDF). March 2011 [2018-12-21]. (原始內容存檔 (PDF)於2020-06-13). 
  8. ^ RoCE vs. iWARP Competitive Analysis Brief (PDF). 9 November 2010 [2018-12-21]. (原始內容存檔 (PDF)於2020-10-24). 
  9. ^ Low Latency Server Connectivity With New Terminator 4 (T4) Adapter. 25 May 2011 [2018-12-21]. (原始內容存檔於2012-10-22). 
  10. ^ Diego Crupnicoff. Service Name and Transport Protocol Port Number Registry. 17 October 2014 [14 October 2018]. (原始內容存檔於2019-05-20). 
  11. ^ InfiniBand Trade Association. RoCE Status and Plans (PDF). November 2013 [2018-12-21]. (原始內容存檔 (PDF)於2020-06-13). 
  12. ^ Ophir Maor. RoCEv2 CNP Packet Format. December 2015 [2018-12-21]. (原始內容存檔於2018-10-15). 
  13. ^ Ophir Maor. RoCEv2 Congestion Management. December 2015 [2018-12-21]. (原始內容存檔於2018-10-15). 
  14. ^ Kernel GIT. January 2016. 
  15. ^ Merritt, Rick. New converged network blends Ethernet, InfiniBand. 19 April 2010 [2018-12-21]. (原始內容存檔於2012-10-04). 
  16. ^ Kerner, Sean Michael. InfiniBand Moving to Ethernet ?. 2 April 2010 [2018-12-21]. (原始內容存檔於2020-11-30). 
  17. ^ Mellanox. Mellanox Releases New Automation Software to Reduce Ethernet Fabric Installation Time from Hours to Minutes. 2 June 2014 [2018-12-21]. (原始內容存檔於2016-03-03). 
  18. ^ SX1036 - 36-Port 40/56GbE Switch System. [April 21, 2014]. (原始內容存檔於2014-04-22). 
  19. ^ IS5024 - 36-Port Non-blocking Unmanaged 40Gb/s InfiniBand Switch System. [April 21, 2014]. (原始內容存檔於2014-04-19). 
  20. ^ Rashti, Mohammad. iWARP Redefined: Scalable Connectionless Communication over High-Speed Ethernet (PDF). International Conference on High Performance Computing (HiPC). 2010 [2019-03-12]. (原始內容存檔 (PDF)於2017-08-10). 
  21. ^ H. Shah. Direct Data Placement over Reliable Transports. RFC 5041. October 2007 [May 4, 2011]. (原始內容存檔於2020-11-27). 
  22. ^ C. Bestler. Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation. RFC 5043. October 2007 [May 4, 2011]. (原始內容存檔於2020-11-25). 
  23. ^ P. Culley. Marker PDU Aligned Framing for TCP Specification. RFC 5044. October 2007 [May 4, 2011]. (原始內容存檔於2020-11-27). 
  24. ^ 存档副本 (PDF). [2018-12-21]. (原始內容存檔 (PDF)於2020-06-13). 
  25. ^ T Lustig; F Zhang; J Ko,. RoCE vs. iWARP – The Next “Great Storage Debate”. October 2007 [August 22, 2018]. (原始內容存檔於2019-05-20). 
  26. ^ T Lustig; F Zhang; J Ko,. RoCE vs. iWARP – The Next “Great Storage Debate”. October 2007 [August 22, 2018]. (原始內容存檔於2019-05-20). CS1 maint: Multiple names: authors list (link)