1 min read

RDMA 是什么?

RDMA 是 Remote Direct Memory Access 的缩写,一种用于网络中快速高效数据传输的技术。它允许在不涉及各自计算机的 CPU 的情况下,直接在计算机的内存之间传输数据。

一般情况下,在计算机之间传输数据需要经过 CPU。传统的网络数据传输通常使用 TCP/IP 协议栈,在发送端的应用程序通过操作系统发送数据,该数据经过多个网络协议层(如网络层和传输层)和网卡驱动程序,最终被发送到网络中。在接收端,数据也要经过类似的协议层和驱动程序处理后,才能被接收应用程序读取。

然而,使用 RDMA 技术时可以避免这个过程。RDMA 允许数据直接在计算机的内存之间传输,无需经过 CPU。大大降低了数据传输的延迟和 CPU 的负载,从而提高系统性能和吞吐量。

RDMA 非常适合需要高性能数据传输的应用,例如大数据分析、高性能计算和云计算。

RDMA 通常与 InfiniBand 和以太网网络一起使用,受到各种操作系统的支持,包括 Linux、Windows 和 macOS。它通常通过软件库实现,例如 OpenFabrics Enterprise Distribution (OFED),提供了一个标准化的 RDMA 操作 API。