[Sche/DLsys]Scheduling CPU for G
2021-10-15 本文已影响0人
sagfugetabf
论文题目:Scheduling CPU for GPU-based Deep Learning Jobs
文章时间:2016年11月
会议/期刊:SoCC/18 CCF B,2018年10月11-13日,一页的poster
作者背景: 北航肖文聪,微软亚洲研究院
笔记时间:2021年10月15日周五
论文地址:https://dl.acm.org/doi/10.1145/3267809.3275445
深度学习作业为什么要调度CPU?
问题的瓶颈在哪里呀
Abstract
深度学习在数据中心很流行。最近用GPU和深度学习框架也很多。集群的调度器是把DL作业当作黑盒任务,用户要多少资源,就分配多少资源。CPU等资源的分配是作业不感知的。Kuberflow会根据作业的性质来划分CPU。我们都知道GPU在深度学习任务中很重要,但是我们的观察表明,CPU重要性还没有被大家所意识到。给一个DL任务分配多少CPU核也极大的影响了性能。
-
作业异构的CPU需求
不同的任务在不同的GPU上达到最佳性能需要不同的CPU核心。不同任务对CPU核心减少的数量的敏感度也是不同的。 -
越好的GPU需要越多的CPU
-
随着时间的变化对CPU的需要也是变化的
训练时期对GPU要求高,到验证时期对CPU要求高。对神经网络翻译的实验可知,在验证时期加入CPU核心可以减少75%的验证时间。
我们提出SAD,基于性能预测,利用粗粒度的重新调度,来最大化集群的吞吐量。SAD利用自适应的特征感知的算法自动的调整CPU资源的分布。通过轻量级的profiling和持续的监控,SAD捕捉到了DL任务在作业间和作业内的资源需求异构性。本文的工作可以提升19%的系统利用率和减少34%的jct。