网络与光互联/技术文章

拥塞反馈与多路径的端点控制环

把窗口、速率、接收压力与路径资格放进同一条数据包反馈链

11 分钟阅读·拥塞控制 / 多路径 / 端点反馈

综合 Falcon 的 Swift/RUE/PLB 与 MRC 的 NSCC/EV 状态,说明网络排队和目标资源如何被分别测量,及 ECMP、Structured EV、SRv6 的路径控制代价。

正文

多路径能够把一次通信分散到更多链路,拥塞控制决定这些链路上允许保留多少未完成工作。两者共享 ACK、时延、ECN 和路径标识,却调节不同变量:窗口或速率控制总注入量,路径选择改变注入位置,接收端反馈限制目标资源的消耗速度。Falcon 与 MRC 都将这些机制放进端点,具体组织方式反映了各自对路径状态、可编程性和接收资源的选择。S039 pp. 15–17, 82–85 S040 pp. 54–63

先定位排队,再决定调整哪个窗口#

一次 ACK 变慢可能来自交换机排队、目标 NIC 堵塞,也可能来自 ACK 合并。Falcon 用四个时间戳拆分这些部分:T1 为请求接近线速发送的位置,T2 为远端包交付层接收位置,T3 为 ACK 接近线速发送的位置,T4 为本端接收 ACK 的位置。由此计算总 RTT 和扣掉远端驻留时间后的 fabric delay:S039 pp. 83–84

RTT=T4−T1,Dfabric=(T4−T1)−(T3−T2)RTT=T_4-T_1,\qquad D_{fabric}=(T_4-T_1)-(T_3-T_2)

远端合并 ACK 时带上最近一个收到包的 T1、T2,使减去的 T3−T2 与对应样本匹配。若两端时钟已经同步,还能使用 T2−T1 和 T4−T3 观察正反向单程延迟。实现精度依赖时间戳靠近线路、时间戳点到线路之间没有显著排队等条件;包中的相关时间戳字段以 131.072ns 为单位。S039 pp. 38, 83–85

Falcon 把控制拆为 fcwnd 与 ncwnd。fcwnd 根据网络时延限制可靠包在 Fabric 中的数量,ncwnd 根据远端 NIC 的接收资源压力限制新事务请求。目标端分别统计接收 packet pool 和 buffer pool 的 EMA 占用,将其量化后取压力较高者反馈。Pull Request 与 Push Data 同时受 fabric 和 NIC 两道门控;返回的 Pull Data 只受 fabric 窗口约束。请求和响应采用不同门控,给完成已有事务所需的返回数据留下进展空间。S039 pp. 65–68, 85–88

这也解释了 receiver-driven feedback、credit 与 cwnd 的具体分工。Falcon 的 ULP credit 限制本地事务资源使用,ncwnd 调节远端新请求压力,fcwnd 控制网络在途包;链路上的 PFC/CBFC 则在另一层保护接收缓冲。跨层分析时,把每个计数器对应到资源持有人,才能确定背压最终停在哪里。S039 pp. 48–53, 65–68 S043 pp. 12–15

窗口、速率和反馈频率共同形成控制环#

Swift 对低于目标时延的连接增加 fcwnd,超过目标时延后按超出程度乘性减少,并以 RTT 时间标记限制连续减窗。目标时延含基础项、按窗口规模变化的项和按正向跳数变化的项。ncwnd 通过接收占用反馈独立增减。fcwnd 大于等于 1 时,硬件限制整数部分对应的在途包;小于 1 时保留一个在途包,并用 Timing Wheel 插入发包间隔,表示低于每 RTT 一包的平均发送率。S039 pp. 85–90

这类控制需要明确计算与执行的时序。Falcon 将测量和限速留在近线硬件,将算法放在独立的 Rate Update Engine。数据通路通过事件队列提交 ACK、NACK、重传及相关状态,RUE 回传窗口、包间隔、RTO、路径标签与权重。RUE 可以用硬件实现,也可以运行在 NIC 内嵌处理器;算法迭代由这组接口承接。S039 pp. 82, 96–103

ACK 频率和 RUE 计算负载同样参与反馈延迟。小窗口连接需要更密集的 ACK,带宽较大的连接可以降低 ACK 密度;ar_rate 用指数 N 表示每 2^N 个包请求一次显式 ACK,端点另有全局 ACK 限速。RUE 事件策略还要考虑上次事件距今时间,以及其后累计确认的字节或包数,避免大量小操作占满算法处理能力。设计一个更快的减窗公式,只有与及时的采样、入队和执行相配合才有实际效果。S039 pp. 17–18, 96–103

交换机也可以提供比二值 ECN 更丰富的观测。Falcon 1.1 支持紧凑的 4B CSIG L2 tag,由交换机按线速比较和替换操作记录瓶颈拥塞信息,接收端再通过 ACK/NACK 将其反射到发送端。多路径时,最新 CSIG 状态按路径保存,RUE 选择请求的信号类型并处理返回数据,使交换机信号生成和端点控制算法能够分别演进。S039 pp. 16–17, 101–103

