同一集群,33 个百分点利用率提升:改变的是顺序

本文介绍了作者团队构建的一个约束感知 GPU 分配器,并通过七个基准场景与 FIFO 调度器进行了对比。在相同硬件和负载下,该分配器可将 GPU 利用率最高提升 33 个百分点(例如在训练密集型场景中从 53.6% 提升至 87.0%),优先级加权输出最多提升 105.1%(平均提升 52%)。这些提升不依赖硬件变更,仅改变了分配决策的顺序。

核心问题在于,现代 AI 集群中交织着两种形态截然不同的工作负载:训练(以及批推理、量化)需要连续、不中断的 GPU 块;实时推理则是弹性的,需求随着流量逐时变化。FIFO 调度器采用两项策略解决这一冲突:首先为实时推理保留其全天最大需求量的 GPU,导致非高峰时间大量 GPU 空闲且不可用;其次按到达顺序放置批处理作业,不考虑后续高优先级任务的形状需求。两种损失叠加,使得集群利用率在几个基准场景中仅徘徊在 51%-53% 左右。

作者的形式化方法将分配问题表述为一个组合优化问题,包含五项约束(每 GPU 每时间步至多一个作业、作业需求范围、连续块和 2 的幂次大小、实时作业的 GPU 切换上限、无抢占)和一个由两部分组成的目标函数:为批处理作业分配 GPU 获得优先级乘以时间衰减的奖励,未能满足实时需求则按短缺程度施加惩罚。实时惩罚权重是批处理分配权重的 5-10 倍,这一非对称性使得延迟保障内嵌于同一个优化中,无需独立扩缩容组件。

由于这是一个 NP 难组合问题,且调度器需在每次作业到达时重新运行,作者在热路径上使用了一个启发式解法。该启发式并非通用贪心算法,而是严格满足形式模型的结构约束,因此其产生的每个分配在构造上就是合法的。关键创新在于:分配器在放置任何作业之前先查看整个排队队列,从而能保留形状可用的空闲池,供后续作业使用;优先级决定谁对这些保留空间有第一索取权。而 FIFO 是逐作业提交的,没有这种全局视野。

该分配器在五个争用场景中的运行时间为 1-2 毫秒,在 64 GPU 30 作业的规模测试中为 15 毫秒。系统提供两种模式:快速模式仅运行分配器(热路径),完整模式以分配器输出为起点运行形式模型尝试改进(适合周期性审查)。

作者强调,提升利用率只是手段,优先级才是将利用率转化为价值的关键。他们在统一优先级测试中验证了这一点——将所有作业设为相同优先级后,分配器仍能将利用率从 76.8% 提升至 87.5%,价值提升 23.1%,表明全局跨视角规划本身就能带来收益。

文中还详细讨论了馈送调度器的预测模块。由于训练(细粒度区分 LoRA vs 完整微调、SFT/DPO/RLHF 等变体)、量化和实时推理的成本驱动因素本质不同,单一通用估计器并不可行。他们的训练预测器使用 22 个特征,量化预测器按参数量和算法进行细分,实时推理预测则基于每周需求曲线按时间步重建。

系统优化 24 小时的时间窗口,但仅提交当前时间步的计划,每 30-60 分钟重新运行一次。这种设计使得预测误差被重新优化吸收而非累加,同时避免了“视界末端效应”——优化器不会因为看不到未来而做出破坏后续时间步的决策。

最后作者将这项工作类比为航空业:航空公司不是通过计算一个最优计划来解决利用率问题,而是通过将操作纪律编码到事情发生的顺序中(如周转时序、维修窗口、机组排班),并让这种纪律产生复利。这里 33 个百分点的利用率提升和平均 52% 的价值提升,正来自将集群的物理约束编码到分配决策的顺序中。

Same Cluster, 33 Points More Utilization: What Changed Was the Order

查看原文