头图

​🔷 项目地址:​https://github.com/open-rdma/open-rdma

欢迎感兴趣的读者Star及贡献代码。

引言

RDMA(Remote Direct Memory Access,远程直接内存访问)技术诞生于高性能计算(HPC)时代,其设计目标是实现超低延迟、高带宽的节点间通信。通过绕过操作系统内核、直接在用户态完成网络I/O,RDMA能够将网络延迟降低到微秒级别,这使其成为超算集群和高频交易系统的核心技术。

然而,当我们步入大模型时代,RDMA面临着前所未有的挑战。GPT-4、Llama等大型语言模型的训练需要数万甚至数十万张GPU协同工作,网络通信成为决定训练效率的关键瓶颈。虽然RDMA仍然是这些AI集群的首选网络技术,但其20多年前为HPC设计的诸多假设,正在成为阻碍大模型训练效率提升的"历史包袱"。

本文将深入分析大模型时代对网络的新需求,以及RDMA的哪些设计已经开始"拖后腿"。

本文是「RDMA技术科普系列」的第二篇。如果你对高性能网络、AI基础设施、GPU集群互连,或者开源RDMA生态感兴趣,也欢迎关注我们的开源项目 Open-RDMA,一起推动下一代开放AI基础设施的发展:https://github.com/open-rdma/open-rdma

01、大模型时代对网络的新需求

<u>训练规模的爆炸式增长</u>

传统HPC集群通常由几十到几百个节点组成,而现代大模型训练集群的规模已经突破了这一量级。Meta、OpenAI、Google等公司的训练集群规模已达数万张GPU,前沿研究甚至在探索10万+GPU的超大规模集群。这种规模的跃升对网络架构提出了全新的挑战。

<u>流量模式的根本性变化</u>

大模型训练的网络流量模式与传统HPC有着本质的不同:

  • 集合通信主导​:大模型训练大量使用AllReduce、AllGather、ReduceScatter、AllToAll等集合通信原语。以数据并行为例,每个训练步骤结束后,所有GPU需要通过AllReduce操作同步梯度。这种"多对多"的通信模式与HPC中常见的点对点通信截然不同。
  • 突发性大象流​:大模型训练产生的网络流量呈现出明显的"突发性"特征——在同步阶段,所有GPU几乎同时开始传输大量数据,瞬时带宽可达400Gbps甚至更高。这些流量被称为"大象流"(Elephant Flow),它们数量少但体积巨大,持续时间长。
  • 低熵流量模式​:由于大模型训练的同步特性,流量模式具有高度的可预测性和低随机性。这种低熵特征会破坏传统负载均衡算法(如ECMP)的有效性。

<u>对延迟和可靠性的极端要求</u>

在大模型训练中,一个落后的GPU会拖慢整个集群的训练速度——这被称为"木桶效应"。因此:

  • 尾延迟敏感​:不仅平均延迟重要,尾部延迟(P99、P99.9)同样关键。即使单个RDMA操作出现延迟,也会影响整个集合通信的完成时间。
  • 极高可靠性要求​:网络故障可能导致训练作业中断,需要从检查点重启。研究表明,网络问题(网卡故障、线缆问题等)可能占到训练作业失败原因的一半。

02、RDMA的历史包袱分析

<u>Verbs API:为CPU设计的过时抽象</u>

RDMA的标准编程接口是Verbs API,这是一个极度底层的驱动级接口。更关键的问题是:Verbs API是为CPU设计的,而非GPU。

在RDMA诞生的年代,计算的主角是CPU,网络通信的发起者和数据的处理者都是CPU。因此,Verbs API的整个设计都围绕CPU展开:

  • 所有RDMA操作都由CPU发起和控制
  • 内存注册、队列管理等操作都需要CPU介入
  • 完成通知(Completion)需要CPU轮询或中断处理

使用Verbs API编程,开发者需要:

  • 手动锁定内存页(Memory Pinning)并向设备注册
  • 构造包含多达15个以上参数的I/O请求记录
  • 管理Queue Pair(QP)、Completion Queue(CQ)等复杂资源
  • 处理各种边界情况和错误恢复

然而,在大模型训练时代,GPU才是计算和数据的主角。训练数据存储在GPU显存中,梯度计算在GPU上完成,GPU之间需要直接交换数据。传统的RDMA工作流程变成了:

GPU显存 → CPU内存 → RDMA网卡 → 网络 → RDMA网卡 → CPU内存 → GPU显存

这种"GPU→CPU→网卡→CPU→GPU"的路径引入了不必要的数据拷贝和CPU参与,严重影响性能。

为了解决这个问题,NVIDIA推出了GPUDirect RDMA技术,允许网卡直接访问GPU显存,绕过CPU内存。但这只是一个"补丁"式的解决方案——Verbs API本身仍然是CPU中心的,GPU只是被"嫁接"到这个体系中。

更进一步的尝试是IBGDA(InfiniBand GPU Direct Async),允许GPU直接发起RDMA操作,无需CPU参与。但这需要特定硬件支持(如NVIDIA ConnectX网卡),且编程模型更加复杂。这些都是在原有架构上的修补,而非为GPU原生设计的网络接口。