这条反馈路径增加了一项部署条件:端点协商 CSIG 能力之后,还要确认包路径上的交换机能够端到端识别 CSIG。Falcon 的连接协商负责两端能力,Fabric 的支持由网络配置保证。因此,路径切换和维护改变经过的设备集合时,也需要重新核对信号可用性,保持控制环输入的含义一致。S039 p. 17

MRC 用 SACK 时钟联动网络与接收端#

MRC 采用发送侧、窗口型、SACK 驱动的 NSCC。RTT 是排队的滞后信号,ECN 是拥塞的前导信号:ECN 未置位且请求 RTT 低于目标时进行比例增加;ECN 未置位而 RTT 偏高时采用公平增加;ECN 置位且 RTT 偏高时乘性减少;ECN 已置位而该包 RTT 仍低时保持窗口。规格还允许采用 trim 通知、已实现 goodput 和 receiver window penalty 等附加信号。S040 p. 54

MRC 的在途量按字节计数。发送端采用 UDP length 加固定 40B nominal header 的名义包长递增 inflight,接收端以同一口径统计已收字节,并按 256B 单位累计回传。累计计数让丢失或合并 SACK 后的下一次反馈仍能推进 ACK 时钟;比较和差值需要处理模回卷,忽略乱序返回的陈旧计数。S040 pp. 57–59

接收端压力通过 7 位 rcv_cwnd_pen 反馈,值域为 0–127。0 表示不施加惩罚,64 持续一个 RTT 可将各发送端窗口减半,127 将发送压到每 RTT 一包的最小窗口;restore_cwnd 决定压力结束后是否恢复原窗口。MPR 则约束接收端能够跟踪的 PSN 跨度,动态 MPR 缩小时,即使网络窗口仍有空间,也要等待相关包重新进入允许范围。两个机制分别保护处理速率和包跟踪资源。S040 pp. 37–43

发送调度由 QPCC 与 QP 状态机衔接。QP 有数据但窗口尚不允许发送时处于 ACTIVE,可发送时进入 READY;数据已发完但仍等确认时处于 PENDING,全部结束后进入 IDLE。调度器只从 READY 选择。最终发包前再调用 GetSendParams 获取 EV 与端口,因为排队期间到达的 SACK/NACK 仍可能改变最佳路径。S040 pp. 55–59

逻辑路径标识要能对应到反馈#

Falcon 的多路径连接最多组织四条逻辑路径,每条用一个 20 位 Flow Label,低 2 位固定为 path-id。RUE 为各路径计算 fcwnd,再汇总成连接级窗口,并以每路 4 位权重驱动硬件 WRR。接收端为各路径保留时间戳、跳数、拥塞元数据和 ACK 合并状态;EACK 的确认位图则覆盖整个连接上从所有路径收到的包。这让确认前缀可以共同前进,同时保留控制环需要的逐路径归因。S039 pp. 63, 66, 69, 89, 103

逻辑 path-id 与实际网络路径之间还留有重新选择空间。重传保持原包的 PSN 与 path-id,Flow Label 其余位可以变化。早期重传按同一 path-id 比较乱序距离,降低正常跨路径时延差造成的误判。PLB 则统计一段 RTT 内拥塞 ACK 的比例,并在连续多个 RTT 达到条件后重新选择标签,处理持续热点。并发使用多条路径与为持续拥塞路径重新寻路,由这两组状态分别完成。S039 pp. 16, 69–71, 91–93

MRC 的 EV Profile 可以容纳更一般的路径候选集合。GOOD 属于可用集合,SKIP 表示近期拥塞后的暂时跳过,ASSUMED_BAD 表示检测到不可达,DENIED 由管理面禁用。SACK 反射请求 EV 和拥塞标记,普通 TRIM NACK 也可触发 SKIP;探测和超时帮助识别坏路径并判断何时恢复。S040 pp. 61–64

原图中,先看 GOOD 到 SKIP 的拥塞反馈,再看 GOOD 到 ASSUMED_BAD 的失效判断;左侧 DENY 的管理动作与底部、顶部自动恢复路径分别由不同主体驱动。这种区分决定维护时临时下线路径会不会被自动探测提前重新启用。

MRC EV 在可用、拥塞跳过、假定故障与管理禁用之间的状态变化

原图:S040,物理第 62 页,Figure 5;图内 DENY 对应表格中的 DENIED 状态。

编码方式决定可控性和运维代价#

路径表达方式 端点表达的信息 Fabric 配合 状态解释
ECMP 的 EV 供交换机哈希的熵值 ECMP 与 ECN 配置 EV 对应稳定哈希选择,具体路径取决于网络
Structured EV 按跳分割的选择子域 交换机按配置解析子域并选出口 端点与全网共享位宽、范围和跳数含义
SRv6 uSID 路径上的微段序列 SRv6 转发及匹配的封装处理 端点显式构造路径,可附单个 SRH
Falcon 多路径标签 逻辑 path-id 与标签其余部分 可据标签进行多路径转发 四个控制上下文内分别测量、调权和换路

