Skip to main content
QUICK REVIEW

[论文解读] Singularity: Planet-Scale, Preemptive and Elastic Scheduling of AI Workloads

Dharma D. Shukla, Muthian Sivathanu|arXiv (Cornell University)|Feb 16, 2022
Stochastic Gradient Optimization Techniques被引用 4
一句话总结

Singularity 是一个面向 AI 工作负载的全球规模、透明的调度器,可在全球 GPU 和加速器集群上实现对未经修改的深度学习作业的完全可抢占和弹性执行。通过使用设备代理和副本拼接技术将作业与物理设备解耦,它实现了低开销、按需的检查点和实时迁移,性能影响可忽略不计,从而在无需用户代码更改的情况下实现高资源利用率和严格的 SLA。

ABSTRACT

Lowering costs by driving high utilization across deep learning workloads is a crucial lever for cloud providers. We present Singularity, Microsoft's globally distributed scheduling service for highly-efficient and reliable execution of deep learning training and inference workloads. At the heart of Singularity is a novel, workload-aware scheduler that can transparently preempt and elastically scale deep learning workloads to drive high utilization without impacting their correctness or performance, across a global fleet of AI accelerators (e.g., GPUs, FPGAs). All jobs in Singularity are preemptable, migratable, and dynamically resizable (elastic) by default: a live job can be dynamically and transparently (a) preempted and migrated to a different set of nodes, cluster, data center or a region and resumed exactly from the point where the execution was preempted, and (b) resized (i.e., elastically scaled-up/down) on a varying set of accelerators of a given type. Our mechanisms are transparent in that they do not require the user to make any changes to their code or require using any custom libraries that may limit flexibility. Additionally, our approach significantly improves the reliability of deep learning workloads. We show that the resulting efficiency and reliability gains with Singularity are achieved with negligible impact on the steady-state performance. Finally, our design approach is agnostic of DNN architectures and handles a variety of parallelism strategies (e.g., data/pipeline/model parallelism).

研究动机与目标

  • 通过利用空闲计算能力的机遇,消除资源闲置,最大化全球 AI 加速器(GPU、FPGA)集群的吞吐量。
  • 尽管存在动态资源分配和抢占,仍为训练和推理工作负载提供强有力的、细粒度的作业级 SLA。
  • 通过支持从抢占点恢复,提升长时间运行的 DNN 作业的可靠性,避免昂贵的重启。
  • 使弹性与抢占成为所有未经修改的 DNN 作业的一等、透明功能,无需依赖自定义库或超参数调优。
  • 通过设备代理和副本拼接技术,将作业执行与物理硬件解耦,实现低开销的动态迁移和扩容。

提出的方法

  • 引入设备代理抽象,将 GPU 设备状态与工作进程隔离,实现干净的检查点和迁移。
  • 采用副本拼接技术,在同一物理设备上时间分片运行多个 DNN 工作进程,实现完整的内存访问和低开销,充分利用工作进程间内存的相似性。
  • 在小批量处理边界使用同步屏障,创建一致的、应用层的检查点,以支持实时迁移。
  • 通过将相同数量的逻辑工作进程重新映射到不同数量的物理加速器上,实现作业的动态扩容,而无需更改作业配置。
  • 利用 CRIU 实现高效、透明的进程检查点和迁移,并通过语义感知优化降低开销。
  • 将抢占和弹性作为一等调度原语,集成到分层的、全球分布式的调度器中。

实验结果

研究问题

  • RQ1如何在不修改应用代码的前提下,使深度学习工作负载在集群和区域之间实现完全可抢占和可迁移?
  • RQ2未经修改的 DNN 训练作业能否在不修改训练循环或依赖自定义库的情况下,实现透明的弹性扩展?
  • RQ3在异构、分布式 DNN 环境中,如何实现低开销、一致的检查点,且对性能影响最小?
  • RQ4哪些架构机制能够在不产生资源碎片化的前提下,实现全球分布式 AI 基础设施的高资源利用率和严格 SLA?
  • RQ5系统能否通过透明地动态扩展资源,同时实现高统计效率和高吞吐量?

主要发现

  • Singularity 实现了未经修改的 DNN 作业在跨区域和数据中心之间的透明抢占与迁移,稳态性能开销可忽略不计。
  • 通过使用设备代理和副本拼接,多个工作进程可共享单个 GPU,实现完整的内存访问和最小的性能下降。
  • 所有作业均在安全的同步点(如小批量处理结束处)自动进行检查点,确保在被抢占后可可靠恢复。
  • 弹性功能完全透明:作业保持相同的工作者数量和超参数,同时被动态重新映射到不同数量的物理加速器上。
  • 通过机会性地利用空闲计算能力,系统在由数十万张 GPU 组成的全球集群中实现了高资源利用率,且不违反 SLA。
  • 通过将作业与硬件解耦并支持工作负载持续迁移,Singularity 减少了计算资源浪费,提升了长时间训练作业的可靠性。

更好的研究,从现在开始

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

无需绑定信用卡

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