Compact DAG Representation and its Symbolic Scheduling
Résumé
Task graph scheduling has been found effective in performance prediction and optimization of parallel applications. A number of static scheduling algorithms have been proposed for task graph execution on parallel machines. Such an approach cannot be adapted to changes in values of program parameters and the number of processors and it also cannot handle large task graphs. In this paper, we model parallel computation using parameterized task graphs which represent coarse-grain parallelism independent of the problem size. We present a symbolic scheduling algorithm for a parameterized task graph which first derives linear clusters and then assigns task clusters to processors. The runtime system executes clusters on each processor in a multi-threaded fashion. The experiments using various scientific computing kernel benchmarks show that our method delivers compact and symbolic schedules with performance highly competitive to static approaches.