大模型行研:算力加速的技术标准 - RDMA
一、什么是 RDMA
远程直接内存访问 (RDMA) 是一种允许联网计算机直接访问彼此主内存的技术,无需涉及处理器、缓存或操作系统,是一个由多个公司和组织合作开发的技术标准。这种旁路方法减少了 CPU 负载并降低了延迟,从而实现更快的数据传输速度,非常适合需要高速数据传输的应用,例如高性能计算 (HPC) 集群、数据中心网络和大数据分析。
可以这样形象化理解:
- 以前:快速是需要送到大楼的收发室里,再由收发室送到收件人手里,收到收发室大爷的处理能力影响,同时处理的快递数量有限,且有延迟
- 现在:快递从发件人直接送到收件人手里
二、RDMA 与 TCP/IP 的区别
特性 | RDMA (远程直接内存访问) | TCP/IP (传输控制协议/互联网协议) |
---|---|---|
定义 | 一种网络技术,允许应用程序直接访问远程主机的内存 | 一种网络协议,用于在网络中传输数据 |
传输方式 | 直接内存访问,无需操作系统内核介入 | 通过操作系统内核进行数据传输 |
延迟 | 低延迟,适合高性能计算 | 延迟较高,不适合高性能计算 |
带宽 | 高带宽,适合大量数据传输。 | 带宽受限于操作系统内核处理能力 |
CPU占用 | 低CPU占用,减少对主机CPU的依赖 | 高CPU占用,增加对主机CPU的需求 |
数据传输 | 直接在内存中传输数据,无需复制到内核空间 | 数据需要在用户空间和内核空间之间复制 |
可靠性 | 通常不提供可靠性保证,需要应用程序处理 | 提供可靠性保证,如TCP的三次握手和数据确认 |
适用场景 | 适合高性能计算、存储和数据中心应用 | 适合广泛的网络应用,如Web浏览、文件传输等 |
配置复杂度 | 配置复杂,需要特定的硬件和软件支持 | 配置相对简单,广泛支持各种操作系统和设备 |
成本 | 硬件和软件成本较高 | 硬件和软件成本较低 |
安全性 | 需要额外的安全措施来保护数据传输 | 通过TCP/IP协议提供基本的安全保障 |
三、领导者 NVIDIA 的 RMDA 实现方式
1、单机多卡
简单理解:一块主板上多个 GPU,有三种不同场景下的应用
特性 | GPUDirect | NVLink | NVSwitch |
---|---|---|---|
定义 | 一组技术,增强 GPU 的数据移动和访问能力 | 用于连接多个 GPU,常用于 < 8 个 GPU 卡 | 用于连接多个 GPU 和 CPU,常用于 > 8 个 GPU 卡 |
目的 | 加速与网络和存储设备的通信,支持 GPU 之间的 P2P 传输和内存访问 | 提供 GPU 之间的高速、低延迟连接,主要限于 GPU 之间的连接 | 提供 GPU 和 CPU 之间的高速、低延迟连接,支持复杂的多 GPU 拓扑结构,扩展性较好 |
工作方式 | 通过 PCI Express 直接访问 GPU 内存,支持 RDMA 和 P2P 传输 | 通过专用的物理连接和协议,实现 GPU 之间的直接通信 | 通过专用的物理连接和协议,实现 GPU 和 CPU 之间的直接通信,并支持多 GPU 之间的通信 |
适用场景 | 适用于需要频繁在 GPU 和 CPU 之间传输数据的应用程序,如科学计算和数据分析 | 适用于需要多个 GPU 协同工作的高性能计算和深度学习应用 | 适用于需要多个 GPU 和 CPU 协同工作的大规模并行计算和深度学习应用 |
2、以 RMDA 为核心的多机多卡
InfiniBand | RoCE | iWARP | |
---|---|---|---|
网络基础 | 专门为高性能计算设计的专用网络技术,它从硬件级别保证可靠传输,提供更高的带宽和更低的时延,但成本较高 | 基于以太网的RDMA技术,可以在现有的以太网基础设施上实现,使用普通的以太网交换机但需要支持RoCE的网卡 | 基于TCP/IP网络的RDMA实现,利用现有的TCP/IP网络和协议,但性能可能受到TCP协议特性的影响 |
性能 | 提供最好的性能,包括最高的带宽和最低的延迟 | 性能与InfiniBand相当,但可能在大规模部署时性能略逊一筹 | 性能稍差,因为它依赖于TCP协议,可能会有更多的开销 |
成本 | 成本最高,需要专用的硬件和网络组件 | 成本较低,因为它可以复用现有的以太网基础设施 | 成本介于两者之间,但可能需要特殊的网卡支持 |
部署和兼容性 | 需要专门的InfiniBand交换机和网卡,部署可能更复杂 | 使用标准的以太网交换机,但需要支持RoCE的网卡,部署相对简单 | 利用现有的以太网交换机和支持iWARP的网卡,但可能需要对TCP/IP堆栈进行优化 |
适用场景 | 常用于存储前端网络或高性能计算集群中 | 常用于存储后端网络,尤其是在数据中心环境中 | 适用于需要跨广域网进行RDMA操作的场景,尽管它可能不如RoCE或InfiniBand那样适合数据中心内部的高速通信 |
四、值得关注的 CXL
CXL(Compute Express Link)是一种先进的互连技术,由英特尔在2019年提出,旨在实现计算、内存、存储和网络的解耦,并在CXL总线上提供持久内存。其中较新的版本 CXL 3.0,是基于PCIe 6.0,支持更高的带宽和更低的延迟,并增加了设备热插拔、电源管理和错误处理等新功能
成员包括:英特尔、AMD、谷歌、微软、华为、三星、SK海力士、美光、Marvell、澜起科技等
CXL 和 RMDA 的综合对比
延迟:CXL 的延迟通常低于 RDMA。CXL 的访问延迟约为 170 至 250 ns,而 RDMA 的延迟约为 2 μs
带宽:虽然两者都提供高带宽,但 CXL 通过 PCIe 物理层实现更高的传输速率
内存扩展:CXL 更适合内存扩展,因为它允许 CPU 直接访问远程内存,而 RDMA 主要用于网络传输
应用场景:CXL 更适合内存密集型应用和需要低延迟访问的场景,而 RDMA 更适合需要高带宽和大规模互联的场景