基於融合乙太網路的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的裝置的主要供應商包括:
- Mellanox(已被NVIDIA收購)
- Emulex(已被博通 (公司)收購)
- 博通(Broadcom)
- QLogic(已被Cavium收購)
- 凱為半導體(Cavium)(已被Marvell收購)
- 華為
- Bloombase
參考文獻
[編輯]- ^ 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)