
ASPLOS 23
GPU共享,只考虑训练负载
引入
DL性能卓越,多租户DL集群很多,优秀的调度器提升利用率和计算效率
现有方案缺陷
抢占式调度,如Gandiva、弹性调度、Pollux等均为侵入式
不便且易出错,需要用户使用特定库或修改代码,普适性差
集成和维护成本高,部分需修改底层框架或CUDA源码,需要迭代更新
弹性调整训练参数导致模型退化
基于ML或线性优化方法的调度策略在大量任务并发时开销明显
决策不透明难以调优,RF、GBDT、RL属于黑盒模型,不可解释
Lucid
设计
非侵入非抢占任务打包
历史信息预测任务时长
可解释
优势
非侵入性能高效
部署成本低,免维护
不修改参数,保障模型性能
决策开销低,大规模任务下毫秒级
决策透明可解释
背景和动机
背景
DL训练具有迭代特性,可通过非侵入监测作业状态
主流DL集群调度器多为侵入式,存在上一节的缺陷
作业打包(任务共置、GPU共享),使用MPS/MIG技术共享GPU
弹性训练,动态调节GPU规模、批量大小或学习率等
DL集群特性
GPU利用率低(阿里等生产集群观察),GPU性能快速迭代使得中小规模任务GPU利用率低
工作负载分布倾斜,负载多样
95%任务为单节点小规模作业
90%任务重复于超参数搜索
70%任务失败或取消,用于调试
高效非侵入调度
任务打包干扰具有模式,对于多领域经典工作负载
累积GPU利用率与共置速度比强相关
不同Batchsize、是否AMP、不同分布式训练规模下也符合上述规律,AMP能提升共置速度
分侵入式干扰感知打包
基于GPU利用率(主要,执行内核时间占比)、显存利用率(I/O时间占比)、显存占用量指标的调度策略适用于绝大多数DL任务
作业时长可以通过历史日志预测,资源利用特征可辅助匹配历史作业
设计
整体
原则
非侵入;可扩展;可解释
目标:最小化avgJCT、提高GPU利用率
结构与流程
非侵入作业预分析
吞吐量预测调节的作业打包
资源分配与任务优先级调度
非侵入作业分析
一定时限内剖析作业收集指标
划分作业为三类,小-中-大,共享值为0-1-2
空间感知剖析
按GPU数限制筛选可剖析任务
优先剖析资源需求少的作业,缓解队头阻塞问题,剖析采用binpack+GPU独占策略
时间感知剖析
GPU数限制、剖析时限、剖析集群规模根据作业提交模式动态变化
优势
使得短期测试型作业优先运行,提升公平性
非侵入
过滤失败作业提升效率
作业配对
非侵入
惰性打包
总共享值GSS限制:2
总GPU显存限制
并行训练限制,不打包异构资源需求作业
打包数量限制:2
打包后运行异常时解包
不打包分布式作业,避免网络竞争
可实现98%精确率,87%查全率
动态策略
根据当前吞吐量趋势改变GSS值,低-小
资源组织
目标:最小化avgJCT,提高资源利用率
时空结合SJF:预估时间*GPU数作为优先级,每次选取作业后寻找配对或直接分配
对缺乏历史数据的任务,根据用户历史行为预估;对于新用户,使用同GPU需求任务avgJCT预估
任务完成数据实时微调预估模型
可解释模型
打包分析模型
测量共置速度比,按预设值构建分类标签
训练三分类决策树模型,并进行剪枝
吞吐量预测模型
数据集:Saturn
模型:GA2M
特征:特征工程,见论文
执行时间模型
数据集:Saturn
模型:GA2M
特征:全部
系统调优
系统微调器
传统调度系统需要手动根据场景调节
Lucid可通过历史信息进行模拟来调优系统参数
更新引擎
实际中,作业提交和负载模式动态变化,分布偏移,需要实时收集系统状态、任务日志调整Lucid
实验
环境
单集群4节点32GPU物理环境
多集群模拟环境
Traces
SenseTime
Venus
Saturn
Microsoft
Philly
分层抽样绑定workload与随机自建job类型
Jobs
自建
物理环境
静态 + 动态调度
Makespan + avgJCT
模拟器上进行相同实验,验证模拟精度
模拟环境
略
评论区