11 互联存储
11.1 三种距离
一台八卡机没有完整描述一套推理系统。八张卡怎样互联、网卡挂在哪个 PCIe 根下、跨节点走什么交换网络、权重从哪里装载,都决定卡与卡能否协同。卡数只说明资源数量,拓扑才说明数据如何移动。
数据移动至少拆三层。第一层是 GPU 内部:计算单元与显存之间的搬运并不免费,FlashAttention 通过分块减少显存往返,说明算力空闲有时是因为数据没有及时到达。核第二层是节点内:GPU 通过 NVLink/NVSwitch、xGMI 或 PCIe 相连,不同代际和形态的机内拓扑差异很大,不能把一种八卡设计外推到所有八卡服务器。第三层是节点间:跨主机流量走 RDMA、InfiniBand、RoCE 或普通 TCP,交换层级、拥塞、网卡放置和协议配置都影响最终表现。模型切分越频繁跨过更慢的一层,通信越可能吞掉并行带来的计算收益,这是第 18 章并行决策树的物理基础。
11.2 集合通信
集合通信解决多张卡按既定模式交换张量的问题:all-reduce 汇总并分发结果,all-gather 收集各分片,reduce-scatter 把归约结果分散回各设备。NCCL 和 RCCL 分别在两家的卡上提供这些能力,并根据可见拓扑选择路径。核但它们不回答模型该怎样切:错误的进程放置、跨 NUMA 访问或拥塞的交换网络,不会因为通信库装好了就消失。支持 RDMA 也不是验收结论,还要验证实际的卡与网卡配对、消息大小、带宽和错误恢复。
集合通信有同步放大效应:一次 all-reduce 要等最慢的参与者。八张卡里一张因热降频或 PCIe 重试变慢,其他七张即使健康也在等待,应用层看到的是整次迭代变慢,而不是一张卡的局部小故障。所以验收至少同时看 P50 和 P99 的通信时延、链路错误计数和每进程时序,平均吞吐不够;而且要画消息大小对带宽和延迟的曲线,分别测单链路、并发链路和全部卡,只有全局平均值会把一条降速链路藏起来。
11.3 四类流量
一套在线推理集群至少存在四类流量:用户请求与流式响应,关注低延迟和连接稳定;模型并行或 PD 分离产生的集合通信与 KV 传输,关注高带宽和尾部抖动;权重、镜像和日志的存储流量,可能在扩容或发布时突然爆发;管理、监控与带外控制流量,必须在业务网络故障时仍能工作。参考架构把计算、存储、带内管理和带外管理拆到不同网络,可迁移的是隔离原则,不是具体的规模与设备清单。核
四类流量不隔离,反馈会很危险:流量高峰触发扩容,多个副本同时拉取权重占满共享网络,正在服务的实例因通信抖动变慢,队列继续增长,控制面看到负载更高又发起更多扩容。一个原本可控的容量缺口,就这样变成网络拥塞放大的级联事件。
11.4 存储路径
存储在推理系统里解决三类问题:保存权重和版本,支撑冷启动与滚动发布,保留日志、指标和审计数据。容量只是第一项,模型仓库更要回答:权重从哪来,首次拉取多快,多少副本能同时拉取,有没有本地缓存,失败后怎样校验一致性。存储直连 GPU 的技术只在文件系统、驱动和访问形态匹配时有价值;瓶颈若在对象存储限流、元数据或网络,再快的直连也消除不了等待。核
11.5 发布风暴
把上面的要素连起来看一次典型事故。流量上升,控制面决定扩十个副本;十个节点同时从同一模型仓库拉取数百 GB 权重,共享存储吞吐下降,装载时间拉长;旧副本继续承受全部流量,队列上升,客户端重试又加重入口。最初的瓶颈是服务容量,随后转移为存储与网络,最后通过重试回到服务容量。应对这类事故,需要把发布当成受控工作负载,而非只提高某条链路的峰值:分批扩容、节点本地缓存、权重预置、拉取限速、预热完成后再接流量,共享存储异常时停止继续放大。
11.6 拓扑验收
设备管理界面显示八张卡,不证明八张卡之间的路径健康。一套可交接的互联与存储基线至少包含五组材料。
- 物理与逻辑拓扑,以及卡、网卡与 NUMA 的映射
- 通信库版本,以及各消息大小下的性能曲线
- 错误与重传基线
- 存储冷热缓存曲线与并发装载曲线
- 流量隔离策略与故障降级路径
每个数字都要对应设备、端口、时间和工具版本。采购清单证明设备存在,链路实测才证明数据路径可用。变更也必须重跑基线:驱动、通信库、固件、交换机配置、容器绑定的变化,都可能只影响特定消息大小或特定节点,升级后服务还能响应不是充分验证。保留一份黄金拓扑与当前拓扑的差异记录,发现性能退化时先确认硬件链路与进程放置是否改变,再去追算子。许多所谓模型变慢,其实发生在模型之外。
修订记录
| 日期 | 改了什么 | 为什么 | 谁 |
|---|---|---|---|
| 2026-08-04 | 按章导入,正文与插图保持原样 | 原稿结构清晰,重写反而损失信息 | 工程 |