正如研究者所指出的:"RDMA具有低层次的编程抽象,现有系统的原始设计是利用RDMA性能优势的障碍。"

目前缺乏一个简单易用的、为GPU原生设计的跨平台RDMA库。现有的RDMA库基本上都与NVIDIA的ConnectX网卡绑定,这进一步加剧了移植困难。

<u>严格有序传输:过度的保证</u>

RDMA最常用的传输类型是RC(Reliable Connection),它提供严格的内存保序——数据包必须按发送顺序到达,后发的写操作必须等待先发的写操作完成。这种设计源于传统HPC应用对内存一致性的严格要求。

然而,严格保序是有代价的,而且在大模型训练场景中,这个代价可能是不必要的。

严格保序的性能代价

为了维护严格的有序性,RDMA硬件和协议需要:

  • ​限制并发:​后续操作必须等待前序操作完成确认
  • ​单路径传输:​为保证顺序,同一连接的数据包只能走单一路径,无法充分利用多路径网络的带宽
  • 重传阻塞​:一旦某个包丢失需要重传,后续所有包都必须等待,造成队头阻塞
  • 硬件复杂度​:网卡需要维护复杂的状态机来保证顺序

大模型训练真的需要严格保序吗?

在大模型训练中,典型的通信模式是集合通信(AllReduce、AllGather等)。这些操作的语义是:所有参与者在barrier点同步,确保数据完整到达即可。

换言之,大模型训练需要的是:

  • 数据完整性:所有数据最终都要到达
  • 同步点一致性:在barrier点所有数据就绪
  • 不需要:传输过程中每个字节的严格顺序

这意味着,一种"松弛保序"(Relaxed Ordering)的模型可能更适合AI工作负载:允许数据包乱序到达,在接收端重组,只在必要的同步点保证一致性。这样可以:

  • 充分利用多路径网络,提高带宽利用率
  • 减少队头阻塞,降低尾延迟
  • 简化硬件设计,降低成本

<u>拥塞控制的困境</u>

RDMA网络的拥塞控制是一个历史悠久的难题,在大模型训练场景下尤为突出。

PFC的结构性缺陷

Priority Flow Control(PFC)是RoCE网络实现"无损"传输的基础机制。当交换机缓冲区即将溢出时,PFC会向上游发送暂停帧,阻止更多数据包到来。

然而,这种粗粒度的暂停机制带来了一系列问题:

  • ​PFC死锁:​在特定的流量模式下,多个交换机的队列可能形成环路依赖,导致永久性的网络停滞。一旦发生PFC死锁,整个网络fabric的低延迟特性就会崩溃。
  • ​队头阻塞:​PFC暂停的是整个优先级队列,而非特定的流。这意味着一个拥塞的流会阻塞同队列中所有其他流的传输,即使它们的目的地完全不同。
  • ​拥塞转移:​研究发现,PFC的部署将拥塞的位置从传统TCP/IP网络的边缘主机转移到了RDMA网络的核心交换机。这使得问题更加难以定位和解决。

<u>负载均衡的失效</u>

传统数据中心网络使用ECMP(Equal-Cost Multi-Path)进行负载均衡,它根据数据包的哈希值将流量分配到不同的等价路径上。

然而,ECMP在大模型训练场景下表现不佳:

  • ​大象流主导:​AI训练流量由少量巨大的、长寿命的流组成,而非大量小流。当几条大象流被哈希到同一路径时,会造成严重的拥塞,而其他路径却处于空闲状态。
  • ​流量分布倾斜:​ECMP在流量大小分布均匀时效果最好。但大模型训练的流量分布高度倾斜,这恰恰是ECMP最不擅长处理的场景。
  • ​低熵问题:​训练流量的可预测性导致哈希分布的随机性不足,进一步加剧了负载不均衡。

<u>供应商锁定问题</u>

RDMA生态系统存在严重的供应商锁定问题:

  • ​硬件绑定:​现有RDMA库和工具链基本都与NVIDIA(原Mellanox)ConnectX网卡深度绑定。某些高级功能如IBGDA(GPU发起的RDMA,用于DeepEP等框架)只在特定硬件上可用。虽然Verbs API是标准化的,但不同厂商在驱动实现、性能调优、高级特性上存在显著差异。
  • ​生态系统封闭:​NVIDIA通过ConnectX网卡、InfiniBand交换机、GPU、NCCL通信库形成了一个紧密耦合的生态系统。这套组合确实能提供最佳性能,但也意味着用户很难在不牺牲性能的情况下替换其中任何一个组件。
  • ​缺乏统一抽象:​虽然libfabric等项目尝试提供跨平台的网络抽象层,但在实践中,针对特定硬件的优化仍然是获得最佳性能的必要条件。这使得应用程序要么牺牲可移植性追求性能,要么牺牲性能换取可移植性。

<u>内存注册机制</u>

RDMA要求用于网络传输的内存必须先进行"注册"——包括内存锁定、地址映射和密钥生成等步骤。这套机制源于RDMA对安全性和正确性的考量。

