arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1707.07097cs.PF
收藏

并行调度的最优性

Towards Optimality in Parallel Scheduling

Benjamin Berg, Jan-Pieter Dorsman, Mor Harchol-Balter

摘要:

为了跟上摩尔定律的步伐,芯片设计人员已经专注于增加每个芯片的内核数量,而不是单核性能。反过来,现代作业通常被设计为在任何数量的内核上运行。然而,为了有效地利用这些多核芯片,必须解决为每个作业分配多少个核的问题。考虑到作业会从额外的内核获得次线性的加速,这是一个明显的权衡:为单个作业分配更多的内核会减少作业的运行时间,但反过来会降低整个系统的效率。我们问系统应该如何调度跨核心的作业,以尽量减少传入的作业流的平均响应时间。为了回答这个问题,我们开发了一个多核机器上运行的作业的分析模型。我们证明了EQUI,一个政策,不断划分核心均匀跨作业,是最优的,当所有的作业遵循一个单一的加速曲线,并有指数分布的大小。EQUI要求作业在运行时更改其并行化级别。由于这对所有工作负载都是不可能的,我们考虑一类“固定宽度”策略,它选择一个单一的并行化级别k,用于所有作业。我们证明,令人惊讶的是,它是可以实现EQUI的性能,而不需要改变他们的并行化水平的作业,通过使用最佳的固定水平的并行化,k*。我们还展示了如何解析推导出最佳k* 作为系统负载,加速曲线和作业大小分布的函数。在作业可能遵循不同的加速比曲线的情况下,找到一个好的调度策略更具挑战性。我们发现,像EQUI这样的政策在单一加速功能的情况下表现良好,现在表现不佳。我们提出了一个非常简单的政策,贪婪 *,它执行近最佳相比,数值推导的最优策略。

英文摘要:

To keep pace with Moore's law, chip designers have focused on increasing the number of cores per chip rather than single core performance. In turn, modern jobs are often designed to run on any number of cores. However, to effectively leverage these multi-core chips, one must address the question of how many cores to assign to each job. Given that jobs receive sublinear speedups from additional cores, there is an obvious tradeoff: allocating more cores to an individual job reduces the job's runtime, but in turn decreases the efficiency of the overall system. We ask how the system should schedule jobs across cores so as to minimize the mean response time over a stream of incoming jobs. To answer this question, we develop an analytical model of jobs running on a multi-core machine. We prove that EQUI, a policy which continuously divides cores evenly across jobs, is optimal when all jobs follow a single speedup curve and have exponentially distributed sizes. EQUI requires jobs to change their level of parallelization while they run. Since this is not possible for all workloads, we consider a class of "fixed-width" policies, which choose a single level of parallelization, k, to use for all jobs. We prove that, surprisingly, it is possible to achieve EQUI's performance without requiring jobs to change their levels of parallelization by using the optimal fixed level of parallelization, k*. We also show how to analytically derive the optimal k* as a function of the system load, the speedup curve, and the job size distribution. In the case where jobs may follow different speedup curves, finding a good scheduling policy is even more challenging. We find that policies like EQUI which performed well in the case of a single speedup function now perform poorly. We propose a very simple policy, GREEDY*, which performs near-optimally when compared to the numerically-derived optimal policy.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