一句话定义:RDMA(Remote Direct Memory Access,远程直接内存访问)是一类让网卡直接读写对端机器内存的技术,全程不经过 CPU 和操作系统内核;InfiniBand(简称 IB)则是为 RDMA 从头设计的一整套专用网络,包括网卡、交换机和管理软件。
它到底省掉了什么
用传统 TCP/IP 发数据,像寄快递:应用先把数据打包交给内核,协议栈层层封装,对面收到后再层层拆开、拷回应用。每一步都要 CPU 出力,数据还要在内存里搬好几趟。
RDMA 像在两栋楼之间挖了一条直通滑道:你把箱子推进自家窗口,它直接落进对方的储物间,中间不需要管家经手。对应三个技术点:kernel bypass(绕过内核)、zero-copy(零拷贝)、把协议栈卸载到网卡硬件上执行。
为什么「网」比算力更卡脖子
大模型训练会把任务切到成百上千张 GPU 上。每算完一小步,卡与卡之间就要对答案——比如把所有梯度加起来,这个过程叫 AI 词典:AllReduce">AllReduce。GPU 算得越猛,一个人等全队的时间占比就越高,这段时间它纯空转。
更要命的是规模效应:同步组里的卡越多,一次同步就要等最慢的那张,网络抖动会被放大成整队等待。结果就是买卡的钱花到位了,GPU 利用率却卡在网络上,业内叫「通信墙」。
NVLink、InfiniBand、RoCE 到底谁是谁
这里其实有两层网,很多人把它们混为一谈:
- 机内:NVLink。它压根不是网络,是 GPU 之间的直连总线,走私有协议,延迟极低。通信最密集的并行方式要尽量放在同一个 NVLink 域内。
- 机间:跨机器就得靠 RDMA 网络,主流两条路——InfiniBand 和 RoCE。
| 名字 | 本质 | 覆盖范围 | 特点 |
|---|---|---|---|
| NVLink | GPU 间直连总线 | 机内、单个机柜域 | 私有协议,延迟最低 |
| InfiniBand | 为 RDMA 而生的一整套专用网络 | 整个集群 | 性能好,但网卡、交换机自成生态,要单独采购 |
| RoCE | 让 RDMA 跑在以太网上 | 整个集群 | 复用现有以太网,需配置无损网络的流控机制,有调优门槛 |
| 普通 TCP 以太网 | 通用网络 | 什么都干 | CPU 参与多、延迟高,扛不住大规模同步 |
对从业者的实际意义
选并行策略时先看拓扑:能压进 NVLink 域内的通信尽量压进去;跨机通信尽量做到「少而大」,而不是「多而碎」。看集群规格时,除了算力峰值,还得问清三件事:卡间互联是什么、机间网络是什么、拓扑怎么布。
运维上,无损网络的拥塞和流控是常见坑点,配错一次可能让整个训练任务集体变慢。对普通人来说,这也解释了 AI 算力为什么贵——贵的不只是那块芯片,还有围绕它的一整套网络。具体产品规格与支持情况,以厂商官方页面为准。
