益思芯知识讲堂 | 什么是RDMA?


RDMA


RDMA全称是Remote Direct Memory Access,即远程直接内存访问,是一种用于高性能网络通信的技术。RDMA技术可以让计算机直接访问远程计算机的内存,而无需在本地和远程计算机之间进行数据复制。

相比传统的网络通信方式,RDMA技术具有更低的延迟、更高的带宽和更低的CPU利用率等优点,可以显著提高网络通信的性能和效率。目前支持RDMA的网络协议主要有:

1、InfiniBand(IB):IB是一组高性能网络通信标准,由 InfiniBand Trade Association (IBTA)制定并推动。IB 架构规范的 1.0 版本发布于2000 年,其中原生地支持了 RDMA,大概也是最早的RDMA 实现。然而,IB 架构并不兼容以太网,在部署时除了需要支持 IB 的网卡外,还需要购买相应的IB交换机。

2、RoCE:即RDMA over Ethernet,RoCE 是基于以太网的 RDMA 标准,同样由 IBTA 制定,允许在以太网网络中实现远程直接内存访问。RoCE 有两个版本:RoCE v1 与 RoCE v2。RoCE v1 是链路层协议(L2),可以实现在同一广播域中任意两台主机之间的通信。RoCE v2 是网络层协议(L3),这意味着 RoCE v2 的数据包可以被路由,跨三层,因此组网规模可以更大。

3、互联网广域RDMA协议(iWARP):即RDMA over TCP, 允许通过TCP执行RDMA的网络协议。这允许在标准以太网基础架构(交换机)上使用RDMA,只不过网卡要求是支持iWARP(如果使用CPU offload的话)的NIC。

如下图所示:


IB、RoCE和iWARP都是RDMA技术的实现方式,可以用于高性能计算、存储、数据中心等领域。它们之间有以下的优缺点对比:


投入成本:InfiniBand的投入成本较高,需要专用的硬件和网络设备;RoCE则可以利用现有的以太网设备进行部署,成本较低;iWARP需要专用的网卡和协议栈,成本介于两者之间。

易用性:RoCE和iWARP的易用性比InfiniBand高,因为它们都是基于以太网协议栈的,具有良好的互操作性和兼容性,而InfiniBand则需要使用专用的协议栈和驱动程序。

带宽:三者的带宽都很高,但InfiniBand的带宽最高,可以达到400 Gb/s,RoCE和iWARP的带宽一般在40 Gb/s至100 Gb/s之间。

延迟:InfiniBand的延迟最低,可以达到1微秒以下;RoCE和iWARP的延迟较低,但通常比InfiniBand高。

CPU占用率:InfiniBand和RoCE的CPU占用率较低,因为它们都使用硬件卸载来减轻CPU负担;iWARP的CPU占用率较高,因为它使用软件卸载来实现RDMA。

扩展性:RoCE和iWARP的扩展性比InfiniBand高,因为它们可以利用现有的以太网基础设施进行扩展,而InfiniBand需要专用的硬件和网络设备。

总体而言,选择哪种技术取决于具体应用场景、投入成本和性能需求等因素。如果应用场景对性能要求极高,可以选择InfiniBand;如果成本是主要考虑因素,可以选择RoCE;如果需要良好的互操作性和兼容性,则可以选择RoCE或iWARP。

RoCE卡因为可以利用现有的以太网设备进行部署,得到了越来越多的厂家关注,发展最为迅速,已经成为以上三类卡的出货主力。益思芯已发布的存储加速卡和DPU支持RoCEv2协议。

关于我们


益思芯科技(上海)有限公司(简称:益思芯科技)成立于2020年7月,总部位于上海漕河泾新兴技术开发区。团队由国内外网络、交换、存储领域的核心专业人员组成,基于网络、交换、存储及高性能CPU技术,致力于为通信、互联网、数据中心行业提供领先的存储与网络数据处理芯片及解决方案,旨在成为一家具有国际竞争力,以创新引领行业发展,参与制定行业标准的高科技创新公司。