【论文】略读笔记9-前沿-Lyra深度学习调度

【论文】略读笔记9-前沿-Lyra深度学习调度

Fre5h1nd Lv5

📖《Lyra: Elastic Scheduling for Deep Learning Clusters》

🎯需求

  • 最近,深度神经网络 (DNN) 在许多应用中取得了巨大的成功。超大规模在线服务提供商已采用 DNN,并构建大规模 GPU 集群来加速 DNN 的训练和推理工作负载。 GPU 集群调度是通过优化作业资源分配和任务放置来有效利用昂贵的基础设施的一项基本且关键的任务。

🚧现状

  • 如今,通常的做法是分别构建和管理两种类型的 GPU 集群,一种用于训练,一种用于推理,并使用单独的调度程序来管理它们。这是因为,对于相同的模型,推理比训练需要更少的计算和 GPU 内存,并且不太可能利用训练 GPU 的众多核心。推理集群通常使用较弱的GPU(如Nvidia T4)其资源与训练GPU(如Nvidia V100和A100)相比只是一个很小的部分。
    • 这种分离给双方都带来了问题:
      • 当流量负载较低时,推理集群的利用率较低;
        • 我们的观察基于使用 O(10k) GPU 运行生产集群进行训练甚至更多推理的经验。具体而言,由于昼夜流量模式,推理集群的利用率通常在很长一段时间内都很低 (<40%)。
      • 由于缺乏资源,训练作业经常排长队。
        • 训练作业在开始前经历了很长的排队时间,从 50,000 多个作业的 15 天跟踪中可以看出,平均排队时间超过 3,000 秒,95% 分位值接近 10,000 秒。排队时间长是由于集群利用率高和GPU资源碎片化导致的。

🛩创新

  • 我们引入了 Lyra,一种新的集群调度程序。
    • Lyra 引入了容量借贷(capacity loaning),借出闲置的推理服务器用于训练作业。
    • 它进一步利用弹性扩展来扩展训练作业的资源分配,以更好地利用借出的服务器。
  • 容量借用和弹性扩展给集群管理带来了新的挑战。
    • 当借出的服务器需要归还时,我们需要尽量减少作业抢占;
    • 当有更多 GPU 可用时,我们需要将它们分配给弹性作业并最小化作业完成时间 (JCT)。
  • Lyra 通过有原则的启发式方法解决了这些组合问题。
    • 它引入了服务器抢占成本的概念,它在服务器回收期间贪婪地降低了成本。
    • 它进一步依赖于为弹性工作的每个额外工人定义的 JCT 减少值来解决调度问题作为多项选择背包问题。

📊效果

  • 64 GPU 测试台上的原型实施和对超过 50,000 个生产作业进行 15 天跟踪的大规模模拟表明,Lyra 使平均排队时间和 JCT 分别减少了 1.53 倍和 1.48 倍,并将集群使用率提高了高达 25%。

🧠疑问

  1. 智算应用有什么特点,当设计面向智算应用的调度程序时,有什么可以且应当考虑的特殊需求?

    如今,通常的做法是分别构建和管理两种类型的 GPU 集群,一种用于训练,一种用于推理,并使用单独的调度程序来管理它们。

  2. 弹性伸缩时需要考虑什么?需要考虑迁移吗?

🗺参考文献

[1] Jiamin Li, Hong Xu, Yibo Zhu, Zherui Liu, Chuanxiong Guo, and Cong Wang. 2023. Lyra: Elastic Scheduling for Deep Learning Clusters. In Proceedings of the Eighteenth European Conference on Computer Systems (EuroSys ‘23). Association for Computing Machinery, New York, NY, USA, 835–850.

  • 标题: 【论文】略读笔记9-前沿-Lyra深度学习调度
  • 作者: Fre5h1nd
  • 创建于 : 2023-06-01 09:30:16
  • 更新于 : 2024-03-08 15:35:11
  • 链接: https://freshwlnd.github.io/2023/06/01/literature/literatureNotes9/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论