1. 课程导入与治理目标
GPU集群容量与成本治理,指的是在有限的GPU卡数、显存、互联带宽和机房电力约束下,通过调度、配额、碎片整理、优先级与计费等工程手段,让集群在满足业务SLA的前提下,尽可能多地承载有效计算任务,并让每一份算力投入都能对应到可解释的成本产出。它既不是单纯的"扩容采购",也不是单纯的"财务省钱",而是一套贯穿资源供给、任务调度、使用监控与成本归因的持续运营机制。
要理解这门课,先要看清GPU集群里最核心的矛盾:稀缺性与浪费并存。一方面,高端GPU(如A100/H800级别)单价高、交付周期长、机房功耗与散热上限刚性,供给增长远慢于AI训练与推理需求的增长;另一方面,实际生产中大量GPU处于"占着但没算"的状态——任务排队等待、显存申请过大、单卡跑小模型、训练中断后资源未释放、碎片化导致大任务无法装箱。于是出现一个典型现象:集群整体利用率看起来有60%,但真正产生有效吞吐的时间可能只有35%,其余被排队、初始化、checkpoint、通信等待和碎片空转吃掉。
由此引出治理的工程目标,可以归纳为四条:提利用率、降碎片、控单位成本、保SLA。这四者并非彼此独立,而是相互拉扯。例如为了提利用率把任务塞得过满,会拉长排队时间、增加抢占,反而伤害SLA;为了保SLA给每个任务预留冗余资源,又会推高碎片率与单位成本。治理的本质,是在这四者之间找到可量化、可运营的平衡点,而不是追求单一指标的极值。
四个关键指标及其口径
治理必须建立在统一口径的指标之上,否则团队之间会各说各话。以下四个指标是后续所有章节的分析基础。
| 指标 | 定义与计算口径 | 典型健康区间(示例) | 主要影响因素 |
|---|---|---|---|
| 利用率 | 有效计算时间 / 可用GPU卡时。有效计算指SM实际执行计算指令的时间,不含排队、初始化、通信等待与空转 | 训练集群 55%~75% | 调度策略、任务粒度、通信效率、checkpoint频率 |
| 碎片率 | 1 −(可被最大任务一次性装箱的卡数 / 空闲卡数)。反映空闲资源因拓扑或配额被切碎的程度 | < 15% | 任务卡数分布、NUMA/机架拓扑、配额切分方式 |
| 单位任务成本 | 任务总成本 / 有效产出。总成本含卡时费、电力、存储与网络分摊;有效产出可用样本数、token数或训练步数 | 按业务基线逐季下降 | 利用率、碎片率、任务效率、资源单价 |
| SLA达成率 | 在承诺时间内完成或达到目标进度的任务数 / 总任务数 | 核心业务 ≥ 95% | 排队时长、抢占策略、故障恢复速度、配额保障 |
需要强调:利用率高不等于成本低。若一个任务占满8卡却只跑出单卡的有效吞吐,利用率数字好看,单位任务成本反而更高。因此治理必须把"利用率"与"单位任务成本"成对观察,前者看资源是否在动,后者看动得是否值。
整体治理框架
把上述目标与指标落到工程上,可以形成一个从供给到归因的闭环框架。下图展示了这一框架的核心结构与数据流向:左侧是资源供给与配额层,中间是调度与装箱层,右侧是使用与成本归因层,底部是贯穿全链路的指标采集与反馈。
这个框架的关键在于"闭环":供给层的配额与拓扑决定了可分配的资源形态;调度层决定任务如何被装箱与抢占;成本层把运行记录转化为可归因的成本;而底部的指标采集把结果反馈回前三层,驱动配额调整、调度参数优化和成本策略迭代。缺少任何一环,治理都会退化为"看报表"或"拍脑袋扩容"。
一个可操作的起步动作
在正式展开后续章节前,建议先完成一次"基线盘点",即用统一口径把当前集群的真实状态量化出来。具体做法是:选定一个连续7天的观察窗口,从调度系统导出每个任务的申请卡数、实际占用卡时、排队时长、开始与结束时间、退出状态;从监控系统导出每张卡的SM利用率时间序列;从财务或资源系统导出该窗口的卡时单价与电力分摊系数。然后按下面的口径计算四个基线值:
利用率 = Σ(单卡SM有效计算秒数) / Σ(单卡可用秒数)
碎片率 = 1 − (可被最大任务一次性装箱的空闲卡数 / 空闲卡总数)
单位任务成本 = Σ(任务卡时 × 卡时单价 + 电力分摊) / Σ(任务有效产出)
SLA达成率 = 按时完成或达标任务数 / 总任务数
举例说明(以下为教学示例,非实测数据):某训练集群7天内可用卡时为 10000 卡时,SM有效计算合计 6200 卡时,则利用率为 62%;空闲卡时中,因拓扑与配额被切碎、无法满足最大任务(64卡)一次性装箱的卡时为 900,空闲总卡时为 3800,则碎片率约为 23.7%;若该窗口卡时单价为 20 元/卡时,电力分摊 8 万元,总有效产出为 5 万训练步,则单位任务成本约为 (10000×20 + 80000) / 50000 = 5.6 元/步;SLA达成率若为 91%,则说明排队或抢占已开始伤害核心业务。这四个数字放在一起,就能判断当前主要矛盾是"碎片太高"还是"利用率太低"还是"SLA被挤压",从而决定治理的优先方向。