Packet Spraying 报文级负载均衡
Packet Spraying(报文喷洒)将每个单独的报文(而非整条流)分散到所有等价路径上,是链路利用率最高的负载均衡策略,也是 Ultra Ethernet 1.0(2025 年 6 月)定义的默认负载均衡方式。
基本原理
ECMP 以流为单位选路(一条流始终走同一条路径),而 Packet Spraying 以报文为单位选路——同一流的连续报文可以走不同路径。
Ultra Ethernet 1.0 通过标准化的 EV(Entropy Value)字段实现端点控制的 Packet Spraying:
- NIC 为每个报文生成或递增 EV 值,写入报文头
- 交换机按 EV 字段(而非 5 元组哈希)选择转发路径
- 接收端 NIC 配备重排序缓冲,将乱序报文恢复正确顺序
- 上层协议(RDMA)收到有序数据流
这一设计将路径选择的控制权从交换机转移到发送端 NIC,交换机只需按 EV 值简单转发,无需特殊 ASIC 支持。
算法细节
与自适应路由的核心区别
| 维度 | 自适应路由(AR) | Packet Spraying |
|---|---|---|
| 决策位置 | 交换机侧 | 端点(NIC)侧 |
| 决策依据 | 实时队列深度 | EV 字段(端点控制) |
| 交换机需求 | 专用 AR ASIC | 通用(只需按 EV 转发) |
| 路径覆盖 | 动态选最优路径 | 均匀覆盖所有路径 |
AR 在交换机侧感知拥塞、选最优出口,Spraying 在端点侧主动分散、不感知拥塞。
REPS(Recycled Entropy Packet Spraying)
REPS(arxiv 2407.21625)是对基础 Packet Spraying 的增强:
- 当检测到链路故障时,回收故障链路对应的 EV 空间,将流量重定向到健康链路
- 故障检测和重路由时延 < 100 微秒,远快于传统路由收敛
乱序问题的处理
Packet Spraying 必然产生报文乱序。处理方案:
NIC 侧重排序缓冲:接收 NIC 为每条流维护接收窗口,缓存提前到达的报文,等待缺失的报文后按序交付。额外的内存占用与最大在途数据量成正比。
协议适配:
- NVIDIA ConnectX 的 RDMA Write Only 模式可部分适配 Spraying(无需严格有序投递)
- UEC 1.0 定义了专门的乱序处理机制,要求 NIC 具备相应重排序能力
适用条件
Packet Spraying 在以下条件下能发挥最大效益:
- 路径数量多:等价路径越多,均匀分散效果越好(典型场景:Fat-tree 中间层有大量等价路径)
- 流量模式均匀:AllReduce、AllToAll 等对称集合通信天然适合;不对称 P2P 效果较差
- 消息粒度大:每条消息的报文数足够多,才能充分利用多条路径
- 重排序能力:接收 NIC 必须具备足够的重排序缓冲
不适合 Packet Spraying 的场景:
- 路径只有 1-2 条(无意义)
- 对延迟极敏感且消息很小(乱序恢复引入额外延迟)
- 使用传统 RoCEv2 且 NIC 不支持重排序(数据损坏风险)
优点与缺点
优点:
- 链路利用率最高——所有等价路径均匀承载流量,彻底消除哈希极化
- 端点控制,无需网络侧硬件 AR 支持,降低交换机成本
- REPS 可在链路故障时 < 100 微秒完成重路由
缺点:
- 严重的报文乱序:需要 NIC 侧配备重排序缓冲,增加 NIC 复杂度和内存开销
- 需要新一代 NIC 支持 EV 字段写入和重排序
- UEC 硬件预计 2025 年底至 2026 年初出货,目前(2026 年初)仍处于早期部署阶段
适用场景与局限
适用场景:
- Ultra Ethernet 1.0 部署环境(EV 字段标准化)
- Fat-tree 拓扑,路径多样性丰富
- 对带宽利用率要求极高的大消息 AllReduce/AllToAll
- 代表部署:Cisco Nexus 9000(NX-OS 10.5+ 支持 per-packet spraying)
局限:
- 传统 RoCEv2 环境(无 UEC 支持)难以部署
- 在路径数量少的拓扑(如 Torus、Dragonfly 组内)收益有限
- 与 ECMP/AR 相比,产业生态和运维工具尚不成熟
参考资料
- Ultra Ethernet Consortium, UE 1.0 Specification(2025 年 6 月)- EV 字段 + PCM + CSIG
- REPS: Recycled Entropy Packet Spraying(arxiv 2407.21625)- 快速故障恢复
- RDMA over Ethernet for Distributed AI Training at Meta Scale(SIGCOMM 2024)- 接收端驱动流控对比方案