RDMA(Remote Direct Memory Access)
RDMA
顾名思义是一种直接访问内存技术。它能够实现的是一台计算机内存到另一台计算机内存之间的通过网络直接访问,不涉及两台计算机的操作系统。因此有着高吞吐、低时延网络等优点。RDMA协议栈都固定在网卡中。
应用场景
应用在需要低延迟、高贷款的场景包括高性能计算、大数据分析、人工智能和物联网等领域,尤其是应用在高性能并行计算集群和数据中心网络中。
-
高性能计算(
HPC
):在并行计算集群中,RDMA
能够大幅减少节点之间的数据传输延迟,提高计算效率。 -
大数据分析:
RDMA
加速了分布式计算环境中的数据交换,提升了数据处理速度。 -
人工智能:在深度学习模型训练过程中,
RDMA
可以加速计算节点之间的通信,缩短训练时间。 -
物联网:在需要快速响应和数据处理的场景中,
RDMA
提供了低延迟的数据传输能力。 -
数据中心网络:
RDMA
被用于提高存储网络和云计算环境中的数据传输效率。
特性
-
zero-copy
零拷贝零拷贝技术是一种避免数据在数据缓冲区和应用内存之间内存拷贝,直接使用RNIC网卡通过网线在两台计算机应用内存之间进行转发数据。不需要内核协议栈处理。
优点:这样的技术能够减少数据传输的开销,而且不需要
CPU
处理、缓冲和上下文切换,能够与系统操作并行进行。不足:单边通信中,接收结点不知道请求是否完成。
-
数据旁路
不需要
CPU
处理
RDMA实现
-
虚拟接口架构
一种早期的
RDMA
实现方式,通过定义标准接口实现RDMA
通信。 -
RoCE (RDMA over Converged Ethernet)
RDMA在以太网集合,实现标准以太网的高效内存传输
-
InfiniBand
高速、低延迟RDMA网络技术,用于高性能计算集群
-
Omni-Path
intel
开发的一种RDMA
-
iWARP
(Internet Wide Area RDMA Protocol)基于
TCP/I
P协议的RDMA
实现