课程来源:AI 工程化实战笔记 影片链接:待补充 投影片:待补充
#一、GPU 资源调度的挑战
- 异构 GPU:不同型号 GPU(V100、A100、H100)的性能差异
- 混合负载:训练任务(长时间、高算力)与推理任务(低延迟、高频)共存
- 碎片化:小任务占用部分 GPU 导致的显存碎片
- 多租户:不同团队之间的资源公平分配
#二、调度策略
#1. 按任务类型调度
- 训练任务:优先分配高性能 GPU,采用 Gang Scheduling
- 推理任务:优先使用空闲 GPU,利用 MIG 技术切分 A100
#2. 按优先级调度
- 核心业务 > 内部实验
- 生产推理 > 离线训练
- 可使用抢占式调度保证关键任务
#3. 基于公平性的调度算法
- Dominant Share
- DRF(Dominant Resource Fairness)
- Quota-based:按团队配额分配
#三、GPU 共享技术
#1. MIG(Multi-Instance GPU)
NVIDIA A100/H100 支持将单个 GPU 切分为多个独立实例,实现硬件级隔离。
#2. MPS(Multi-Process Service)
允许多个进程在同一 GPU 上并发执行 CUDA Kernel。
#3. vGPU
软切分方案,适用于需要灵活配置显存的场景。
#四、调度器选型
| 调度器 | 特点 |
|---|---|
| Kubernetes + Volcano | 通用、训练场景友好 |
| YARN + GPU 插件 | Hadoop 生态成熟方案 |
| Kueue / Yunikorn | Kubernetes 原生批处理调度 |
| 自研调度器 | 适合大规模、定制化需求 |
#五、小结
一个成熟的 GPU 调度系统,既要保证资源利用率,又要保证业务公平性与线上稳定性。在实践中,往往需要结合硬件切分(MIG)、调度算法(DRF)、容器隔离(K8s)三层能力共同实现。