GPU调度策略如何选

GPU
小华
2026-07-05

选择GPU调度策略时,核心原则是根据业务类型、资源规模、QoS需求来决定:

  • 训练/大任务:优先Gang 调度 + 资源池隔离
  • 推理/在线服务:优先延迟敏感调度 + 碎片整理
  • 混合负载:优先优先级 + 抢占 + 配额管理
  • K8s 环境:优先专用 GPU 调度器(HAMi / k8s-device-plugin / Volcano)

下面系统讲清楚怎么选。

一、先明确 4 个关键维度

维度说明
任务类型训练 / 推理 / 离线 / 在线
GPU 使用粒度整卡 / MIG / MPS / 虚拟化
负载特征长/短任务、可中断、延迟敏感
管理规模单机 / 小规模集群 / 大规模

这 4 个维度决定你“不该选什么”。

二、常见 GPU 调度策略对比

1️⃣ 静态分配(最基础)

适合:小规模、实验环境
方式:固定绑定 GPU 卡
优点:实现简单、稳定
缺点:利用率低、碎片严重

✅ 不推荐生产环境

2️⃣ 时间片轮转(Temporal)

适合:轻推理 / 小任务
方式:多个任务分时复用 GPU

优点缺点
提升利用率切换有开销
适合短时任务不适合大模型

✅ 常用于 边缘推理

3️⃣ 空间划分(Spatial)

通过硬件或软件切分 GPU:

✅ MIG(A100/H100)

  • 适合:多租户、强隔离
  • 不支持:多进程共享显存

✅ MPS

  • 适合:训练 + 多进程推理
  • 问题:进程故障互相影响

✅ 常用于 推理 + 训练混合

4️⃣ Best-Effort / 抢占调度

关键词:优先级 + 抢占

  • 高优先级任务可抢占低优先级
  • 常用于:在线推理 > 离线训练

✅ 大规模混合负载必选

5️⃣ Gang Scheduling(分布式训练必选)

问题

8 卡训练任务,只拿到 7 卡 → 死锁
解决
  • 一次性调度所有 GPU
  • 常用工具:Volcano / YARN / Slurm

✅ 多卡训练必须

6️⃣ 碎片感知调度(Fragmentation-aware)

问题

有 4 张卡,但被 1 卡任务占满
策略
  • 优先分配“能凑整”的节点
  • 延迟小任务,合并碎片

✅ 大集群非常重要

三、按场景直接给结论(重点)

✅ 场景 1:大模型训练(单任务多卡)

推荐策略

  • Gang Scheduling
  • 整卡分配
  • 独占节点

工具

  • Slurm / Volcano / K8s + Gang plugin

✅ 场景 2:在线推理(低延迟)

推荐策略

  • 独占 GPU 或 MIG
  • 延迟优先调度
  • 不混部训练任务

工具

  • k8s-device-plugin + 优先级

✅ 场景 3:离线推理 / 批量任务

推荐策略

  • Best-effort
  • 可中断
  • 碎片利用

✅ 场景 4:训练 + 推理混合

推荐策略

  • 多队列 + 优先级
  • 推理 > 训练
  • 资源池隔离

✅ 场景 5:多租户云平台

推荐策略

  • 配额(Quota)+ QoS
  • MIG / vGPU
  • 计费 + 审计

四、Kubernetes 下的推荐组合(实战)

基础方案

  • k8s-device-plugin
  • 整卡 / MIG
  • Node 亲和性

进阶方案(推荐)

  • Volcano(Gang + 优先级)
  • HAMi(GPU 虚拟化 + 共享)
  • Koordinator(QoS + 混部)

五、选择决策表(速查)

场景调度策略
单卡推理独占 / MIG
多卡训练Gang
在线服务延迟优先
离线任务Best-effort
混合负载优先级 + 抢占
多租户配额 + 隔离

六、一句话总结

GPU 调度不是“选一个算法”,而是“组合策略 + 工程约束”
先定 QoS,再定隔离方式,最后选调度器。

如果你愿意,我可以:

  • ✅ 给你 K8s GPU 调度 YAML 示例
  • ✅ 帮你 设计一套 GPU 调度架构图
  • ✅ 针对 你现在的业务(训练/推理/规模)给具体方案

直接说你的场景即可。

亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序