【论文阅读】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应用程序调度器可以决定组成作业之间的分配。
相关推荐
张较瘦_7 小时前
[论文阅读] 人工智能+项目管理 | 当 PMBOK 遇见 AI:传统项目管理框架的破局之路
论文阅读·人工智能
张较瘦_8 小时前
[论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习
论文阅读·人工智能·语言模型
0x21113 小时前
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
论文阅读
家庭云计算专家14 小时前
ONLYOFFICE协作空间3.1.1 企业版 介绍及部署说明:家庭云计算专家
运维·服务器·云计算·onlyoffice·协作空间
要努力啊啊啊16 小时前
强化学习基础概念图文版笔记
论文阅读·人工智能·笔记·深度学习·语言模型·自然语言处理
二进制的Liao18 小时前
【数据分析】什么是鲁棒性?
运维·论文阅读·算法·数学建模·性能优化·线性回归·负载均衡
Jamence1 天前
多模态大语言模型arxiv论文略读(108)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
avoidaily1 天前
使用Node.js分片上传大文件到阿里云OSS
阿里云·node.js·云计算
张较瘦_1 天前
[论文阅读] 人工智能 | 用大语言模型解决软件元数据“身份谜题”:科研软件的“认脸”新方案
论文阅读·人工智能·语言模型
Elastic 中国社区官方博客1 天前
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
大数据·人工智能·elasticsearch·搜索引擎·云计算·全文检索·aws