在大模型训练场景中,这些机制可能带来一定的管理复杂度。整个集群通常属于同一个训练任务,所有GPU之间需要频繁交换数据,细粒度的保护域隔离在这种场景下的价值有限。

实践中,系统通常采用批量注册与预分配的策略——在训练开始前一次性注册所有需要的内存,从而避免运行时的额外开销。这是一种在安全性和便利性之间的务实权衡。

03、未来方向

面对这些历史包袱,业界正在探索多种解决方案:

  • Ultra Ethernet Consortium(UEC)​:由Meta、Microsoft、Oracle等公司发起,100多家企业参与的UEC于2025年发布了1.0规范。UEC并非要取代RDMA,而是重新定义RDMA在以太网上的实现方式——采用无序、无连接的通信架构,更好地适应现代数据中心环境。
  • 新型拥塞控制:HPCC等算法通过交换机的实时遥测实现精确的速率控制,有望在不依赖PFC的情况下实现无损传输,从根本上消除PFC死锁风险。
  • ​软件定义RDMA:​通过更灵活的软件层实现可编程的可靠性机制,更好地与云原生架构集成。

04、总结

RDMA的历史包袱,本质上是其HPC基因与大模型时代需求之间的矛盾。20年前为CPU主导、小规模集群设计的技术,如今需要支撑GPU主导、超大规模的AI训练基础设施。

这些包袱包括:为CPU设计的Verbs API、有序传输的过度保证、PFC带来的拥塞控制困境、ECMP在大象流面前的失效、供应商锁定问题,以及内存注册机制的性能开销。

好消息是,业界已经认识到这些问题,并在积极探索解决方案。Ultra Ethernet等新标准正在尝试重新定义RDMA的实现方式,使其更好地适应大模型时代的需求。但在这些新技术成熟之前,我们仍需在现有框架内小心翼翼地"负重前行"。

理解这些历史包袱,对于设计下一代AI网络基础设施至关重要。只有认清过去的局限,才能更好地构建未来。

05、参考资料

大规模AI训练网络

RDMA over Ethernet for Distributed AI Training at Meta Scale - Meta在SIGCOMM 2024发表的RoCE大规模分布式训练论文

Scaling LLM Training Using RDMA over Converged Ethernet - SC'25关于LLM训练网络扩展的研究

RDMA Point-to-Point Communication for LLM Systems - LLM系统中RDMA点对点通信的探索

集合通信与NCCL

Collective Communication for 100k+ GPUs - 10万+GPU集合通信研究

An Efficient, Reliable and Observable Collective Communication Library - 大规模GPU训练集群的集合通信库

Demystifying NCCL: An In-depth Analysis of GPU Communication Protocols - NCCL深度分析

拥塞控制

AI/ML Training Network Congestion Control for RDMA - AI训练网络拥塞控制

Rate-adaptive RDMA Congestion Control for AI Clusters - AI集群的自适应拥塞控制

Priority Flow Control: The Stop Light of the AI Networking Highway - PFC机制详解

Ultra Ethernet Consortium

Ultra Ethernet Consortium Launches Specification 1.0 - UEC 1.0规范发布

From InfiniBand to Ultra Ethernet: Why AI Networks Had to Rethink RDMA - 从InfiniBand到Ultra Ethernet的演进

RDMA编程与内存管理

RDMA Verbs API Documentation - NVIDIA RDMA Verbs API文档

Design Guidelines for High Performance RDMA Systems - 高性能RDMA系统设计指南

Pitfalls of InfiniBand with On-Demand Paging - ODP的性能陷阱研究

安全与多租户

Securing RDMA for High-Performance Datacenter Storage Systems - RDMA数据中心安全研究

Behind the Scenes: Securing OCI InfiniBand SuperClusters - Oracle云InfiniBand安全实践

历史与综述

RDMA: A Short History of Remote DMA Networking - RDMA历史回顾

Software Defined RDMA Networks for Large Scale AI Infrastructure - 软件定义RDMA网络

<u>往期推荐</u>

RDMA是如何诞生的?—— 一场高性能网络进化史

达坦科技始终致力于打造高性能​AI+Cloud基础设施平台​,积极推动AI应用的落地。达坦科技通过软硬件深度融合的方式,提供​AI推理引擎和高性能网络​,为AI应用提供弹性、便利、经济的基础设施服务,以此满足不同行业客户对AI+Cloud的需求。

公众号​:达坦科技DatenLord

DatenLord官网​:https://datenlord.github.io/zh-cn/

​知乎账号:​https://www.zhihu.com/org/da-tan-ke-ji

B站​:https://space.bilibili.com/2017027518

​邮箱:​info@datenlord.com

如果您有兴趣加入达坦科技Rust前沿技术交流群、硬件敏捷开发和验证方法学讨论群或AI Infra ​交流群,请添加小助手微信:DatenLord\_Tech


Datenlord
14 声望11 粉丝

DatenLord专注打造新一代云原生高性能存储平台,实现跨云、跨数据中心之间数据高速访问,从而极大提升存储系统的可扩展性,满足企业客户海量数据跨地域高速访问需求,在互联网、金融、电信、能源等不同行业均有广...