Skip to main content
QUICK REVIEW

[论文解读] MuxFlow: Efficient and Safe GPU Sharing in Large-Scale Production Deep Learning Clusters

Yihao Zhao, Xin Liu|arXiv (Cornell University)|Mar 24, 2023
Brain Tumor Detection and ClassificationNeuroscience被引用 3
一句话总结

MuxFlow 是一个生产就绪的 GPU 集群系统,可实现对混合在线和离线深度学习工作负载的高效且安全的 GPU 空间共享。通过结合两级性能保护机制、混合错误处理策略以及基于匹配的动态 SM 分配,MuxFlow 在 CompanyX 的 20,000+ GPU 集群中实际部署时,将 GPU 利用率从 26% 提升至 76%。

ABSTRACT

Large-scale GPU clusters are widely-used to speed up both latency-critical (online) and best-effort (offline) deep learning (DL) workloads. However, most DL clusters either dedicate each GPU to one workload or share workloads in time, leading to very low GPU resource utilization. We present MuxFlow, the first production cluster system that supports efficient and safe space-sharing for DL workloads. NVIDIA MPS provides an opportunity to share multiple workloads in space on widely-deployed NVIDIA GPUs, but it cannot guarantee the performance and safety of online workloads. MuxFlow introduces a two-level protection mechanism for memory and computation to guarantee the performance of online workloads. Based on our practical error analysis, we design a mixed error-handling mechanism to guarantee the safety of online workloads. MuxFlow further proposes dynamic streaming multiprocessor (SM) allocation and matching-based scheduling to improve the efficiency of offline workloads. MuxFlow has been deployed at CompanyX's clusters with more than 20,000 GPUs. The deployment results indicate that MuxFlow substantially improves the GPU utilization from 26$\%$ to 76$\%$, SM activity from 16$\%$ to 33$\%$, and GPU memory from 42$\%$ to 48$\%$.

研究动机与目标

  • 解决大规模深度学习集群中 GPU 利用率低的问题,其中 GPU 要么被单个工作负载独占,要么被时间共享,导致资源闲置。
  • 通过 NVIDIA MPS 实现 GPU 的空间共享,同时确保对延迟敏感的在线工作负载具备性能隔离。
  • 通过减轻错误传播(尤其是 Kubernetes 环境中容器信号如 SIGINT 和 SIGTERM 引发的错误)来保障在线工作负载的安全性。
  • 通过动态流式多处理器(SM)分配和基于二分图匹配的智能工作负载配对,提升离线工作负载的效率。
  • 部署一个实用、生产级别的系统,在真实集群中实现性能、安全性和利用率之间的平衡。

提出的方法

  • 提出 xCUDA,一种运行时机制,通过限制 GPU 内存使用和内核启动频率来约束离线工作负载的资源消耗。
  • 采用 GPU 级别的 SysMonitor,利用多维指标检测性能下降风险,并在必要时触发离线工作负载的驱逐。
  • 设计混合错误处理机制,拦截并优雅处理 SIGINT/SIGTERM 信号(导致 99% 错误传播的原因),并对边界情况错误重置 CUDA 上下文。
  • 提出动态 SM 分配机制,离线工作负载使用的 SM 百分比根据在线工作负载动态调整,以最小化性能影响。
  • 将离线工作负载配对建模为最大权重二分图匹配问题,使用基于深度学习的预测器估算干扰,并利用 KM 算法寻找最优配对。
  • 将所有组件集成到一个全栈集群系统中,该系统已在 CompanyX 生产环境中部署,支持数千个 GPU,且对现有基础设施改动极小。

实验结果

研究问题

  • RQ1如何在不降低低延迟在线工作负载性能的前提下,使大规模生产环境下的 GPU 空间共享既安全又高效?
  • RQ2在共享 GPU 环境中,哪些机制能有效防止错误从离线工作负载传播到在线工作负载?
  • RQ3动态 SM 分配如何在保持在线工作负载可接受性能的同时,提升 GPU 资源的利用率?
  • RQ4在共享 GPU 集群中,如何制定最优策略来配对离线工作负载与在线工作负载,以最大化整体效率?
  • RQ5能否基于现有的 GPU 虚拟化原原子(如 NVIDIA MPS)构建一个实用、生产就绪的系统,实现空间共享、性能隔离和安全保证的结合?

主要发现

  • MuxFlow 在拥有超过 20,000 个 GPU 的生产集群中,将 GPU 利用率从 26% 提升至 76%,显著提高了资源效率。
  • SM 活动从 16% 上升至 33%,表明在共享工作负载下 GPU 计算单元的利用率得到提升。
  • GPU 内存利用率从 42% 提升至 48%,表明在混合工作负载下内存管理更加高效。
  • 混合错误处理机制成功缓解了 99% 的错误传播,主要针对容器关闭期间由 SIGINT/SIGTERM 信号引发的问题。
  • 基于匹配的调度结合基于深度学习的干扰预测,实现了高效的工作负载配对,最大限度减少了对在线工作负载的性能影响。
  • 动态 SM 分配实现了在线与离线工作负载之间的互补资源使用,使离线任务能够利用空闲 GPU 资源,同时对在线延迟影响极小。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。