Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

更多相关内容

网络融合大趋势下RDMA的发展演进过程


2023-08-08

RDMAC(RDMA Consortium)和IBTA(InfiniBand Trade Association)主导了RDMA。其中,IBTA是InfiniBand的全部标准制定者,并补充了RoCEv1/v2的标准化,而RDMAC是IETF的一个补充,它与IETF一起定义了iWARP(Internet Wide Area RDMA Protocol)和iSER(iSCSI Extensions for RDMA)。上层应用要想使用RDMA,需要支持与RNIC之间的传输接口层(software transport interface),也被称为Verbs。

IBTA解释了RDMA传输过程中应具备的特性行为,而并没有规定Verbs的具体接口和数据结构原型,这部分工作由另一个组织OFA(Open Fabric Alliance)来完成,OFA提供了RDMA传输的一系列Verbs API。OFA还开发出了OFED(Open Fabric Enterprise Distribution)协议栈,可支持多种RDMA传输层协议。

OFED中除了提供向下与RNIC基本的队列消息服务,向上还提供了ULP(Upper Layer Protocols),通过ULPs使得上层应用不需要直接到Verbs API对接,而是借助于ULP与应用对接,常见的应用不需要做修改,就可以跑在RDMA传输层上。

支持RDMA的网络协议在发展过程中的四个阶段

支持RDMA的网络协议在发展过程中的四个阶段

图1:支持RDMA的网络协议在发展过程中的四个阶段

如图1所示,支持RDMA的网络协议的发展过程主要包括四个阶段:

IB(InfiniBand)

InfiniBand是IBTA(InfiniBand Trade Association)在2000年正式发布的规范,而RDMA是IBM和HP在2003年提出的,因此基于InfiniBand架构的RDMA属于原生RDMA,通过支持IB传输协议专用的IB网卡和IB网络设备提供硬件级的高可靠和高性能,因此在高性能计算应用场景中被广泛采纳。

InfiniBand是一种用于高性能计算的计算机网络通信标准,具有很高的吞吐量和非常低的延迟,它用于计算机之间和内部的数据互连。InfiniBand还可用作服务器和存储系统之间的直接互连或交换互连,以及存储系统之间的互连。

iWARP(Internet Wide Area RDMA Protocol)

由于搭建InfiniBand专网的费用非常昂贵,于是IBM和HP联合Intel、Microsoft、Dell、EMC、NetApp、Adaptec、Broadcom、Cisco等业界先进厂商一起成立了RDMA Consortium组织,旨在开发必要的体系结构规范,以实现可通过TCP/IP网络(包括基于以太网的网络)提供RDMA的产品。

RDMA联盟作为Internet工作任务组(IETF)的补充,将规范草案提交给IETF工作组“Internet协议套件RDMA”进行审议,于2007年形成基于TCP/IP的RDMA,称作iWARP。iWARP主要包括MPA(Markers PDU Aligned Framing)、DDP(Direct Data Placement Protocol)、RDMAP(Remote Direct Memory Access Protocol)三层子协议,如图2所示。iWARP是一种全新的协议,使用iWARP协议对以太网络没有任何要求,但是服务器的网卡RNIC要能支持该协议,同时还要能实现RDMA的卸载和TCP的卸载(即TOE,TCP/IP Offload Engine)。

传统模式和RDMA模式的对比

图2:传统模式和RDMA模式的对比

RoCEv1(RDMA over Converged Ethernet)

许多年来,人们仍一直设法使以太网能够支持基于IB协议的RDMA。IBTA作为InfiniBand的全部标准制定者,在2010年时补充了RoCE,其MAC层的网络头是以太网头,Ethernet Type位是0x8915,MAC层以上的网络头(包括数据)是InfiniBand头,如图2所示。RoCEv1是以太网链路层协议,该协议允许RDMA可以在同一以太网广播域中的任何两个主机之间进行通信,但这限制了RoCE功能的应用范围。与此同时,为保障其可靠性,协议建议将RoCE承载在无损网络上,即融合增强型以太网CEE(Converged Enhanced Ethernet)。

RoCEv2

IBTA在2014年又发布了RoCEv2的标准化协议,对RoCE做了进一步的改进,用以太网链路层上的IPv4/IPv6报头和UDP报头(UDP端口号为4791)替代InfiniBand的网络层和传输层,如图2所示。其中,引入IP解决了网络扩展性问题,可以跨三层组网,在基于IP的传统路由器之间路由RDMA;引入UDP解决负载均衡的问题,提高网络利用率,但RoCEv2仍然需要无损网络保障其低延时和无丢包。

要实现RDMA流量的正常传输,除了要支持上述的技术外,还需要建立从RDMA NIC到应用程序内存的数据路径,而这个路径是由Verbs API接口来建立的,一旦数据路径建立后,就可以直接访问用户空间buffer。

从图3中可以看出,网络传输侧RDMA的实现方式主要分为InfiniBand和Ethernet两种。在以太网上,又可以根据与以太网融合的协议栈的差异分为iWARP和RoCE(包括RoCEv1和RoCEv2)。

其中,InfiniBand网络使用的是支持IB协议的专用交换机;RoCEv1、RoCEv2和iWARP流量可以在传统以太网上进行传输,承载RoCEv1协议的网络只能局限于广播域内传输RDMA流量,而另外两种协议可以在传统路由器之间传输RDMA流量。在服务器端,承载IB、RoCEv1/v2流量的发送端和接收端服务器的网卡均需要支持IB协议,在使用iWARP协议的网络中服务器网卡需要支持iWARP协议。

承载RDMA技术的网络架构

图3:承载RDMA技术的网络架构

在RDMA的不同发展阶段,都会涌现出一些率先支持该阶段技术的供应商,比如支持IB协议栈的网卡供应商有IBM、Microsoft、Intel、Wintel、HP、Dell等70多家,支持iWARP的有Intel、Chelsio等,支持RoCEv1/v2的有Mellanox、Emulex、Broadcom、QLogic、Cavium、Huawei、ATTO Technology等,为了满足用户的不同需求,部分厂商推出了可同时支持iWARP、RoCEv1/v2两种协议的网卡,如Marvel、Microsoft、Linux、Kazan等。

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2