依据:S040 pp. 60–68 S039 pp. 66, 69–71。

Structured EV 在 IPv6 下由 Flow Label 的低 16 位与 UDP source port 的 16 位组成 32 位字段,按预配置拆成不同网络阶段使用的子域。它把寻路控制向端点推进,也把端点配置与交换机解析契约绑定起来。SRv6 进一步用 uSID 描述路径,NIC 要处理封装与解封装,并兼容外层 SRv6 保留或已经被移除的接收形态。S040 pp. 60–68

候选 EV 数量也受反馈时效限制。MRC 的实现指导建议活跃集合大致在一到两个拥塞窗口的包数范围,集合超过约 100 后收益快速减小。其原因是集合越大,同一路径越久才得到再次采样,发送端越难及时确认拥塞是否消退。这是用于配置和实验的指导值,实际集合应与负载窗口、链路数量和故障分布共同选择。S040 p. 73

用一条 incast 路径检查控制环是否闭合#

设多个发送端同时写向一个接收端。交换机开始标记 ECN,MRC 将相应 EV 暂时跳过并调整发送窗口;若目标处理速率仍跟不上,接收端提高 window penalty;若位图资源不足,MPR 或相应资源 NACK 限制在途跨度。Falcon 中,同类压力分别体现为逐路径 fabric delay 与远端 buffer occupancy,再由 fcwnd、ncwnd 及 ULP 动态背压阈值作用于不同入口。S040 pp. 37–43, 54–63 S039 pp. 52–53, 65–68, 83–89

这个工程推演给出三项联动观察:网络队列下降后,目标 NIC 的资源是否继续积压;窗口恢复后,发送端是否仍困在旧 EV 状态;数据量下降时,ACK 或探测是否还足以驱动恢复。只记录总吞吐会掩盖其中任一处滞留。可靠传输解释了这些资源的确认与释放边界,Fabric 运维进一步把窗口、路径和队列信号连接到故障处置;Scale-up Ethernet说明单跳信用流控方案为何采用另一组状态成本。

本文引用 3 份原始资料S039Falcon Networking Transport Specification ↗S040Multipath Reliable Connection(MRC)Specification ↗S043ocp-esun-network-operator-requirements-base-specification-rev-1-0-final ↗

延伸阅读

Scale-up Ethernet 的事务、打包与链路契约↗从链路恢复到作业进展的 Fabric 运维↗

输入关键词,查找全部技术文章。

全文搜索 · 在浏览器本地运行↑ ↓ 选择 ↵ 打开
阅读导航
技术路径总览 ↗

01总体架构

  1. AI Factory 的系统架构与跨域约束
  2. AI Factory 的系统分层与运行闭环
  3. 从 Pod 组到开放集群的端口扩展
  4. 拓扑放置与端到端性能建模
  5. 面向 3–5 年的技术布局与验证资产

02计算与状态

  1. 低精度计算的表示、缩放与数据路径
  2. 并行策略塑造通信关键路径
  3. 推理解耦与 KV 数据路径
  4. Agent 状态与因果恢复
  5. 存储层级与分布式数据服务
  6. 芯粒系统语义与封装内传输分层
  7. 高带宽闪存的主机与媒体协同
  8. 量子处理器的经典闭环与设施集成

03网络与光互联

  1. 训练 Fabric 的流量控制与运行闭环
  2. AI 传输中的包序、事务序与完成边界
  3. 拥塞反馈与多路径的端点控制环
  4. Scale-up Ethernet 的事务、打包与链路契约
  5. 光电链路的距离、功耗与维修边界
  6. 光电路交换的拓扑与时间匹配
  7. 硅光平台的封装、制造与开放集成
  8. 从链路恢复到作业进展的 Fabric 运维

04液冷与热管理

  1. 从结温到热汇:AI 冷却的热边界与设计包络
  2. 液体回路的热量、压头与动态平衡
  3. 冷却液与接液材料的共同设计
  4. 液体连接器的尺度、自由度与服务接口
  5. 冷却资格验证:从材料试片到动态系统验收
  6. 液冷系统的清洁、充排液与长期维护

05供电与能源

  1. 从中压到芯片:AI 工厂电源架构的分层重构
  2. 高压直流变换:SST、LLC DCX 与板级供电的协同
  3. 机架电源系统:从 72 kW AC 到 100 kW HVDC 的接口链
  4. AI 负载的电力动态:阶跃、储能与母线阻抗
  5. 备用与储能:从脉冲缓冲到清洁能源的连续供电
  6. 高功率直流的安全闭环:故障能量、选择性与运行状态

06平台集成与管理

  1. 机架集成与开放接口
  2. 硬件管理与接口收敛
  3. 平台数据与密钥安全
  4. 可靠性服务与故障闭环
  5. 时间同步与跨域测量
  6. 光互连的远端消息与故障闭环
  7. 园区漫游组播的成员迁移与同步呈现

07设施与运行优化

  1. 数字孪生:系统模型、联合仿真与运行闭环
  2. 设施接口与系统交付
  3. 能源水碳与材料联合评价