Theory of linear and integer programming
Theory of linear and integer programming
Towards an architecture-independent analysis of parallel algorithms
SIAM Journal on Computing
PYRROS: static task scheduling and code generation for message passing multiprocessors
ICS '92 Proceedings of the 6th international conference on Supercomputing
Task scheduling in parallel and distributed systems
Task scheduling in parallel and distributed systems
Cilk: an efficient multithreaded runtime system
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Provably efficient scheduling for languages with fine-grained parallelism
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
Task Clustering and Scheduling for Distributed Memory Parallel Architectures
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Parallel and Distributed Systems
Space and time efficient execution of parallel irregular computations
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
On the Granularity and Clustering of Directed Acyclic Task Graphs
IEEE Transactions on Parallel and Distributed Systems
Automatic Parallelization and Scheduling of Programs on Multiprocessors using CASCH
ICPP '97 Proceedings of the international Conference on Parallel Processing
Load Balancing HPF programs by Migrating Virtual Processors
HIPS '97 Proceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)
Low-Cost Task Scheduling for Distributed-Memory Machines
IEEE Transactions on Parallel and Distributed Systems
A Runtime System for Dynamic DAG Programming
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Runtime Parallel Incremental Scheduling of DAGs
ICPP '00 Proceedings of the Proceedings of the 2000 International Conference on Parallel Processing
Compact DAG representation and its symbolic scheduling
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Scheduling large task graphs is an important issue in parallel computing since it allows the treatment of big size problems. In this paper we tackle the following problem: how to schedule a task graph, when it is too large to fit into memory? Our answer features the parameterized task graph (PTG), which is a symbolic representation of the task graph. We propose a dynamic scheduling algorithm which takes the PTG as an entry and allows to generate a generic program. The performances of the method are studied as well as its limitations. We show that our algorithm finds good schedule for coarse grain task graphs, has a very low memory cost, and has a good computational complexity. When the average number of operations of each task is large enough, we prove that the scheduling overhead is negligible with respect to the makespan. The feasibility of our approach is studied on several compute-intensive kernels found in numerical scientific applications.