多租户、配额与成本分摊
GPU 集群是昂贵的共享资源:一个 1000 卡集群年成本数千万级(采购折旧 + 电力 + 运维,见效率与成本卷)。多团队共享时,调度器(上一章)解决"怎么分配",配额与分摊解决"怎么算账"——谁用了多少、该付多少、怎么防止独占。这是组织问题,也是调度策略的输入。
配额:防止独占的三层设计
Section titled “配额:防止独占的三层设计”| 层 | 机制 | 解决 |
|---|---|---|
| 硬配额(guaranteed) | 团队保底资源,不可被抢 | 保底生产力 |
| 弹性上限(limit) | 超出配额的部分,可被高优抢占 | 突发与弹性的平衡 |
| 共享池 | 全体未分配的算力,按优先级竞争 | 碎片利用(见回填) |
Kueue/Slurm 的典型模型:每团队一个队列(配额 = guaranteed + limit),外加共享队列——**"配额内保底、超配额弹性、共享池竞争"**的三层设计。
一个团队的视角:
自己配额内(如 128 卡):保底,不可被抢配额外突发(如 +64 卡):可用,但可被其他团队的高优作业抢占共享池:所有人都可竞争,按优先级与回填分配成本分摊:怎么算账
Section titled “成本分摊:怎么算账”每卡时的单价(以 1000 卡 H100 集群、年总成本计):
| 成本项 | 年成本(约) |
|---|---|
| GPU 折旧(3 年摊销) | 3000 万($3000/卡/月 × 1000) |
| 网络/存储/CPU 附属 | 300–500 万 |
| 电力(15 MW 级,见功耗) | 1000 万+ |
| 机房与运维 | 200–500 万 |
| 合计 | ~4500 万美元/年 |
| 每 GPU 时单价 | ~$5/时 |
分摊的三种模型:
| 模型 | 做法 | 优缺点 |
|---|---|---|
| 按用量分摊(chargeback) | 每团队按实际 GPU 时付费 | 精确,但团队不敢用(利用率反而低) |
| 按配额分摊(showback) | 按配额固定分摊,用不用都付 | 稳定预算,鼓励"用了才配" |
| 混合 | 配额固定 + 超额按量 | 生产主流 |
关键洞察:按量分摊的副作用是"惜用"——团队为了省钱让卡闲着,集群利用率反而下降。配额制(showback)+ 利用率考核(团队的 MFU 与配额使用率,见 MFU)比纯按量分摊更能提升整体效率。
优先级与公平
Section titled “优先级与公平”配额解决"分多少",优先级解决"谁先":
- 跨团队优先级:生产作业 > 预发 > 实验;配额内不可抢(抢占只在跨级或超配额)
- 公平份额(fair-share):长期空转的团队临时提升优先级(Slurm fair-share 的思想)——按"历史使用 vs 配额"动态调整,防止单团队长期占满
- 配额的粒度:按团队还是按项目?按项目(训练任务)粒度更细,同一团队的不同项目之间也要排队
配额体系的运行靠监控支撑:
| 指标 | 用途 |
|---|---|
| 各团队配额使用率 | 配额是否合理(长期不满 → 缩配额) |
| 各团队 MFU | 算力使用质量(低 MFU = 浪费共享资源) |
| 队列等待时间 | 配置是否合理(长队 → 加配额或扩容) |
| 抢占次数 | 优先级设计的副作用 |
| 每训练的有效 token 成本 | 最终的业务指标:每 1B 训练 token 花了多少钱 |
"每 token 成本"是多租户管理的终点指标:它同时反映 MFU(效率)、利用率(调度)、与单价(成本)——团队与平台的共同语言。
- 配额三层:硬配额(保底不可抢)、弹性上限(可被抢)、共享池(按优先级竞争)。
- 每 GPU 时单价 ~$5/时(1000 卡 H100 集群);分摊三模型:按量、按配额、混合(主流)。
- 按量分摊的副作用是惜用;配额制 + 利用率考核比纯按量更能提升整体效率。
- fair-share 按"历史使用 vs 配额"动态调优先级,防独占。
- "每 token 成本"是终点指标:同时反映 MFU、利用率、单价,是团队与平台的共同语言。
- Gang Scheduling、抢占与回填 — 上一章:调度机制
- MFU 与利用率 — 使用质量指标
- 训练成本模型 — 成本的完整账
- 集群利用率 — 调度效率的量化