Ai2引入GPU时间预算制,调试任务等待降至30秒

Ai2引入GPU时间预算制,调试等待降至30秒。新系统取代优先级调度,解决占位与通胀问题。通过层级公平分享动态分配数千块H100等算力,消除免费高优先级选项,提升资源利用率。

背景:GPU 计算指标的金字塔模型

Ai2(Allen Institute for AI)的人工智能基础设施团队负责管理研究所的 GPU 算力,主要服务于大型分布式训练任务。该团队将资源调度视为一个由四个相互依赖指标构成的金字塔结构:

调试任务等待降至30秒
  • 可用性:基础层,指硬件健康且随时可投入工作的频率。
  • 占用量:第二层,指分配给特定工作负载的可用时间比例。
  • 影响力:第三层,指高价值工作负载获得资源的频率。
  • 利用率:顶层,指 GPU 容量在工作负载生命周期内的实际使用部分。

近期,Ai2 引入了一套包含 GPU 时间预算、层级公平分配和时间分割合同的新系统,取代了原有的基于优先级的调度器。这一变革旨在解决“过度承诺”导致的资源浪费和调度低效问题。

旧系统的困境:过度承诺与公地悲剧

Ai2 管理着数千块 NVIDIA H100、B200 和 B300 GPU,服务约 150 名内部研究人员,涵盖 LLM/VLM 训练、机器人强化学习模拟及科学用例后训练等领域。由于需求远超供应,任意时刻待处理的工作负载数量通常是可用 GPU 数量的 2-3 倍。

此前采用的优先级调度机制允许工作负载选择退出可抢占性,并设定并发 GPU 限制。这种策略导致了严重的副作用:

  1. 占位行为(Squatting):用户保留无操作但可连接的工作负载以锁定资源,因为调试任务启动延迟过高。
  2. 优先级通胀:最终 100% 的计划工作负载均标记为 HIGH 优先级,导致低优先级任务完全无法获取 GPU 时间。
  3. 运维负担:值班工程师需花费大量时间协调非可抢占工作负载在维护期间的关闭。

这种现象符合“公地悲剧”特征:用户倾向于隐藏真实需求或保留资源,损害整体效率。尽管 Ai2 曾尝试通过私有化共享资源(分配固定 GPU 集)来解决此问题,但由于研究需求的季节性波动,静态分配导致部分时段 GPU 闲置,而其他团队却排队等待。

新方案:预算制与层级公平分享

为了兼顾所有权激励与高占用率,Ai2 转向了 GPU 时间预算分配模式。管理层像投资者一样,根据潜在影响预先决定各研究项目的 GPU 资助额度,而非事后被动响应需求。

所有 GPU 请求必须由预算资助,否则不享有抢占保护。这消除了“免费”的高优先级选项,迫使团队通过诚实的预算辩论来获取资源。

底层调度算法采用层级公平分享(Hierarchical Fair Share)技术,类似 Hadoop Fair Scheduler 或 SLURM Fair Tree,但权重由动态预算而非静态配额决定。调度器通过默认 7 天的回顾窗口追踪占用情况,从超支账户向未用尽分配的账户重新平衡负载。

该系统区分两种占用状态:

  • 分配占用:计入预算,受最小运行时间窗口保护。
  • 无分配占用:不计入预算,无保护,可随时被抢占。这确保了即使分配与需求不完全匹配,GPU 也能保持满负荷运转。

据反馈,新调度器使团队感觉额外获得了 30% 的计算能力,因为以往因并发限制而浪费的空闲周期现在可以被其他团队利用。

时间分割合同与工作负载生命周期

针对长时间运行的分布式训练任务可能长期霸占资源的问题,Ai2 引入了“调度合同”。工作负载必须声明最小运行时间(实现有意义进展所需的最短占用时长)。在此期间,工作负载受到保护;之后,调度器有权自动重新排列可恢复的工作负载。

若用户将最小运行时间设为零,则视为不分配预算,此类工作负载始终可被抢占且不消耗预算。工作负载的生命周期如下:

  1. 提交时声明最小运行时间及是否可恢复。
  2. 按公平分配算法排序,依据回顾窗口内的实际占用率与分配时间的比重加权。
  3. 运行至最小运行时间,该时长由其分配计算得出。
  4. 只要分配继续优先考虑该负载,即可继续运行,耗时计入分配。
  5. 可能被更高优先级需求抢占,回归步骤 2。
  6. 完成并释放资源要求。

这一机制不仅阻止了占位行为,还实现了自动化维护:当不健康主机上的工作负载达到最小运行时间后,会被自动耗尽以便进行维修。数据显示,人工介入维修的需求减少了 74%。

模拟验证与实施结果

在正式推出前,Ai2 构建了小型模拟环境,输入历史工作负载及其提交时间表,预测队列等待时间和抢占事件。模拟重点测试了“调试工作负载”(少量 GPU、<15 分钟最小运行时间)的表现。结果显示,这类小任务的 p90 等待时间预计将从约 6 小时降至 5 分钟。

自 2026 年 7 月底分组推出以来,实际效果优于预期:

  • 交付保障:在 30 天测试期内,团队平均获得了 98% 的 GPU 小时,15 个团队中有 13 个达到 95% 以上,最低为 90%。
  • 占用率稳定:集群占用率保持在 98%,其中 18% 的交付时间为未分配状态,用于填补空闲间隙。
  • 延迟大幅降低:调试工作负载的 p90 排队等待时间从 2 小时降至 30 秒。在最大的 H100 集群中,中位排队时间从 5 分钟降至 24 秒,p90 等待时间下降约三分之一(从 2.8 小时降至 1.8 小时)。

挑战与未来规划

新系统的推广面临学习曲线陡峭的挑战。早期存在术语混淆(如“优先级”含义改变),通过现场解释性会议和新可视化工具(展示分配使用情况)得以缓解。目前,研究人员更频繁地参与预算讨论,对权衡有了更清晰的认识。

然而,并非所有场景都得到改善。交互式会议曾依赖长达一周的不中断运行,新系统的 8 小时最小运行时间上限导致会话频繁中断,需手动重建状态。为此,Ai2 计划投资仅 CPU 集群靠近内部存储,并开发可恢复的会话功能,以支持无需重建状态的断点续传。

此外,团队正在调查潜在的产能分散问题,即最小运行时间保护可能导致大量未完成工作负载堆积,增加排队时间。目前正通过模拟器和生产数据测量来验证这一假设。

下一步,Ai2 将聚焦于金字塔顶端的“利用率”,优化启动、检查点和训练应用程序本身的效率,进一步挖掘现有硬件的性能潜力。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读