【论文阅读】THEMIS: Fair and Efficient GPU Cluster Scheduling

11. THEMIS: Fair and Efficient GPU Cluster Scheduling
  • 出处: 2020 USENIX Themis:公平高效的 GPU 集群调度 |USENIX
  • 主要工作:使用拍卖机制,针对长时间运行、位置敏感的ML应用程序。任务以短期的效率公平来赢取投标但确保长期是完成时间公平性。
    • 对每个ML应用程序 A i A_i Ai引入在GPU分配 G i ⃗ \vec{G_i} Gi 最大完成时间公平性 P i ( ⋅ ) P_i(\cdot) Pi(⋅)
    • 单轮拍卖:
      • 输入:资源和投标, R ⃗ \vec{R} R 表示要拍卖的GPU资源总量,其中每个元素为1,长度为要拍卖的GPU数量。每个ML应用程序都竞标这些资源,每个ML程序出价是对几个GPU分配方案 G ⃗ \vec{G} G ( G i ⃗ \vec{G_i} Gi 的值为 { 0 , 1 } \{0,1\} {0,1})的最大时间公平性 P i P_i Pi
    • 多轮拍卖:
      • 逐轮拍卖:在每一轮拍卖开始时,向应用程序请求新的 P i ( ⋅ ) P_i(\cdot) Pi(⋅)
      • 逐轮过滤:为了最大化 P ≤ 1 P\le 1 P≤1应用数量,每轮都过滤掉 P P P最大的 1 − f 1-f 1−f部分, f ∈ ( 0 , 1 ) f\in(0,1) f∈(0,1)。过滤使具有SI的应用数量最大化:一个输掉一轮拍卖的不公平应用 i i i,更容易打赢一个赢得一轮拍卖的不那么公平的应用 k k k( k k k被分配了GPU,它的 P K P_K PK会增大, i i i由于等待也会增大 P i P_i Pi,会一直出现,输掉太多轮的应用最终会失去所有资源的租约)
      • 剩余分配:在每轮的最后,有剩余GPU,将这些GPU分配给没有参加拍卖的应用程序,这在违反了SI的风险下提高了效率。
  • 目标:在有效利用集群GPU的同时最小化所有ML应用程序的最大完成时间公平性。最大完成时间公平性 (共享激励):在一个有N个应用程序的共享集群中运行时间与在一个有 1 N \frac{1}{N} N1个应用程序的集群中单独运行的比率。通过两个思想来做到这点。
    • 扩大ML应用程序和调度器之间的API,以允许应用程序指定放置偏好。通过一轮轮的拍卖达到,THEMIS使用租约来处理长时间运行的ML任务,并在租约到期时开始拍卖,新一轮开始时有个应用程序出价,价高者得。出价反映应用程序从获取的不同GPU子集的完成时间公平指标。
    • 提出两级调度设计。顶层包含一个集中的应用程序见调度程序,底层包含一个集成现有超参数调优框架的API。
  • 动机:
    • 现有方案无法提供公平的共享保证,因为他们不知道ML应用程序的特征。(主要是位置偏好)
    • 简单的方案是获取所有应用的 P i P_i Pi 然后进行排序并分配,但应用程序请求的资源往往比所需的更多,以获得更多的分配机会。
  • 几个概念:
    • sharing incentive(SI): 如果N个用户共用集群C,每个用户的性能应该不弱于 C N \frac{C}{N} NC
    • Pareto efficiency(PE): 帕累托最优。帕累托改善:从一种分配状态到另一种状态的变化中,在没有使任何人情况变化的前提下,使得至少一个人变得更好。帕累托最优是指集群分配无法再进行帕累托改善()。
    • envy-freedoms(EF): 无羡嫉
  • 新指标: P = T s h T i d P=\frac{T_{sh}}{T_{id}} P=TidTsh T i d T_{id} Tid 是独立完成时间, T s h T_{sh} Tsh 是共享完成时间。如果 P ≤ 1 P\le 1 P≤1 即可实现ML应用的共享激励。(此时共享完成时间小于独立完成时间)。
  • 调度器的类型:
    • 悲观调度器:可见性和分配在单个应用的粒度上是密切相关的。
    • 全乐观调度器:可见性和分配在多个应用的粒度上是密切相关的,有完整的多应用可见性,因为所有集群资源及其状态对所有应用都是可见的,所有应用程序都争夺资源,资源分配决策是由多个应用程序同时使用事务作出的。
    • 半乐观调度器:本文所用方案,当跨应用调度器同时为多个应用提供资源时,它具有多应用可见性,而资源分配时是无冲突的,保证每个应用程序对资源的独占访问。
  • 模型:

调度架构分为两个级别,包括多个应用程序调度器和一个称为ARBITER的跨应用程序调度程序:

  • 第一阶段(1~3):
    • ARBITER 要求所有应用程序提供当前完成时间公平性 P P P的估计值。
    • ARBITER 启动拍卖,将可用资源的相同非绑定资源分配给 P P P最小的 f ∈ [ 0 , 1 ] f\in[0,1] f∈[0,1]部分应用(根据逐轮过滤)。为了最小化拍卖中ML调度器与参与者的变化,THEMIS 引入一个AGENT ,它和每个ML程序调度器放在一起。AGENT作为ML程序和ARBITER之间的媒介。
    • 这些应用程序并行地检查提供的资源,每个应用程序的AGENT返回一个标价,该标价反映了对资源分配的偏好。
  • 第二阶段(4~5):
    • ARBITER 在收到这一轮的所有投标后,根据部分分配算法和剩余分配方案选择中标。然后通知每个AGENT获胜的分配(如果有的话)。
    • AGENT将分配传播给ML应用程序调度器,然后ML应用程序调度器可以决定组成作业之间的分配。
相关推荐
云计算DevOps-韩老师5 分钟前
【网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操解析2
网络·云计算
dessler2 小时前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
学Linux的语莫2 小时前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
何大春6 小时前
【弱监督语义分割】Self-supervised Image-specific Prototype Exploration for WSSS 论文阅读
论文阅读·人工智能·python·深度学习·论文笔记·原型模式
cloud studio AI应用6 小时前
腾讯云 AI 代码助手:产品研发过程的思考和方法论
人工智能·云计算·腾讯云
何遇mirror21 小时前
云原生基础-云计算概览
后端·云原生·云计算
嚯——哈哈1 天前
轻量云服务器:入门级云计算的最佳选择
运维·服务器·云计算
请你喝好果汁6411 天前
Kingfisher 下载ENA、NCBI SRA、AWS 和 Google Cloud)序列数据和元数据
云计算·aws
九陌斋1 天前
如何使用AWS Lambda构建一个云端工具(超详细)
云计算·aws
嚯——哈哈1 天前
AWS云服务器:开启高效计算的新纪元
服务器·云计算·aws