论文 MMK:A Hybrid Scheduling Framework for Fine-Grained GPU Sharing for Deep Learning Applications 被 ACM Transactions on Architecture and Code Optimization(CCF-A)接收,恭喜卓龙!
论文主题内容介绍
研究背景
随着深度学习应用和大规模模型计算的快速发展,GPU 已成为数据中心支撑训练与推理任务的关键计算资源。然而,在实际部署中,单个深度学习任务往往难以充分利用整张 GPU,导致大量计算资源被浪费。因此,如何在多个任务之间高效共享 GPU 资源,提升系统吞吐并降低任务完成时间,已成为云计算和智能系统中的重要问题。
现有 GPU 共享技术主要包括 NVIDIA MPS 和 MIG。MPS 能够支持多个进程并发共享 GPU,但缺乏硬件级资源隔离,容易在计算、显存带宽和缓存等资源上产生干扰;MIG 能够将 GPU 划分为多个隔离实例,缓解任务间干扰,但其分区粒度固定,面对动态变化的在线任务和离线任务时,容易出现资源碎片、配置不灵活和重配置开销高等问题。进一步地,即使将 MIG 与 MPS 结合使用,现有方法仍主要停留在分区级或任务级调度,难以解决 kernel 粒度上的细粒度资源竞争问题。
为解决上述问题,本文提出了一种面向深度学习应用的细粒度 GPU 共享框架——MMK。该框架融合 MIG 的硬件级隔离能力、MPS 的软件级弹性共享能力以及 kernel-level scheduling 的细粒度调度能力,实现了从 GPU 分区、任务资源配置到 kernel 执行顺序控制的多层次协同优化。MMK 能够根据在线任务和离线任务的动态资源需求,自适应生成高效的 MIG/MPS 配置,并在运行时通过 kernel 调度降低资源竞争,从而提升 GPU 利用率、保障在线任务 QoS,并提高整体系统性能。
本文的核心贡献包括:
-
提出了一种融合 MIG、MPS 与 kernel-level scheduling 的多层次 GPU 共享框架 MMK,实现了硬件隔离、软件共享和 kernel 级细粒度调度的协同优化;
-
设计了一种混合分区调度机制,通过 Partition Entropy 评估任务资源需求与 MIG 分区粒度之间的匹配关系,并结合 Kernel-aware MPS Oversubscription 动态调整 MPS 配置,降低资源碎片和配置搜索开销;
-
设计了一种 kernel 级调度机制,通过拦截 CUDA API 并感知 SM 利用率、显存带宽、L2 cache 利用率和 kernel 执行时间等指标,在资源竞争发生时优先保障在线任务,同时利用空闲窗口执行离线任务;
-
构建了基于随机森林的性能预测模型,对不同任务、不同 MIG/MPS 配置以及不同资源竞争状态下的执行时间和吞吐进行预测,为混合分区调度和 kernel 调度提供决策依据。
实验结果
实验结果表明,MMK 在两张 NVIDIA A100 80GB GPU 上均显著优于现有 GPU 共享方案。相比当前最优方法,MMK 将平均作业完成时间降低 28%,将 makespan 降低 32%,并将系统吞吐提升 35%。
总体来看,MMK 通过 MIG、MPS 与 kernel-level scheduling 的协同设计,实现了从硬件分区、软件资源共享到 kernel 级调度的多层次 GPU 资源管理。该系统能够有效缓解深度学习多任务场景中的资源竞争问题,提升在线任务服务质量和离线任务执行效率,具有较强的系统实用性和通用性。
江卓龙个人介绍
- 研究方向:模型并行训练推理优化