The scheduling literature has traditionally focused on a single type of resource (e.g., computing nodes). However, scientific applications in modern High-Performance Computing (HPC) systems process large amounts of data, hence have diverse requirements on different types of resources (e.g., cores, cache, memory, I/O). All of these resources could potentially be exploited by the runtime scheduler to improve the application performance. In this paper, we study multi-resource scheduling to minimize the makespan of computational workflows comprised of parallel jobs subject to precedence constraints. The jobs are assumed to be moldable, allowing the scheduler to flexibly select a variable set of resources before execution. We propose a multi-resource, list-based scheduling algorithm, and prove that, on a system with $d$ types of schedulable resources, our algorithm achieves an approximation ratio of $1.619d+2.545\sqrt{d}+1$ for any $d$, and a ratio of $d+O(\sqrt[3]{d^2})$ for large $d$. We also present improved results for independent jobs and for jobs with special precedence constraints (e.g., series-parallel graphs and trees). Finally, we prove a lower bound of $d$ on the approximation ratio of any list scheduling scheme with local priority considerations. To the best of our knowledge, these are the first approximation results for moldable workflows with multiple resource requirements.
翻译:列表文献历来侧重于单一类型的资源(例如计算节点),然而,现代高性能计算(HPC)系统中的科学应用在现代高性能计算(HPC)系统中的科技应用处理大量数据,因此对不同类型资源(例如核心、缓存、内存、I/O)的要求各不相同。所有这些资源都有可能被运行时间调度器利用,以提高应用程序的性能。在本文件中,我们研究多资源时间安排,以尽量减少由受优先限制的平行工作构成的计算工作流程的范围。这些职位假定是可变的,允许调度器灵活地选择一套可变的资源。我们提出了多种资源、基于列表的时间安排算法,并证明在一个有美元类型的可调度资源的系统上,我们的算法的近似比率为1.619d+2.545\sqrt{d ⁇ 1美元,而一个美元+O(sqrt[3]{d%2}的比例是大系列的可变数,让调度员在执行之前灵活地选择一套可变数资源。我们还提出改进了独立工作以及具有一定资源比值的比值的汇率,最后证明我们的资源比值的排序。