Scheduling distributed applications modeled as directed, acyclic task graphs to run on heterogeneous compute networks is a fundamental (NP-Hard) problem in distributed computing for which many heuristic algorithms have been proposed over the past decades. Many of these algorithms fall under the list-scheduling paradigm, whereby the algorithm first computes priorities for the tasks and then schedules them greedily to the compute node that minimizes some cost function. Thus, many algorithms differ from each other only in a few key components (e.g., the way they prioritize tasks, their cost functions, where the algorithms consider inserting tasks into a partially complete schedule, etc.). In this paper, we propose a generalized parametric list-scheduling algorithm that allows mixing and matching different algorithmic components to produce 72 unique algorithms. We benchmark these algorithms on four datasets to study the individual and combined effects of different algorithmic components on performance and runtime.
翻译:将分布式应用程序建模为有向无环任务图,并将其调度到异构计算网络上运行,是分布式计算中一个基础的(NP难)问题,过去几十年间已提出了许多启发式算法。其中许多算法属于列表调度范式,即算法首先计算任务的优先级,然后将其贪婪地调度到能最小化某个成本函数的计算节点上。因此,许多算法仅在少数关键组件上存在差异(例如任务优先级排序方式、成本函数、算法是否考虑将任务插入到部分完成的调度中等)。本文提出了一种通用参数化列表调度算法,允许混合与匹配不同算法组件,从而生成72种独特算法。我们在四个数据集上对这些算法进行基准测试,以研究不同算法组件在性能和运行时间方面的个体及联合影响。