I. 引言
科学工作流推动了众多科学领域的主要进步,包括天文学、物理学、气候科学、地震学和生物学 [1]、[2]。因此,在高性能计算(HPC)平台上高效调度并行工作流对于提高应用程序性能和系统利用率至关重要。这些工作流被表示为有向无环图(DAG),其中节点对应并行任务,边强制任务之间的依赖关系。根据灵活度,并行任务分为三类 [3]:(i)刚性任务,需要预先定义的固定数量的处理器来执行;(ii)可塑任务,其处理器数量在执行开始之前可以决定,但之后保持不变;以及(iii)可变任务,其处理器数量在执行期间可能会变化。本工作专注于可塑任务,因为它们可以适应可用资源的数量,不像刚性任务那样,同时比需要复杂运行时支持 [4] 的可变任务更易于编程和部署。基于消息传递接口(MPI)标准构建的应用程序是可塑任务的典型示例 [5],因为 MPI 进程的数量在启动时指定,且(通常)之后不能更改。此外,科学库中的几个计算内核,例如用于线性代数的 SLATE [6] 和用于张量的 TiledArray [7],作为可塑任务提供,可以部署在多种 1D 或 2D 网格大小上。此外,像 LSF [8] 和 SLURM [9] 这样的作业调度器允许用户指定每个任务可以调度的资源范围。总的来说,可塑任务在灵活性和部署便捷性之间提供了出色的权衡,这解释了它们在调度文献中受到的极大关注。


