一句话定义:RoCEv2(RDMA over Converged Ethernet version 2)是一种把 RDMA 的高性能搬进普通 IP 以太网的技术,让两台服务器之间可以绕过操作系统和 CPU,直接读写对方的内存。
原理:换个寄快递的方式
先说说 RDMA(Remote Direct Memory Access,远程直接内存访问)。用传统 TCP/IP 传数据,有点像寄快递要经过小区前台:数据先进内核缓冲区,前台(CPU)登记一遍、抄一份,再爬上楼交给你家。数据量大、次数多的时候,前台累得没空干别的。
RDMA 则像在两栋楼之间拉了一条滑索,包裹直接滑进对方家的储物柜——网卡(RNIC)自己把数据写进对端应用的内存,内核不参与、CPU 不拷贝、对端应用也不需要提前“接电话”。这就是它延迟低、CPU 占用几乎为零的原因。
那 RoCEv2 的“v2”在哪?第一代 RoCEv1 只能在一个二层广播域里跑,跨不了路由器,集群一大就抓瞎。RoCEv2 把 RDMA 报文塞进 UDP/IP 头里,于是它能像普通 IP 流量一样被三层网络路由转发,跨机架、跨楼栋拼出几万张卡的大集群。
为什么 AI 训练集群偏爱它
分布式训练里,GPU 之间要高频做集合通信(AI 词典:AllReduce">AllReduce 之类)来同步梯度。它的特点是:数据量大、对延迟和抖动极敏感,而且有“木桶效应”——最慢的那张卡拖慢所有人。传统 TCP 的 CPU 开销和抖动在这里很致命。
InfiniBand 天生为 RDMA 而生,性能好、设计上就无损,但要配一整套专用交换机、专用网卡和独立的运维体系。RoCEv2 的优势是复用人人都有的以太网生态,运维、监控、排障习惯都能延续,所以成了很多 AI 集群的现实选择。
代价:必须把网络“调成无损”
RDMA 的假设是丢包极少。它一旦丢包,重传往往很“粗暴”,延迟瞬间飙升,还可能越堵越丢。所以 RoCEv2 部署几乎离不开两件套:
- PFC(Priority Flow Control):交换机队列快满时,给上游发“暂停”帧,按优先级把某类流量先刹住。像停车场满了就在入口举牌拦车,而不是让车开进去再倒出来。
- ECN(Explicit Congestion Notification):交换机在拥塞初期给报文打标记,接收端把信号回传,发送端主动降速,配合 DCQCN 这类算法。PFC 是最后一道保险,ECN 才是日常调速。
| RoCEv2 | InfiniBand | 传统 TCP/IP | |
|---|---|---|---|
| 底层网络 | 以太网 + UDP/IP | 专用 IB 网络 | 以太网 + TCP/IP |
| 三层路由 | 支持 | 走 IB 自己的机制 | 支持 |
| 天然无损 | 否,需 PFC/ECN 调优 | 设计上无损 | 不要求 |
| CPU 参与 | 极少 | 极少 | 每包都参与 |
对你的意义
如果你是 AI 基础设施或网络工程师,上 RoCEv2 不是插张网卡就完事:PFC 优先级、DSCP 映射、ECN 门限、DCQCN 参数、全链路 MTU 一致性,哪一项没配好都可能让集群时快时慢,甚至出现 PFC 风暴。具体参数和配置方法请以各厂商官方文档为准。
如果你只是普通职场人,可以记住一句话:把几千张 GPU 连成“一台虚拟大电脑”,一半的功夫在显卡,另一半在组网。RoCEv2 就是让这张网跑得又便宜又快的那个关键选项。
