论文主题内容介绍

研究背景

随着深度学习应用和大规模模型计算的快速发展,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,并提高整体系统性能。

图 1. MMK 系统总体架构

本文的核心贡献包括:

  1. 提出了一种融合 MIG、MPS 与 kernel-level scheduling 的多层次 GPU 共享框架 MMK,实现了硬件隔离、软件共享和 kernel 级细粒度调度的协同优化;

  2. 设计了一种混合分区调度机制,通过 Partition Entropy 评估任务资源需求与 MIG 分区粒度之间的匹配关系,并结合 Kernel-aware MPS Oversubscription 动态调整 MPS 配置,降低资源碎片和配置搜索开销;

  3. 设计了一种 kernel 级调度机制,通过拦截 CUDA API 并感知 SM 利用率、显存带宽、L2 cache 利用率和 kernel 执行时间等指标,在资源竞争发生时优先保障在线任务,同时利用空闲窗口执行离线任务;

  4. 构建了基于随机森林的性能预测模型,对不同任务、不同 MIG/MPS 配置以及不同资源竞争状态下的执行时间和吞吐进行预测,为混合分区调度和 kernel 调度提供决策依据。

实验结果

实验结果表明,MMK 在两张 NVIDIA A100 80GB GPU 上均显著优于现有 GPU 共享方案。相比当前最优方法,MMK 将平均作业完成时间降低 28%,将 makespan 降低 32%,并将系统吞吐提升 35%。

图 2. MMK 与现有 GPU 共享方案的性能比较

总体来看,MMK 通过 MIG、MPS 与 kernel-level scheduling 的协同设计,实现了从硬件分区、软件资源共享到 kernel 级调度的多层次 GPU 资源管理。该系统能够有效缓解深度学习多任务场景中的资源竞争问题,提升在线任务服务质量和离线任务执行效率,具有较强的系统实用性和通用性。

江卓龙个人介绍

  • 研究方向:模型并行训练推理优化