跳到主要内容

路由算法总览

在多路径互联网络中,同一对源-目标节点之间往往存在多条可用路径。路由算法决定报文应走哪条路径——这个选择直接影响链路利用率、拥塞分布和通信延迟。对于 AI 训练集群,AllReduce / AllToAll 等集合通信的流量模式高度规律,路由策略选择不当会导致链路热点、带宽浪费,进而成为训练吞吐的瓶颈。

名词定义

名词定义
路由算法(Routing Algorithm)在多路径网络中决定报文走哪条路径的策略,直接影响链路利用率、拥塞分布和通信延迟
流(Flow)具有相同五元组(源 IP、目标 IP、源端口、目标端口、协议)的一组报文序列
Flowlet同一条流中两个突发之间的静默间隔超过阈值时,被视为独立的转发单元,用于 flowlet 级负载均衡
ECMP(Equal-Cost Multi-Path)对具有相同代价的多条路径按流的五元组哈希分配流量,每条流绑定一条固定路径
DOR(Dimension-Order Routing)按固定维度顺序(X → Y → Z)转发报文的静态路由策略,天然无死锁,专为 Torus/Mesh 设计
自适应路由(Adaptive Routing)交换机在转发时观察出口队列深度,实时选择最空闲路径的动态路由策略
UGAL(Universal Globally Adaptive Load-balancing)在 Dragonfly 拓扑上对比最短路与 Valiant 路的代价,动态切换以均衡全局链路负载的路由算法
Valiant 路由先将报文随机中转到一个中间节点再转发到目标,以随机化流量分布换取全局均衡,代价是路径拉长
Packet Spraying每个报文独立随机选路(不绑定流),接收端重排序,带宽利用率最高但引入乱序开销
死锁(Deadlock)多组报文互相等待对方释放缓冲区而永久阻塞的状态;DOR 通过维度有序转发避免死锁

分类与核心概念

路由算法按决策时如何利用网络状态分为三类:

静态路由:转发决策在报文到达前已确定,不依赖运行时网络状态。

  • ECMP:按 5 元组哈希选路,流级别绑定,无状态,实现最简单
  • DOR:按固定维度顺序(X → Y → Z)转发,天然无死锁,专为 Torus/Mesh 设计

自适应路由:交换机在转发时观察出口队列深度,实时选择最空闲路径。

  • 自适应路由(AR):逐报文或逐 flowlet 感知本地拥塞并切换路径
  • UGAL:在 Dragonfly 全局链路上对比最短路与 Valiant 路的代价,动态切换

随机化路由:不依赖拥塞反馈,通过报文级随机散列天然打散流量。

  • Packet Spraying:每个报文独立随机选路,接收端重排序,带宽利用率最高

横向对比

算法决策粒度状态需求适配拓扑拥塞应对实现复杂度
ECMP流(flow)无状态Fat-tree、Clos无感知,依赖流量均匀分布低(通用 ASIC)
DOR报文无状态Torus、Mesh无感知,路径唯一低(维度感知转发)
自适应路由(AR)报文 / flowlet本地队列深度Fat-tree、InfiniBand实时规避拥塞出口中(专用 AR ASIC)
UGAL报文本地 + 全局链路队列Dragonfly切换 Valiant 路绕开热点全局链路中高(需读取全局链路状态)
Packet Spraying报文无状态Fat-tree统计均摊,无主动感知中(NIC 重排序缓冲)

文档导航

文档内容
01-ecmp.mdECMP 哈希选路原理、流量碰撞问题及 E-ECMP / WCMP 改进变体
02-自适应路由.md逐报文与逐 flowlet 自适应路由、队列感知决策流程及乱序处理
03-dor.mdDOR 维度顺序路由、死锁避免原理及在 Torus/Mesh 上的实现
04-ugal.mdUGAL 最短路与 Valiant 路动态切换策略及 Dragonfly 全局链路负载均衡
05-packet-spraying.mdPacket Spraying 报文级散列、Ultra Ethernet EV 字段机制及重排序代价
06-选型指南.md各策略性能矩阵与按拓扑类型的选型建议