Scheduling Independent Moldable Tasks on Multi-Cores with GPUs
Abstract
The number of parallel systems using accelerators is growing up.
The technology is now mature enough to allow sustained
petaflop/s. However, reaching this performance scale requires
efficient scheduling algorithms to manage the heterogeneous
computing resources.
We present a new approach for scheduling independent tasks on
multiple CPUs and multiple GPUs. The tasks are assumed to be
parallelizable on CPUs using the moldable model: the final number
of cores allotted to a task can be decided and set by the
scheduler. More precisely, we design an algorithm aiming at
minimizing the makespan---the maximum completion time of all
tasks---for this scheduling problem. The proposed algorithm
combines a dual approximation scheme with a fast integer linear
program (ILP). It determines both the partitioning of the tasks,
ie whether a task should be mapped to CPUs or a GPU, and the
number of CPUs allotted to a moldable task if mapped to the CPUs.
A worst case analysis shows that the algorithm has an
approximation ratio of $\frac{3}{2} + \epsilon$. However, since
the complexity of the ILP-based algorithm could be
non-polynomial, we also present a proved polynomial-time
algorithm with an approximation ratio of $2+\epsilon$.
We complement the theoretical analysis of our two novel
algorithms with an experimental study. In these experiments, we
compare our algorithms to a modified version of the classical
\heft algorithm, adapted to handle moldable tasks. The
experimental results show that our algorithm with the
$\frac{3}{2} + \epsilon$ approximation ratio produces
significantly shorter schedules than the modified \heft for most
of the instances. In addition, the experiments provide evidence
that this ILP-based algorithm is also practically able to solve
larger problem instances in a reasonable amount of time.
Origin | Files produced by the author(s) |
---|
Loading...