We study the problem of scheduling an arbitrary computational DAG on a fixed number of processors while minimizing the makespan. While previous works have mostly studied this problem in relatively restricted models, we define and analyze DAG scheduling in the Bulk Synchronous Parallel (BSP) model, which is a well-established parallel computing model that captures the communication cost between processors much more accurately. We provide a detailed taxonomy of simpler scheduling models that can be understood as variants or special cases of BSP, and discuss the properties of the problem and the optimum cost in these models, and how they differ from BSP. This essentially allows us to dissect the different building blocks of the BSP model, and gain insight into how each of these influences the scheduling problem. We then analyze the hardness of DAG scheduling in BSP in detail. We show that the problem is solvable in polynomial time for some very simple classes of DAGs, but it is already NP-hard for in-trees or DAGs of height 2. We also separately study the subproblem of scheduling communication steps, and we show that the NP-hardness of this problem can depend on the problem parameters and the communication rules within the BSP model. Finally, we present and analyze a natural formulation of our scheduling task as an Integer Linear Program.
翻译:本文研究在固定数量处理器上调度任意计算有向无环图(DAG)以最小化完工时间的问题。尽管已有工作主要在相对受限的模型中研究该问题,我们首次在整体同步并行(BSP)模型中定义并分析了DAG调度。BSP是一种成熟的并行计算模型,能更精确地刻画处理器间的通信开销。我们系统分类了可视为BSP变体或特例的简化调度模型,探讨了这些模型下问题性质与最优成本的特性及其与BSP的差异,从而深入剖析BSP模型的各个构成模块,揭示每个模块对调度问题的影响机制。随后,我们详细分析了BSP中DAG调度的计算复杂性:对于某些极简DAG类,问题可在多项式时间内求解;但对于入树结构或高度为2的DAG,问题已呈现NP难性质。我们还单独研究了通信步骤调度的子问题,发现其NP难性取决于问题参数及BSP模型中的通信规则。最后,我们提出了调度任务的自然整数线性规划形式化描述并进行了分析。