基於融合以太網的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協議更低的延遲。[6]現有的RoCE HCA(主機通道適配器)的延遲低至1.3微秒[7][8],而在2011年已知的最低的iWARP HCA的延遲為3微秒。[9]
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)配置。配置一個數據中心橋接(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貿易協會定義的基於以太網的RDMA [26]
供應商
支持RoCE的設備的主要供應商包括:
參考文獻
- ^ InfiniBand™ Architecture Specification Release 1.2.1 Annex A16: RoCE. 13 April 2010 [2018-12-21]. (原始內容存檔於2016-03-09).
- ^ InfiniBand™ Architecture Specification Release 1.2.1 Annex A17: RoCEv2. 2 September 2014 [2018-12-21]. (原始內容存檔於2020-09-17).
- ^ Ophir Maor. RoCEv2 Considerations. Mellanox. December 2015 [2018-12-21]. (原始內容存檔於2018-04-10).
- ^ Ophir Maor. RoCE and Storage Solutions. December 2015 [2018-12-21]. (原始內容存檔於2016-12-21).
- ^ Cameron, Don; Regnier, Greg. Virtual Interface Architecture. Intel Press. 2002. ISBN 978-0-9712887-0-6.
- ^ Feldman, Michael. RoCE: An Ethernet-InfiniBand Love Story. 22 April 2010 [2018-12-21]. (原始內容存檔於2014-02-10).
- ^ End-to-End Lowest Latency Ethernet Solution for Financial Services (PDF). March 2011 [2018-12-21]. (原始內容存檔 (PDF)於2020-06-13).
- ^ RoCE vs. iWARP Competitive Analysis Brief (PDF). 9 November 2010 [2018-12-21]. (原始內容存檔 (PDF)於2020-10-24).
- ^ Low Latency Server Connectivity With New Terminator 4 (T4) Adapter. 25 May 2011 [2018-12-21]. (原始內容存檔於2012-10-22).
- ^ Diego Crupnicoff. Service Name and Transport Protocol Port Number Registry. 17 October 2014 [14 October 2018]. (原始內容存檔於2019-05-20).
- ^ InfiniBand Trade Association. RoCE Status and Plans (PDF). November 2013 [2018-12-21]. (原始內容存檔 (PDF)於2020-06-13).
- ^ Ophir Maor. RoCEv2 CNP Packet Format. December 2015 [2018-12-21]. (原始內容存檔於2018-10-15).
- ^ Ophir Maor. RoCEv2 Congestion Management. December 2015 [2018-12-21]. (原始內容存檔於2018-10-15).
- ^ Kernel GIT. January 2016.
- ^ Merritt, Rick. New converged network blends Ethernet, InfiniBand. 19 April 2010 [2018-12-21]. (原始內容存檔於2012-10-04).
- ^ Kerner, Sean Michael. InfiniBand Moving to Ethernet ?. 2 April 2010 [2018-12-21]. (原始內容存檔於2020-11-30).
- ^ 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).
- ^ SX1036 - 36-Port 40/56GbE Switch System. [April 21, 2014]. (原始內容存檔於2014-04-22).
- ^ IS5024 - 36-Port Non-blocking Unmanaged 40Gb/s InfiniBand Switch System. [April 21, 2014]. (原始內容存檔於2014-04-19).
- ^ 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).
- ^ H. Shah. Direct Data Placement over Reliable Transports. RFC 5041. October 2007 [May 4, 2011]. (原始內容存檔於2020-11-27).
- ^ C. Bestler. Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation. RFC 5043. October 2007 [May 4, 2011]. (原始內容存檔於2020-11-25).
- ^ P. Culley. Marker PDU Aligned Framing for TCP Specification. RFC 5044. October 2007 [May 4, 2011]. (原始內容存檔於2020-11-27).
- ^ 存档副本 (PDF). [2018-12-21]. (原始內容存檔 (PDF)於2020-06-13).
- ^ T Lustig; F Zhang; J Ko,. RoCE vs. iWARP – The Next “Great Storage Debate”. October 2007 [August 22, 2018]. (原始內容存檔於2019-05-20).
- ^ 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)