更新时间:2022-03-07 08:51
在计算机运算领域,远程直接内存访问(英语: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。