【每周论文】Graphene: Packing and Dependency-aware Scheduling for Data-Parallel Clusters(OSDI 2016)
论文的一作Robert Grandl在OSDI 2016斩获两篇论文,非常的高产,这里先介绍他其中的一篇论文,关于集群调度有关的。
作者提出了一个全新的集群调度器——Graphene,它主要用于调度那些有很复杂的依赖关系和有异构资源需求的作业。
现在的作业执行可以抽象为一个DAG(有向无环图),其中图的点代表要执行的作业,有向的边代表数据的流向(依赖)。调度异构DAG作业或者调度各自独立的异构作业是一个NP难问题,先前的工作大部分使用启发式方法来调度作业,比如着重优化关键路径或者使用贪心算法来最大化资源利用率,但是当它们遇到异构的DAGs时性能就会表现的很差,而本文通关注长作业来挖掘DAG中潜在的并行性来提高整个集群的运行时间和资源利用率。
对一系列的依赖任务,整个调度过程分为两个部分:Offline的离线分析,Online的在线调度。
首先在整个作业集中找出麻烦任务集(Troublesome tasks,那些会运行非常长时间的任务,或者那些很难去pack的任务,如上图的红色),并对其他任务进行打包,将整个DAG分为四部分:麻烦任