📜  远程直接内存访问(RDMA)

📅  最后修改于: 2021-08-25 16:38:18             🧑  作者: Mango

远程直接内存访问(RDMA)是网络中一台计算机对另一台计算机的内存的访问,不涉及任何操作系统,处理器或缓存,它可以释放大量资源,从而提高了系统的吞吐量和性能。

可以在远程计算机上执行诸如读取和写入之类的操作,而不会中断该计算机的CPU。该技术有助于提高数据传输速率和低延迟网络。 RDMA通过启用网络适配器将数据直接传输到系统的缓冲区中来使用零拷贝网络。

RDMA的功能:

  1. 零拷贝网络–
    可以直接在应用程序的缓冲区之间发送和接收数据,而无需在网络层之间进行复制。
  2. 减少CPU介入–
    应用程序可以直接从远程服务器访问数据,而无需占用远程服务器的CPU时间。而且,远程服务器CPU的缓存不会填充访问的内容。
  3. 有效交易–
    数据以离散消息而不是流的形式发送和接收,从而无需分离消息。

支持RDMA的网络协议:

  1. InfiniBand(IB)–
    从一开始就本地支持RDMA的协议。由于它是一种新的网络技术,因此需要支持此技术的NIC(网络接口卡)和交换机。
  2. 融合以太网上的RDMA(RoCE)–
    一种网络协议,允许通过以太网网络执行RDMA。这允许在标准以太网基础结构(交换机)上使用RDMA。
  3. 互联网广域RDMA协议(iWARP)–
    一种允许通过TCP执行RDMA的协议。 iWARP不支持IB和RoCE的某些功能。这允许在标准以太网基础结构(交换机)上使用RDMA。

应用范围:

  • 用于需要较小CPU占用空间的行业,例如云计算等。
  • 用于需要高带宽的行业,例如医疗设备,存储和备份等。