远程直接内存访问(英语:remote direct memory access,RDMA)是一种
直接存储器访问技术,它将数据直接从一台计算机的
内存传输到另一台计算机,无需双方
操作系统的介入。这允许高通量、低
延迟的网络通信,尤其适合在大规模并行
计算机集群中使用。
RDMA支持
零复制网络传输,通过使
网络适配器直接在应用程序内存间传输数据,不再需要在应用程序内存与操作系统缓冲区之间复制数据。这种传输不需要
中央处理器、
CPU缓存或上下文交换参与,并且传输可与其他系统操作并行。当应用程序执行RDMA读取或写入请求时,应用程序数据直接传输到网络,从而减少延迟并实现快速的消息传输。
如其他
高性能计算(HPC)互连技术一样,截至2013年,由于需要安装不同的
网络基础设施,RDMA已得到了有限的接受。但是,诸如iWARP等新标准也使
以太网RDMA被实现于物理层,它使用
TCP/
IP作为传输方式,将基于标准的解决方案相结合,带来了RDMA的性能和低延迟优势以及较低的成本。RDMA联盟与DAT Collaborative在RDMA协议和
API的开发中发挥了关键作用,将成果供
互联网工程任务组和互连软件联盟等标准小组考量。
硬件供应商已经开始着手更高容量的基于RDMA的
网络适配器,例如40Gbit/s速率。诸如
Red Hat和
甲骨文公司等软件供应商已经在其最新产品中支持这些API,截至2013年,工程师也已开始开发基于以太网的RDMA网络适配器。
Red Hat Enterprise Linux和Red Hat Enterprise MRG已支持RDMA。微软已在Windows Server 2012中通过SMB Direct支持RDMA。
常见的RDMA实现包括虚拟接口架构、基于融合以太网的RDMA(RoCE)、
InfiniBand、iWARP。