Ai2 的 AI 基础设施团队管理数千块 NVIDIA H100、B200、B300 GPU,集群规模从 88 到 1024 块不等,服务约 150 名研究员。这些集群主要用于大规模分布式训练,覆盖 LLM/VLM 训练、机器人 RL 仿真和科学智能体后训练。需求长期超过供给:任何时刻,待处理工作负载申请的 GPU 数是可用数的 2-3 倍。

旧系统基于优先级调度,且允许负载自愿关闭可抢占性。每个团队有并发 GPU 上限,受保护负载可占满上限,可抢占负载只能在空闲时使用额外 GPU。由此产生三种病理:GPU 蹲守(用户停放空转负载以便随时连接)、优先级通胀(100% 的负载都声称 HIGH 优先级,低优先级被饿死)、以及 on-call 工程师的多数时间花在协调不可抢占负载退出维护中的主机上。团队最初尝试收紧优先级控制,甚至直接给重要项目分配 GPU 垄断权,这反而成了公地悲剧的实验室。
核心转变是停止用优先级表达价值,改用 GPU 时间作为分配单位。领导层可以像投资人一样,在负载出现之前决定如何把 GPU 时间分配给各个研究项目;这套层级系统中,经理按比例把 GPU 时间分配给下属项目和研究者,每个请求必须由预算资助,否则不受抢占保护。配合预算的是层次化公平份额调度器:滑动回看窗口默认 7 天,调度器按实际占用与分配时间之比排序,把欠用的负载排在超用之上。他们还引入调度合同:每个负载必须声明最小运行时间,期间受保护;之后可被抢占并自动重新排队。最小运行时间设为 0 的负载是未分配负载,始终可抢占,但不消耗任何预算。团队将最小运行时间上限设为 8 小时。这个机制让 GPU 始终有机会被填满,也让抢占行为变成对自身预算的消耗,从根源上抑制了蹲守。
上线前,他们用小型仿真器测试参数。仿真预测调试负载 p90 等待从约 6 小时降到 5 分钟。7 月底逐集群上线后,实测超过预测:调试负载 p90 从 2 小时降到 30 秒。在 30 天测试期内,团队获得欠付 GPU 时间的 98%,15 个团队中 13 个达到 95% 以上,最差为 90%;集群占用率保持 98%;18% 的交付时间是未分配时间,用于填充因研究周期性出现的空闲。在最大 H100 集群上,中位队列等待从 5 分钟降到 24 秒,p90 从 2.8 小时降到 1.8 小时。由于不可抢占负载达到最小运行时间后会自动排空,需人工介入的维修减少了 74%。
挑战也真实存在。学习曲线比预期陡,旧界面里的术语如“优先级”含义改变,造成混淆;有效的办法是现场讲解,让工程师解释调度决策的来龙去脉。交互式会话是最大的受害者:旧系统允许研究者保留会话长达一周,新系统下超过 8 小时保护期后会话可能被抢占,且状态需要手工重建。为此他们新建两个项目:靠近本地存储的 CPU-only 集群用于数据准备类开发会话,以及可恢复的会话机制,让被抢占的会话能在别处自动恢复。
他们还在关注容量碎片化:最小运行时间保护可能让大型作业更难找到可同时打断的空闲 GPU,从而增加最大负载的排队时间。团队正在用仿真工具和生产数据验证这一现象。调度金字塔的最高层是利用率——确保启动、检查点和训练应用本身都足够高效,让每一段被调度到的时间产生最大价值。
更新时间:2026-10-12
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302034844号