OSDI作为计算机系统类的顶会,其中发表的论文的研究方向基本是计算机研究类的风向标,当前最受关注的。而本届OSDI中有四篇关于资源调度方面的文献(Cloud Systems Part),可以看出当前关于资源调度仍然是研究的重点。
写这篇博客的目的是想以通俗易懂的方式交流调度,由于才疏学浅,文中理解错误之处欢迎指正以及批评拍砖。
Altruistic Scheduling in Multi-Resource Clusters
本篇文章通过一种利他和延迟调度策略,对任务进行调度。调度面向的是长期任务调度,能够满足多维度的度量需求,如公平性、资源利用率、任务平均完成时间。
文章通过一个具体的例子进行讲解。
场景:
如图所示,当前存在两个任务,Job1和Job2,Job1内部存在三个子任务S0,S1,S2,Job2只有S0。对于每个任务,该任务所需要的资源在下方显示。如S0,执行该任务需要0.29个单位的资源,需要用时1个单位。
目标 :
对这两个任务进行调度,使得资源利用率高,平均任务完成时间短。
发现问题
在文章中,作者发现,在现有的调度系统中,主要存在如下的一些特点:
* 现有的调度系统关注瞬时公平性(instantaneous fairness)以及短期优化(short-term
optimizations)
* 现在的长任务给了调度更多的灵活性
* 数据并行类的作业对于长作业优化提供了更多机会
一. 现有的调度系统关注瞬时公平性以及短期优化
在任务的调度过程中,主要有两个维度的调度。第一是任务间的调度,即job1和job2 之间的调度。第二类是任务内的调度,比如job1中存在S0,S1,S2这三个任务,调度的目标就是这三个子任务。
那什么是保证瞬时公平性和短期优化的调度方