RoCE协议 RDMA技术

发布时间 2023-10-18 18:45:29作者: 邹木木

RoCE的好处

  • 低CPU占用率:访问远程交换机或服务器的内存,无需消耗远程服务器上的CPU周期,从而可以充分利用可用带宽和更高的可伸缩性。
  • 零复制:向远程缓冲区发送数据和接收数据。
  • 高效:由于RoCE改善了延迟和吞吐量,网络性能得到了很大提高。
  • 节省成本:借助RoCE,无需购买新设备或更换以太网基础设施即可处理大量数据,从而大大节省了公司的资本支出。

RoCE全称RDMA over Converged Ethernet,从字面来看,也就是基于融合以太网的RDMA,所以在了解RoCE之前还得先认识下RDMA这项技术。

RDMA

传统应用要发送数据,‍‍需要通过OS封装TCP/IP,‍‍然后依次经过主缓存、网卡缓存,‍‍再发出去。‍‍这样会导致两个限制。

  • RDMA(远程直接数据存取)是为了解决网络传输中服务器端数据处理的延迟而产生的,无需使用CPU,就可以从一个主机或服务器的内存直接访问另一主机或服务器的内存。它释放了CPU去执行其应做的工作,比如运行应用程序和处理大量数据。这既提高了带宽又降低了延迟、抖动和 CPU 消耗。
  • RDMA可以简单理解为利用相关的硬件和网络技术,服务器1的网卡可以直接读写服务器2的内存,最终达到高带宽、低延迟和低资源利用率的效果。
  • 目前,大致有三类RDMA网络,分别是Infiniband、RoCE、iWARP。其中,Infiniband是一种专为RDMA设计的网络,从硬件级别保证可靠传输 ,而RoCE 和 iWARP都是基于以太网的RDMA技术,支持相应的verbs接口。
    image
    RoCE:基于 Ethernet的RDMA,RoCEv1版本基于网络链路层,无法跨网段,基本无应用。RoCEv2基于UDP,可以跨网段具有良好的扩展性,而且可以做到吞吐,时延相对性能较好,所以是大规模被采用的方案。RoCE消耗的资源比 iWARP 少,支持的特性比 iWARP 多。可以使用普通的以太网交换机,但是需要支持RoCE的网卡。

RoCE

顾名思义,RoCE是在InfiniBand Trade Association(IBTA)标准中定义的网络协议,允许通过以太网络使用RDMA。简而言之,它可以看作是RDMA技术在超融合数据中心、云、存储和虚拟化环境中的应用。

RoCE的类型

RoCE协议存在RoCEv1和RoCEv2两个版本,这取决于所使用的网络适配器或网卡。
RoCE v2克服了RoCE v1绑定到单个VLAN的限制。通过改变数据包封装,包括IP和UDP标头,RoCE v2现在可以跨L2和L3网络使用。

结论

在数据中心中运行RDMA,可以减轻数据移动的负担,并为应用程序提供更高的CPU资源可用性。RoCE协议可以从RDMA的功能中受益,而无需更改其网络基础架构。通过减少以太网延迟和CPU开销,RoCE可以提高搜索、存储、数据库和高事务处理率应用程序的性能。通过提高CPU效率和应用程序性能,RoCE可以减少所需的服务器数量,从而节省能源,并减少基于以太网的数据中心的占用空间。