学习目标:
- RDMA详细解释
学习内容:
什么是RDMA?
RDMA(Remote Direct Memory Access)是一种网络通信技术,允许计算机系统的内存直接访问其他计算机系统的内存,而无需中央处理单元(CPU)的参与。这种直接内存访问的方式可以显著降低通信的延迟和CPU的负载,并提高网络通信的效率和吞吐量。
RDMA 技术的一些关键特性和工作原理
- 零拷贝(Zero-copy):传统网络通信中,数据在传输前往目标系统之前通常需要经过复制到发送缓冲区,然后再从接收缓冲区复制到目标内存中。RDMA允许数据直接从一个系统的内存复制到另一个系统的内存,而无需经过中间缓冲区。
- 用户空间访问(User-space Access):RDMA
允许应用程序直接在用户空间中访问网络适配器,绕过操作系统内核,从而减少了系统调用和上下文切换的开销。 - 远程操作(Remote Operations):RDMA提供了一系列的远程操作,如读(read)、写(write)、原子操作等,使得远程系统可以直接访问其他系统的内存。
- 零CPU干预(Zero CPU Intervention):RDMA 操作可以在网络适配器上进行,无需主机 CPU 参与,这意味着主机CPU 可以专注于执行计算任务,而不用担心网络通信的开销。
- 低延迟和高吞吐量(Low Latency and High Throughput):由于 RDMA 可以直接访问内存并且减少了 CPU参与,因此可以实现非常低的通信延迟和高吞吐量,这对于需要高性能网络通信的应用程序尤其重要。
RDMA应用场景
RDMA 技术通常使用在高性能计算(HPC)、大规模数据中心、分布式存储等场景中,以提高系统之间的通信效率和性能。常见的 RDMA 实现包括 InfiniBand 和 RoCE(RDMA over Converged Ethernet)等。