网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

远程直接内存访问(RDMA)

更新时间:2026年03月27日   作者:spoto   标签(Tag):

远程直接内存访问(RDMA)指的是在网络环境中,一台计算机能够直接访问另一台计算机的内存资源,而无需涉及双方的操作系统、处理器或缓存等组件。这种方式可以提升系统的吞吐量和性能,因为这样可以释放出许多资源。 像读写这样的操作可以在不中断远程机器的CPU运行的情况下进行。 这项技术有助于实现更高的数据传输速率以及更低延迟的网络连接。 RDMA采用了零拷贝网络技术,它能够让网络适配器直接将数据传输到系统的缓冲区中。

RDMA是如何工作的呢?

RDMA的工作原理是利用支持RDMA的网络接口控制器,比如InfiniBand或RoCE(基于Converged Ethernet的RDMA技术)。这些网络接口控制器拥有专门的硬件组件,能够直接访问与其相连的系统的内存,而无需借助CPU的参与。当系统希望使用RDMA来传输数据时,它会向该网络接口控制器发送请求,然后由该控制器利用其专用硬件将数据直接传输到另一系统的内存中。

远程直接内存访问(RDMA)的优势:

  • 高性能:RDMA能够实现系统之间数据传输的高性能,同时具有较低的延迟和较高的带宽。
  • CPU效率:RDMA技术允许系统在不需要使用CPU的情况下直接进行数据传输,从而释放了系统资源,使其可以用于其他任务。
  • 减少网络拥塞:RDMA通过实现系统之间的直接数据传输,从而减少了网络流量,进而降低了网络拥塞现象。
  • 安全性:RDMA通过在数据在系统之间传输时对其进行加密处理,从而提升了系统的安全性。
  • 可扩展性:RDMA具有极高的可扩展性,能够支持系统之间大量数据的传输。

远程直接内存访问(RDMA)的缺点:

  • 兼容性:RDMA需要专门的硬件和软件支持,而并非所有系统都具备这样的支持能力。
  • 成本:RDMA的成本可能较高,因为它需要专门的硬件和软件支持。对于并非所有组织来说,这样的成本可能并不具有经济效益。
  • 复杂性:RDMA的部署和管理过程可能相当复杂,需要专门的技能和知识。
  • 传输范围有限:RDMA通常用于位于相近位置的系统之间的数据传输,因此其应用范围受到了限制。
  • 有限的兼容性:RDMA仅与某些协议兼容,这可能会限制其与其他系统的兼容性。

 RDMA的特点:

  1. 零拷贝网络技术数据可以在应用程序的缓冲区之间直接进行发送和接收,而无需在网络层之间进行复制。
  2. 减少了CPU的占用量。应用程序可以直接从远程服务器获取数据,而不会占用远程服务器的CPU资源。此外,远程服务器上的CPU缓存也不会被访问到的数据所填满。
  3. 有效的交易——数据是以离散的消息形式进行发送和接收的,而不是以流的形式传输。这样一来,就不需要再对消息进行分离处理了。

支持RDMA的网络协议:

  1. InfiniBand (IB) –该协议从一开始就支持原生式的RDMA通信。作为一种新的网络技术,它需要使用能够支持这种技术的网络接口卡以及交换机来实现通信。
  2. 基于融合以太网协议的RDMA传输技术(RoCE)这是一种网络协议,它允许通过以太网网络实现RDMA通信。这样一来,就可以利用标准的以太网基础设施(如交换机)来实现RDMA通信了。
  3. 互联网广域RDMA协议(iWARP)这是一种允许通过TCP实现RDMA的协议。虽然iWARP支持IB和RoCE的一些功能,但并未完全支持这些功能。因此,这种协议可以使得在标准的以太网基础设施(如交换机)上实现RDMA成为可能。

应用/用途:

  • 适用于那些需要较小CPU资源消耗的行业,比如云计算等领域。
  • 这种技术被广泛应用于那些需要高带宽的行业中,比如医疗设备、数据存储与备份等领域。
  • 高性能计算:RDMA通常用于高性能计算环境中,比如科学研究、金融建模以及天气预报等领域。
  • 大数据:在大数据环境中,RDMA被用于加速服务器与存储设备之间的数据传输速度。
  • 视频流传输:在视频流传输应用中,RDMA被用于实现低延迟的数据传输,从而减少缓冲现象。
  • 云计算:在云计算环境中,RDMA被用于实现虚拟机与物理服务器之间的高速数据传输。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料