异构算力调度:GPU 不是供品,资源池化才是硬仗

技术分享 约 4 分钟读完 9354 更新于
核心答案

训练任务排队到天亮,推理服务却只吃掉半张卡,这是调度失效而不是算力不足。8 卡机器按整卡分配时利用率常只有 40%,引入 MIG 与显存切分能接住碎片需求,但必须配合 cgroup 与驱动层隔离,否则一个任务越界会拖垮同卡其他任务。

  • 因为负载的形状和卡的形状不匹配。
  • 按整卡分配时,这些任务各占一张卡,卡上其余部分闲置。
  • 结果就是:集群看起来卡都分配出去了,实际算力利用率却很低。
关键事实
  • 一台 8 卡机器,训练任务排队到天亮,推理服务却只吃掉半张卡——这是典型的调度失效,不是算力不足。
  • 按整卡分配是最简单的策略,也是浪费最严重的策略:单卡利用率常常只有 40%,剩下 60% 被"占着不用"。
  • 训练任务通常能吃满整卡,但推理服务、数据预处理、小模型微调这些任务的资源需求是碎片化的:可能只需要 8GB 显存、2 个 CPU 核、偶尔一次前向计算。
  • 监控面板上"GPU 已分配 100%"和"GPU 实际利用 40%"同时成立,这不是矛盾,是分配粒度过粗。

一台 8 卡机器,训练任务排队到天亮,推理服务却只吃掉半张卡——这是典型的调度失效,不是算力不足。按整卡分配是最简单的策略,也是浪费最严重的策略:单卡利用率常常只有 40%,剩下 60% 被”占着不用”。

为什么整卡分配会浪费一半算力?

因为负载的形状和卡的形状不匹配。训练任务通常能吃满整卡,但推理服务、数据预处理、小模型微调这些任务的资源需求是碎片化的:可能只需要 8GB 显存、2 个 CPU 核、偶尔一次前向计算。按整卡分配时,这些任务各占一张卡,卡上其余部分闲置。

结果就是:集群看起来卡都分配出去了,实际算力利用率却很低。监控面板上”GPU 已分配 100%”和”GPU 实际利用 40%”同时成立,这不是矛盾,是分配粒度过粗。

切分方案怎么选?

四种常见粒度,适合不同场景,代价各不相同。

方案 隔离强度 适用场景 主要代价
整卡独占 最强 大模型训练、对延迟敏感的推理 利用率低
MIG 硬件切分 强 多租户推理、稳定的小模型服务 切分粒度固定,不能动态调整
显存切分(软件) 弱 开发调试、短任务 故障会扩散到同卡其他任务
时间片轮转 中 批处理任务 上下文切换开销,延迟不稳定

实践中常见组合是:训练走整卡或 MIG 大切片,推理走 MIG 小切片,开发环境用软件切分但限制在独立节点上。

切分带来的隔离风险有多严重?

比多数人预期的严重。软件层显存切分只是”约定”,不是硬件强制:一个任务显存越界,可能触发整卡重置,同卡其他任务全部中断。这在多租户环境里是不可接受的。

三层隔离要一起做:硬件层用 MIG 做物理切分,边界由硬件保证;系统层用 cgroup 限制 CPU、内存与进程数;驱动层开启错误隔离,让单个进程的异常不扩散。缺任何一层,故障都会穿透到邻居。

调度策略应该怎么定?

  1. 按实测性能分级,不按型号:同型号卡因散热与功耗墙差异,实测性能可能差 15%。建基准表,按实测值分配。
  2. 给碎片任务设专用池:不要让小任务和大训练抢同一批卡,物理隔离比调度算法更可靠。
  3. 设置抢占与回收:低优先级任务可被高优先级抢占,但要有检查点机制,避免抢占等于重跑。
  4. 把利用率作为考核指标:只看”分配率”会掩盖浪费,必须同时看实际计算利用率与显存占用率。

小规模集群(十台以内)需要做这么复杂吗?

不需要全套,但两件事值得做:一是开启 MIG 把推理和训练物理隔开,二是建立任务排队与优先级,避免”谁先提交谁占卡”。十台以内的集群,管理成本主要来自人的协调,而不是技术复杂度。

利用率提到多少算合理?

视负载结构而定。以推理为主、切分合理的集群,实际计算利用率做到 60% 到 70% 是可达的;以训练为主则通常低于 50%,因为训练本身存在数据加载与通信等待。低于 30% 说明分配粒度过粗或存在资源囤积,需要排查。

17lubbs 编辑部
17lubbs 编辑部 本站作者 · 已发布 9 篇

17lubbs 编辑部:跟踪产学研协同与技术落地的编辑团队,负责选题、撰写与事实审校。内容聚焦合作流程、费用行情、知识产权归属与政策解读。

引用本文

17lubbs:《异构算力调度:GPU 不是供品,资源池化才是硬仗》,17lubbs,2026-10-28,https://www.17lubbs.com/yi-gou-suan-li-diao-du-gpu-bu-shi-gong-pin-zi-yuan-chi-hua-cai-shi-ying/

内容可自由引用,请保留原文链接与作者信息

最后更新: · 许可:保留署名(CC BY 4.0)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注