集群利用率
MFU 度量"一次训练的算力效率",集群利用率度量"集群的时间被用了多少"——两者相乘才是集群的产出。一个 MFU 50% 但利用率 50% 的集群,有效算力只有 25%——一半的采购成本在空转。本章把利用率讲透:构成、度量、与提升路径。
有效算力的乘法链
Section titled “有效算力的乘法链”集群的真实产出是一串乘法:
每一项都有独立的提升空间与责任人:
| 因子 | 含义 | 责任层 | 典型值 |
|---|---|---|---|
| 分配率(利用率) | 集群时间被作业占用的比例 | 调度(gang+backfill) | 50–85% |
| MFU | 占用时间里的算力效率 | 训练工程 | 40–60% |
| 可靠性因子 | 扣除故障恢复与丢失进度 | 容错 | 0.9–0.98 |
算一笔账(1000 卡 H100,年成本 ~4500 万美元级):
| 配置 | 有效算力 | 等效免费算力 |
|---|---|---|
| 利用率 50% × MFU 40% × 可靠 0.95 | 19% | — |
| 利用率 85% × MFU 55% × 可靠 0.97 | 45% | +2.4 倍 |
从 19% 到 45% 的有效算力 = 免费 2.4 倍的集群——调度与工程优化的绝对收益超过任何单点技术优化。
利用率的度量
Section titled “利用率的度量”分母是"集群总 GPU 时"(标称容量 × 时间),分子是"被作业有效占用的 GPU 时":
三个口径的陷阱:
- 占用 ≠ 有效:作业占着卡但没跑(调试、挂起、数据没准备好)——"占用率"高但空转,要看作业内的 util(见 MFU 的 util vs MFU)
- 抢占与切换的开销:作业切换(启动、检查点恢复、资源重分配)的真实开销
- 维护窗口:驱动升级、硬件维护的必要停机——分母要不要扣掉维护时间,两个口径都要看
低利用率的三大来源
Section titled “低利用率的三大来源”| 来源 | 特征 | 解法 |
|---|---|---|
| 调度碎片 | 作业大小与集群不匹配,碎片空转 | backfill(见gang+backfill)、作业粒度多样化 |
| 排队与死锁 | gang 作业等待,逐 Pod 死锁 | gang 调度(必选)、配额设计 |
| 低效占用 | 作业占着不跑(调试、闲置、长尾) | 配额(见多租户)、超时回收、闲置检测 |
碎片化是结构性问题:作业粒度(节点数的倍数)与集群规模的匹配决定碎片的多少——作业粒度多样化(允许 8/16/64 卡)+ backfill 是碎片的标准解法。
| 指标 | 用途 |
|---|---|
| 集群利用率(占用/总量) | 总效率 |
| 碎片率(空闲但可用的资源比例) | 调度质量 |
| 队列长度与等待时间 | 供需平衡 |
| 各团队配额使用率 | 公平性(见多租户) |
| 作业内 util 的分布 | 空转检测 |
| 故障率与 MTTR | 可靠性因子 |
"碎片率"是调度质量的核心指标:碎片多 = 作业粒度或调度策略有问题。
提升路径(按收益排序)
Section titled “提升路径(按收益排序)”- gang + backfill(从 50% 到 80%+ 的关键,见gang+backfill)
- 配额三层设计(硬配额 + 弹性 + 共享池,见多租户)
- 作业粒度多样化(允许不同大小的作业填碎片)
- 闲置回收(占着不跑的作业自动释放)
- 维护窗口优化(集中维护、滚动升级)
- 有效算力 = 标称 × 分配率 × MFU × 可靠性因子——利用率与 MFU 是两个独立因子,相乘决定产出。
- 利用率 50% × MFU 40% 的集群有效算力只有 19%;优化到 85% × 55% = 45%,等于免费 2.4 倍。
- 占用 ≠ 有效:作业占着卡不跑(调试/挂起)是"高占用低产出"的隐形浪费。
- 低利用率三来源:调度碎片、排队死锁、低效占用;解法分别是 backfill、gang、配额与回收。
- 碎片率是调度质量的核心指标;gang + backfill + 配额 + 作业粒度多样化是提升路径。
- MFU 与利用率 — 上一章:训练效率
- Gang Scheduling、抢占与回填 — 调度机制
- 多租户、配额与成本分摊 — 组织侧的效率
- 训练成本模型 — 下一章:换算成钱