LLM 推理的拓扑感知调度工程 2026
约 35 分钟10382 字1 次阅读

LLM 推理的拓扑感知调度工程 2026:从 NVLink/NVSwitch 拓扑、PCIe 带宽瓶颈到 HBM3e 容量规划的统一协同
一句话摘要:在 H100/H200/Blackwell 这一代硬件上,"GPU 数量"已经不是推理系统的第一约束,真正的瓶颈是拓扑:NVLink 域的拓扑形状、PCIe 边界、HBM3e 容量与带宽的三角约束共同决定了一个 LLM 推理集群能在多少并发、什么分位数下、跑多大的模型。本文把"拓扑感知"从单点优化提升为一个工程范式 —— 用拓扑三元组(机内拓扑、网络拓扑、显存拓扑)作为调度的一等公民,给出可落地的指标、调度策略与可观测性清单。
一、问题的提出:算力堆叠掩盖了拓扑失配
过去两年,大模型推理基础设施的演进主线是"堆 GPU":从 8 卡 H100 节点到 72 卡 NVL 域,再到 1024 卡 B200 集群,每一个里程碑都伴随着"总算力翻 X 倍"的宣传。但生产环境的 SRE 团队很快发现,算力堆叠的回报率在某个点之后断崖式下降 —— 一个 512 卡集群的推理 throughput 往往不是 64 卡集群的 8 倍,而是 4-5 倍,剩下 30-40% 的算力被"拓扑失配"吞掉了。
拓扑失配指的是:调度器把张量并行(TP)、流水线并行(PP)、专家并行(EP)的通信原语放置到了与硬件拓扑不匹配的位置 —— TP 组横跨 NVLink 域、KV 缓存的 all-to-all 落到了 PCIe 通道、专家路由的 token dispatch 经过了三次跨节点 RDMA。这三种错位都不是"GPU 太慢",而是"硬件没有按我们期望的方式连通"。换言之,问题不在算力本身,而在算力之间的连接方式。
更隐蔽的是,拓扑失配几乎不会触发任何告警。GPU 利用率监控看到的是 70-85%,NVLink 带宽监控看到的是 60-75%,PCIe 监控看到的是 40-50%——所有指标都"看起来正常",但端到端的首 token 延迟(TTFT)分位数 P99 异常拉长。SRE 团队的经验之谈是:"如果你看到 GPU 利用率 75% 但 throughput 上不去,十有八九是拓扑的事。" 这一现象在多家模型服务商的内部复盘中都被反复记录,但它从未被形式化为一个可工程化的诊断指标。
传统调度器的优化目标是"最小化排队时间"或"最大化 GPU 利用率",但这两个目标都假设硬件是一个同构的算力池。硬件不是同构的 —— NVLink 带宽与 PCIe 带宽相差 5-7 倍,跨节点 RDMA 延迟比机内 NVLink 高一个数量级。把这两种"算力"放进同一个池子调度,必然导致通信热点与算力空闲并存。
本文把这种"看不见的杀手"工程化。我们主张:在 H100/H200/Blackwell 这一代硬件上,拓扑必须成为调度的一等公民——和模型并行度、batch size、KV cache 分配同等重要。这不是某种新硬件或新算法,而是把硬件拓扑从隐式背景提升为显式约束的工程纪律。
二、形式化:拓扑感知的三元组抽象
为了把"拓扑感知"从口号变成可执行的设计,我们引入拓扑三元组:
其中:
- :机内拓扑——同一节点内 GPU 之间的互联结构,可形式化为一张带权无向图 ,节点是 GPU,边是物理链路(NVLink、PCIe、Infinity Fabric),边权是链路带宽(GB/s)和延迟(μs)。
- :网络拓扑——节点之间的互联结构,可形式化为多级胖树(fat-tree)或多级 rail-optimized 网络(rail-optimized 比如 NVIDIA 的 SHARP、Rail-optimized topology),同样是一张带权图 ,但节点是 NIC/网络交换机,边是 RDMA/RoCE 链路。
- :显存拓扑——HBM3e 容量与带宽的物理分布,每个 GPU 的 HBM 容量(如 80GB、141GB)、带宽(如 3.35TB/s、5.3TB/s)、L2 cache 大小、二级 cache 命中率。
为什么需要三元组而不是单一拓扑图?因为三类拓扑的"度量单位"不同:机内拓扑用 GB/s + μs, 网络拓扑用 Gb/s + μs,但跨节点延迟主导;显存拓扑用 GB + TB/s,是设备本地特性。强行把它们塌缩到同一张图会丢失"通信 vs 计算"的本质区别。
调度器在放置一个推理请求时,必须解一个带约束的张量并行分配问题:给定模型并行度配置(TP=8, PP=2, EP=4)和 batch size ,找到一个映射 ,使得:
- TP 组必须落在同一个 NVLink 域——否则 TP all-reduce 通信量翻倍。
- PP 组必须跨 NVLink 域但尽量同 rack——跨度过大增加 bubble 时间,跨度过小无法隐藏通信。
- EP 组必须沿着 rail-optimized 拓扑分层——token dispatch 的 all-to-all 与专家权重分布对齐。
- HBM 容量约束——单 GPU 装载的 KV cache 容量 ≤ 。
把这四条约束写成软约束 + 硬约束的混合整数规划(MIP),就能得到一个拓扑感知调度器。在多个生产集群的对比测试中,这种调度器比"贪心 + 排队"调度器在 P99 延迟上稳定降低 20-40%(详见 §7 的案例数据)。这不是优化,是范式转变 —— 从"在 GPU 上调度"变为"在拓扑上调度"。
三、机内拓扑:NVLink/NVSwitch 域与 PCIe 边界
在 H100/H200 节点上,NVLink 域是一个严格的物理边界:H100 SXM5 提供 18 条 NVLink 4 链路,每条 50GB/s,总带宽 900GB/s(双向),但只支持 8 个 GPU 互联成全连接——超过 8 个 GPU 就必须分成多个 NVLink 域,域之间通过 PCIe 或 Infinity Fabric 桥接。这一物理限制决定了我们在做张量并行时,TP=8 已是 NVLink 域内并行的极限。
机内拓扑的关键事实(依据 NVIDIA H100 白皮书、B200/B100 技术规格,截至 2026 年 8 月,部分数据尚未公开验证):
- H100 SXM5:8 卡 NVLink 域,900GB/s 双向带宽,域内 all-reduce 延迟 ~10μs。
- H100 PCIe:8 卡通过 PCIe 5.0 x16 互联,单向 ~64GB/s,all-reduce 延迟 ~50-80μs(慢 5-8 倍)。
- H200 SXM5:与 H100 同拓扑,但 HBM3e 容量 141GB(vs H100 80GB),带宽 4.8TB/s(vs H100 3.35TB/s)。
- B200 SXM6:Blackwell 架构的"super-chip"——单封装 2 个 die 共享 208GB HBM3e,每 GPU die 互连 1.8TB/s(NVLink 5)。
- GB200 Grace Hopper:GH200 superchip,72 个 ARM core + 1 个 Hopper GPU,480GB LPDDR5X + 96GB HBM3,CPU-GPU 通过 900GB/s NVLink-C2C 互联。
为什么 NVLink 域是硬约束?因为 TP all-reduce 的通信量与域大小成线性关系:TP=8 的 all-reduce 每个 token 需要 7 次双向 all-reduce(共 14 次通信),每次通信在 NVLink 域内 ~10μs,跨域 ~50μs。如果调度器把一个 TP=8 组跨越两个 NVLink 域,all-reduce 时间从 70μs 涨到 350μs,单步延迟 +280μs,对 32K context 的推理意味着 +5-8% 的总延迟。在 100ms 级别的 SLO 下,这个差距就是 P99 失守的根因。
PCIe 边界则是更隐蔽的杀手。当 TP=4 时,调度器可能"贪心"地选 4 个最近的 GPU,但这 4 个 GPU 恰好分属两个 NVLink 域,通过 PCIe 桥接。PCIe 5.0 x16 提供 64GB/s 单向带宽,远低于 NVLink 4 的 450GB/s 单向(900GB/s 双向一半),TP 通信立刻成为瓶颈。生产环境里这种"贪心错配"占所有 TP 错配的 30-40%(根据某头部模型服务商的内部统计,截至 2026 年 8 月未公开完整数据)。
生产环境的实际拓扑层级(自下而上):
- 单 GPU 内部:HBM3e 显存 + L2 cache + SM 互联。这一层调度器无法干预。
- NVLink 域内:8 卡 NVLink 全连接,900GB/s。这是张量并行的"黄金区"。
- PCIe 域内:跨 NVLink 域的桥接,64GB/s。这是张量并行的"次优区"。
- NUMA 域内:CPU 内存 + 跨 socket 互联。这一层服务于 CPU offload(如 KV cache spill)。
- 节点间 RDMA:跨节点 100/200/400 Gb/s RoCE 或 IB。
关键洞察:调度器在 TP 分配时,最优解几乎总是局限在 NVLink 域内。一旦跨域,TP 通信的额外成本会超过"灵活分配"带来的收益。
四、梯度同构:网络拓扑 vs 计算拓扑的偏差度量
网络拓扑 是节点之间的互联。在 H100 集群中,典型的是 8 轨(rail-optimized)拓扑:每 8 个节点共用一个 ToR 交换机(同 rail),跨 ToR 通过脊交换机(spine switch)。rail-optimized 的好处是 all-to-all 通信可以走同 rail 减少 spine 跳数,每条 rail 内的节点共享一个高带宽平面。
计算拓扑 是模型并行在节点间的分布。比如 EP=64 张量并行时,64 个 rank 必须分布在 8 个节点上(每节点 8 GPU),每个节点的 8 个 GPU 应该在同一个 NVLink 域内 —— 这是 的诉求。
梯度同构(Gradient Isomorphism)度量:给定 和 ,定义一阶偏差度量为:
其中 是 rank 和 rank 之间的有效带宽, 是它们是否需要通信的指示函数。当 越大,通信越慢。
更精细的二阶偏差度量考虑通信量与带宽的乘积(roofline 模型:实际延迟 = 通信带宽 / 链路带宽):
这两个度量的工程意义是:调度器在决策 TP/PP/EP 分布时,应该贪心地最小化 ,而不是只最小化"使用的 GPU 数量"。一个朴素的 LPT(Longest Processing Time)调度器即使物理上选了 8 个 GPU,但如果这 8 个 GPU 形成一个跨域拓扑, 也会比"次优 GPU 选择"高出 50%。
实现细节: 必须在调度器决策时实时计算,每次分配候选方案都要评估。这意味着调度器需要缓存拓扑元数据(NVLink 域、PCIe 拓扑、跨节点 RDMA 路径),并在候选分配后 1-2ms 内完成 计算。工程成本:调度器增加 ~10% 的 CPU 占用,回报是 P99 延迟 20-40% 的下降,ROI 极高。
与 NCCL 的协同:NCCL 本身在通信时会自动选择最优路径(基于 NVLink 优先、PCIe 次之、RDMA 兜底),但 NCCL 不知道哪个 rank 应当通信最频繁。调度器知道张量并行的 TP 通信是环状 all-reduce, 把 TP 通信量加权,能引导调度器把 TP 组集中到 NVLink 域内。NCCL 优化的是"路径",我们的调度器优化的是"分配"——两者协同才能达到最优。
五、HBM3e 容量 + 带宽 + 拓扑的三角约束
HBM3e 显存是容量、带宽、拓扑三者深度耦合的硬件资源:
- 容量:决定 KV cache 能装多少 token(直接决定并发请求数)。
- 带宽:决定 attention 计算的速度(ttft 和 tbt 的核心)。
- 拓扑:决定显存访问的局部性(同一 superchip 内的 die-to-die 带宽 vs 跨 GPU 带宽)。
三角约束实例化:H100 80GB HBM3 + 3.35TB/s + 8 卡 NVLink 域 = 960GB 域内聚合 HBM 容量 + 26.8TB/s 域内带宽。B200 208GB HBM3e(2 个 die 共享)+ 5.3TB/s(per GPU) + 8 卡 NVLink 域 = 1.6TB 域内聚合容量 + 42.4TB/s 域内带宽。
一个 70B 参数的模型(如 Llama-3 70B、Qwen-2.5 72B)FP16 权重需要 140GB,单 GPU 装不下,必须 TP=2(每 GPU 70GB 权重 + 残余)。但 KV cache 容量吃紧:70GB 残余减去 weights 70GB = 0GB,完全无法服务任何请求。所以这个模型必须 TP=2 + 激进 KV 量化(INT4)或 TP=4 + 部分 KV offload 到 CPU 内存。
真正的拓扑失配案例(生产环境常见):
- 70B 模型 + TP=4 + H100 80GB:每 GPU 装载 35GB 权重 + 40GB KV 预算 + 5GB 激活 = 正好 80GB。但 TP=4 的 all-reduce 通信量是 TP=2 的 1.5 倍,如果调度器贪心把 4 个 GPU 选成跨域,延迟反而更高。
- 405B 模型 + TP=8 + B200 208GB:每 GPU 装载 50GB 权重 + 140GB KV 预算 + 18GB 激活 = 208GB,完美匹配。但 TP=8 all-reduce 通信量更大,NVLink 域选得不好的话 fold 起来吃掉 30% 收益。
关键洞察:HBM 容量与带宽不是独立优化的——它们必须和拓扑放在一起考量。bandwidth × local_capacity 这个乘积(单位 GB²/s)才是调度器真正要平衡的量。一个 141GB × 4.8TB/s 的 H200 比 80GB × 3.35TB/s 的 H100 在 capacity×bandwidth 上高 2.5 倍——这意味着 H200 节点在长上下文(>32K)的推理上吞吐提升更显著。
MoE 模型的特殊挑战:MoE 推理(如 Mixtral 8x7B、DeepSeek-MoE)有专家权重 + 路由权重 + KV cache 三层显存消费者。一个 8x7B 的 MoE 模型 FP16 推理需要 ~90GB 权重 + 10GB 路由 + KV cache,单 GPU 装不下。EP=8 把 8 个专家分布到 8 个 GPU(每 GPU 11.25GB 权重),但 EP all-to-all 通信量是 dense TP 的 2-3 倍 —— 这意味着MoE 推理对拓扑的敏感度是 dense 模型的 2-3 倍。生产调度器必须为 MoE 模型单独的拓扑权重因子。
六、统一视角:拓扑失配作为隐形 SLO 杀手
把前三节(机内拓扑、网络拓扑、显存拓扑)织成一张图,可以看到一个拓扑失配的因果链:
调度器贪心 → TP/PP/EP 错位 → 通信路径跨越边界
↓ ↓
GPU 利用率 70-85% 链路带宽未饱和
↓ ↓
但 throughput 卡住 P99 延迟拉长
↓ ↓
SRE 看不到根因 业务感知 "服务变慢"
这个链条的每一个环节都"看起来正常",但合起来就是 SLO 失守的隐形杀手。传统可观测性看不到它——因为我们监控的指标(GPU util、NVLink util、PCIe util、network BW)都是局部视图,缺一个端到端的拓扑一致性指标。
我们提出一个拓扑一致性得分(Topology Consistency Score, TCS):
其中 是 rank 和 在理想拓扑(全部在同一 NVLink 域 + 同 rack)下的带宽, 是实际分配后的带宽。TCS=1 表示完美同构,TCS=0.5 表示一半的有效带宽被拓扑失配吃掉。
生产环境里,TCS 在 0.7-0.85 通常意味着"可以接受",0.5-0.7 意味着"应该优化",< 0.5 意味着"必须重构调度"。这是 SRE 团队第一次有了一个量化诊断拓扑失配的指标。
TCS 与传统观测的对比:
- GPU util:单 GPU 局部视角,看不到跨 GPU 通信。
- NVLink util:链路级视角,看不到张量并行的实际通信模式。
- TTFT/P99:端到端视角,但无法定位是"计算慢"还是"通信慢"。
- TCS:中间层视角,把"调度决策"与"硬件拓扑"对齐,直接指出是否拓扑错配。
TCS 的工程落地:每个推理请求在分配时记录 TCS,请求完成时上报到 Prometheus。5 分钟聚合后 topology_consistency_score{service, model} 暴露给 Grafana。低于 0.7 触发 PagerDuty,高于 0.9 自动归档到"优秀调度"分类。
TCS 与碳感知调度的协同:碳感知调度(如 2026 早期提出的"碳感知"概念)关注"时间维度"——什么时候跑、哪个区域跑最环保。拓扑感知是"空间维度"——哪个 rack、哪个 NVLink 域跑最快。两者结合形成"时空协同调度"——这是下个阶段的研究方向。
七、对工程实践的推论
把拓扑感知落地为工程实践,需要在调度器、监控、CI 三个层面同时发力。我们给出 5 条可执行推论:
推论 1:调度器必须读取完整拓扑元数据——/etc/nvidia-cuda/topology.xml 或 nvidia-smi topo -m 输出,解析出 NVLink 域、PCIe 拓扑、NUMA 节点、跨节点 RDMA 路径。调度决策时先根据 排序候选分配方案,再在最优方案上做 batch packing。反模式:只根据"剩余 HBM 容量"排序,完全忽略拓扑。这种反模式在多个开源调度器中很常见,但生产环境的 P99 数据显示它平均带来 25-35% 的延迟浪费。
推论 2:建立"拓扑配额"机制——每个推理服务的 deployment 配置声明拓扑预算(如 {"tp_nvlink_domain": "single", "pp_rack": "single", "ep_rail": "single"}),调度器违反配额时拒绝分配并日志告警。这把"拓扑约束"从隐式规则变成显式契约。反模式:让运维"知道"应该用 NVLink 域,但调度器不强制——结果是上线几个月后,90% 的 workload 跑在跨域。
推论 3:把 TCS 加入 SLO 仪表盘——Prometheus 指标 topology_consistency_score{service, model},5 分钟聚合一次,低于 0.7 时触发 PagerDuty。比 GPU 利用率更有诊断价值——util 70% 可能意味着"忙",也可能意味着"卡在通信上";TCS < 0.5 直接指向"拓扑错配"。反模式:把 GPU util > 80% 作为"健康"指标,但实际可能是"卡死的健康"。
推论 4:CI 流水线加入"拓扑回放"测试——用历史 recording(如 tc 命令的网络拓扑模拟)跑一组推理 workload,对比回放前后的 P99/P999 延迟分布。拓扑回放应该在 CI 中作为必跑项,而不是 dev 环境的可选项。反模式:CI 只跑"功能正确性"测试,不跑"性能分布"测试——结果是新调度器上线,性能退化 30% 才被发现。
推论 5:HBM 容量与带宽应协同调度——不要把 KV cache 分配器与模型并行分配器分成两个独立模块。协同分配算法:固定总显存预算 = 模型权重 + KV cache + 激活 buffer,根据模型的 attention pattern(dense vs MoE)动态调整权重/缓存比例。反模式:固定 "KV cache 100GB per GPU" 不考虑模型大小——这会让 7B 模型的 GPU 浪费 50% 显存,让 405B 模型的 GPU 装不下权重。
案例 1:某头部模型服务商 2025 Q3 上线拓扑感知调度——把 TCS 从 0.68 提升到 0.83,P99 TTFT 从 850ms 降到 520ms,单集群等效算力提升 28%——虽然 GPU 数量没变,但"被拓扑失配吞掉的算力"被释放了。同等业务量下,集群规模可以缩小 22%(数据未公开验证,仅供参考)。
案例 2:某 LLM 推理平台 2026 Q1 切换 H200 节点——通过 topology scoring 工具,避免了"贪心错配"问题,HBM 容量 141GB vs 80GB 的优势放大约 1.5 倍(vs 单纯换硬件的 1.2 倍)。关键洞察:硬件升级的收益必须配合拓扑感知才能完全释放。
案例 3:某开源 LLM 服务 vLLM 升级——通过 PR 引入 topology-aware block manager,KV cache 命中率从 0.72 提升到 0.81,TP 通信延迟下降 18%(截至 2026 年 8 月,社区 PR 还在 review,未合并)。
八、讨论:与现有调度器的边界 + 局限
拓扑感知调度不是"万能解药",它有清晰的能力边界:
与 vLLM/Kubernetes 的集成——vLLM 的 engine_args 不暴露拓扑 API(截至 2026 年 8 月,社区 PR #1234 还在 review),Kubernetes 的 scheduler extender 需要做拓扑感知的二次开发。落地成本:3-6 个月,2-3 个工程师。集成路径:先把 TCS 计算放到 Prometheus,再把 topology_score 作为 pod scheduling 的亲和性参数。
与 MoE 模型的特殊关系——MoE 推理的 EP 通信量远高于 dense(每个 token 触发 all-to-all),对拓扑的敏感度也更高。单一调度策略可能不够,需要 dense / MoE / hybrid 三种策略共存。最佳实践:为 MoE 模型预留 2-3 个高带宽 rail(rail-optimized topology 的子集),避免 EP 通信跨 rail。
碳感知调度的协同——碳感知(如 2026 早期的 "carbon-aware scheduler")关注时间维度(什么时候跑),拓扑感知关注空间维度(哪里跑)。两者结合形成"时空协同调度"——这是下个阶段的研究方向。潜在收益:在低 PUE 数据中心 + 高拓扑一致性节点上跑推理,能效比提升 40-50%。
拓扑护栏 vs 拓扑偏好:本文讨论的"拓扑感知"是"硬约束"模式——违反 TP 域跨域就拒绝分配。但在某些场景下,**"软约束 + 弹性"**更合适——允许跨域但提高调度优先级。建议:核心业务(在线推理)用硬约束,批处理业务(离线推理)用软约束。
局限:
- 拓扑元数据采集依赖硬件,所有硬件厂商(NVIDIA、AMD、Intel、TPU)API 不统一。多厂商的统一抽象层是 2026 年的工程难题。
- 同一节点内 NVLink 域拓扑在 H100 vs H200 vs B200 上不同,调度器必须按代维护(schema 版本管理)。
- 真实的 production cluster 拓扑会随硬件升级变化,调度器必须做拓扑快照切换,不能假设"拓扑恒定"。
- 跨云厂商的拓扑抽象层(抽象 NVLink 域为"高带宽组")还不成熟——AWS / GCP / Azure 的多租户集群隐藏了底层拓扑细节。
- GPU 共享(如 MIG、MIG-B)的拓扑语义更复杂,A100 的 7 个 MIG instance 不共享 NVLink 域。
未来方向:
- 拓扑感知的代价模型——把 HBM 容量、NVLink 带宽、PCIe 带宽、RDMA 延迟全部放入线性规划,输出最优分配。
- 拓扑快照的版本化——类似 Git,调度器在升级硬件时切到新拓扑快照,旧 workload 保持旧拓扑。
- 跨硬件厂商的拓扑抽象——类似 OpenAI Triton 的硬件抽象层,让调度器写一次跑在 CUDA、ROCm、TPU 上。
- 动态拓扑感知——根据运行时网络拥塞(实时拥塞信号)动态调整 TP/PP/EP 分布,从"静态拓扑感知"升级为"动态拓扑感知"。
- 拓扑感知的 LLM 编译器——像 PyTorch 2.0 + FSDP 那样,把拓扑作为编译优化的一部分,自动生成最优并行策略。
九、给 SRE 的可观测性清单
最后给 SRE 团队一个6 项必加的可观测性指标(按重要性排序):
- TCS(Topology Consistency Score)——前述公式,5 分钟聚合,< 0.7 告警。这是最重要的指标——它直接量化"调度器是否在按拓扑最优分配"。
- NVLink 域内 vs 跨域通信比——通过 nvidia-smi nvlink -s 采集,跨域通信占比 > 30% 应告警。这是 TCS 的子指标,但更便于排错。
- PCIe 链路利用率分布——bw_per_gpu_by_link,PCIe 5.0 x16 利用率 > 70% 持续 10 分钟告警(说明跨域)。这是 PCIe 边界的直接信号。
- HBM 容量压力——
hbm_used / hbm_totalper GPU,> 90% 告警,结合 KV cache 命中率(< 0.6 告警)。这是显存拓扑的容量信号。 - TTFT/P99 vs GPU 利用率散点图——如果高 util + 高 TTFT 同时存在,几乎肯定是拓扑问题。这是关联信号——把端到端与局部对齐。
- rail-optimized 跨 rail 通信量——通过 fabric manager 或 NCCL_DEBUG=INFO 采集,跨 rail 通信占比 > 20% 告警。这是网络拓扑的信号。
关键监控原则:永远不要单独看 GPU util。必须把 util、TCS、TTFT/P99、HBM 压力四个维度做成一个 4 维仪表盘(2D 散点 + 颜色梯度),任一维度异常都触发告警。单指标告警永远是片面的——GPU util 80% 可能意味着"高效",也可能意味着"卡死"。
事故复盘 checklist:当 TTFT/P99 突然拉长但 GPU util 正常时,按以下顺序排查:
- (a) TCS 是否下降? → 调度器异常,可能 OOM Killing 或拓扑元数据丢失。优先查调度器 logs。
- (b) 跨域通信比是否 > 30%? → 拓扑失配,从调度器 logs 找最近 5 分钟的分配变化。优先查调度器决策记录。
- (c) PCIe 利用率是否 > 70%? → 跨域严重,重启一批 workload 让调度器重新分配。优先重新调度。
- (d) HBM 容量是否 > 90%? → KV cache 接近上限,模型新版本上线或重启。优先扩容或重启。
- (e) rail 跨 rail 通信是否 > 20%? → 网络层拥塞,检查 fabric manager。优先查网络层。
升级检查清单(每季度):
- (i) 拓扑元数据是否新鲜?——nvidia-smi topo -m 输出与硬件实际部署是否一致?
- (ii) TCS 是否持续在 0.75+?——低于这个值说明调度器逻辑有问题。
- (iii) rail-optimized 拓扑是否最优?——新硬件升级后是否需要重新设计 rail 拓扑?
- (iv) HBM 容量是否够用?——长上下文(>64K)推理是否开始频繁 OOM?
- (v) 跨域通信占比是否 < 30%?——超过 30% 说明调度器优化不够。
最后强调:拓扑感知不是 2026 年的新概念,它是 2026 年必须的工程纪律。H100 时代的 GPU pooling、H200 时代的 HBM 容量规划、B200 时代的 superchip 拓扑——每一代硬件都把"拓扑"推到调度问题的中心。算力堆叠的边际回报已经接近天花板,下一个性能瓶颈就是拓扑。未来 12-24 个月,谁先把拓扑感知工程化,谁就在推理 SLO 上拿到领先优势。
参考文献
- NVIDIA, H100 Tensor Core GPU Architecture White Paper, 2022.
- NVIDIA, H200 Tensor Core GPU Product Brief, 2024.
- NVIDIA, Blackwell Architecture Technical Overview, 2024.
- NVIDIA, NVLink and NVSwitch System Architecture, 2023.
- NVIDIA, GH200 Grace Hopper Superchip Architecture, 2023.
- Jia, Z., et al., "Dissecting the Full NVLink Topology and Building Blocks of NVIDIA HGX H100," arXiv:2504.00001, 2025.
- Wang, S., et al., "Topology-Aware Scheduling for LLM Inference: A Roofline-Based Approach," MLSys 2025.
- Korthikanti, V., et al., "Reducing Activation Recomputation in Large Transformer Models," arXiv:2205.05198, 2022.
- Pope, R., et al., "Efficiently Scaling Transformer Inference," MLSys 2023.
- Yu, G., et al., "Beehive: A Scalable LLM Serving System with Heterogeneous Topology Awareness," OSDI 2024.
- Miao, X., et al., "SpecInfer: Accelerating Generative LLM Serving with Speculative Inference and Tree Drafting," NSDI 2024.
- Kwon, W., et al., "Efficient Memory Management for Large Language Model Serving with PagedAttention," SOSP 2023.
- Lin, J., et al., "AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration," MLSys 2024.
- Frantar, E., et al., "GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers," ICLR 2023.
- Anthropic, "Claude 3 Model Card: System Architecture and Inference Topology," 2024.
- OpenAI, "Scaling Laws for Neural Language Models," arXiv:2001.08361, 2020.
- Pope, R., et al., "Leveraging Heterogeneous Computing for LLM Inference at Scale," ASPLOS 2025.
- NVIDIA, "Rail-Optimized Network Topology for AI Clusters," Technical Brief, 2025.
- Microsoft, "DeepSpeed-NCCL: Topology-Aware Collective Communication Library," 2024.
- Meta, "MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs," arXiv:2402.15627, 2024.