Scheduling mixed-parallel applications with advance reservations
HPDC '08 Proceedings of the 17th international symposium on High performance distributed computing
Communicating Multiprocessor-Tasks
Languages and Compilers for Parallel Computing
Scheduling mixed-parallel applications with advance reservations
Cluster Computing
Scalable computing with parallel tasks
Proceedings of the 2nd Workshop on Many-Task Computing on Grids and Supercomputers
A Bi-criteria Algorithm for Scheduling Parallel Task Graphs on Clusters
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
On cluster resource allocation for multiple parallel task graphs
Journal of Parallel and Distributed Computing
Component-based programming techniques for coarse-grained parallelism
Proceedings of the 19th High Performance Computing Symposia
Hi-index | 0.00 |
Computationally complex applications can often be viewed as a collection of coarse-grained data-parallel tasks with precedence constraints. Researchers have shown that combining task and data parallelism (mixed parallelism) can be an effective approach for executing these applications, as compared to pure task or data parallelism. In this paper, we present an approach to determine the appropriate mix of task and data parallelism, i.e., the set of tasks that should be run concurrently and the number of processors to be allocated to each task. An iterative algorithm is proposed that couples processor allocation and scheduling, of mixedparallel applications on compute clusters so as to minimize the parallel completion time (makespan). Our algorithm iteratively reduces the makespan by increasing the degree of data parallelism of tasks on the critical path that have good scalability and a low degree of potential task parallelism. The approach employs a look-ahead technique to escape local minima and uses priority based backfill scheduling to efficiently schedule the parallel tasks onto processors. Evaluation using benchmark task graphs derived from real applications as well as synthetic graphs shows that our algorithm consistently performs better than CPR and CPA, two previously proposed scheduling schemes, as well as pure task and data parallelism.