Scheduling precedence graphs in systems with interprocessor communication times
SIAM Journal on Computing
Scheduling parallel program tasks onto arbitrary target machines
Journal of Parallel and Distributed Computing - Special issue: software tools for parallel programming and visualization
Analysis and evaluation of heuristic methods for static task scheduling
Journal of Parallel and Distributed Computing
A report on the Sisal language project
Journal of Parallel and Distributed Computing - Special issue: data-flow processing
Computer scheduling algorithms: past, present, and future
Information Sciences: an International Journal - Special issue on information sciences—past, present, and future
A static performance estimator to guide data partitioning decisions
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Intelligent mapping of communicating processes in distributed computing systems
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
Retire Fortran?: a debate rekindled
Communications of the ACM
Intelligent process mapping through systematic improvement of heuristics
Journal of Parallel and Distributed Computing
Automatic partitioning of a program dependence graph into parallel tasks
IBM Journal of Research and Development
PYRROS: static task scheduling and code generation for message passing multiprocessors
ICS '92 Proceedings of the 6th international conference on Supercomputing
Model-driven mapping onto distributed memory parallel computers
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
Exploiting task and data parallelism on a multicomputer
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Task scheduling in parallel and distributed systems
Task scheduling in parallel and distributed systems
List scheduling with and without communication delays
Parallel Computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
Task Clustering and Scheduling for Distributed Memory Parallel Architectures
IEEE Transactions on Parallel and Distributed Systems
Clustering task graphs for message passing architectures
ICS '90 Proceedings of the 4th international conference on Supercomputing
Automatic choice of scheduling heuristics for parallel/distributed computing
Automatic choice of scheduling heuristics for parallel/distributed computing
A comparison of list schedules for parallel processing systems
Communications of the ACM
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Communication and memory requirements as the basis for mapping task and data parallel programs
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Parallax: A Tool for Parallel Program Scheduling
IEEE Parallel & Distributed Technology: Systems & Technology
IEEE Transactions on Parallel and Distributed Systems
A Generalized Scheme for Mapping Parallel Algorithms
IEEE Transactions on Parallel and Distributed Systems
On the Granularity and Clustering of Directed Acyclic Task Graphs
IEEE Transactions on Parallel and Distributed Systems
A Genetic Algorithm for Multiprocessor Scheduling
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Parallel and Distributed Systems
Scheduling DAG's for Asynchronous Multiprocessor Execution
IEEE Transactions on Parallel and Distributed Systems
DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors
IEEE Transactions on Parallel and Distributed Systems
Proceedings of the Third European PVM Conference on Parallel Virtual Machine
EuroPVM '96 Proceedings of the Third European PVM Conference on Parallel Virtual Machine
A Comparison of Heuristics for Scheduling DAGs on Multiprocessors
Proceedings of the 8th International Symposium on Parallel Processing
A Numerical Comparative Analysis of Partitioning Heuristics for Scheduling Tak Graphs on Multiprocessors
Automatic Mapping of Task and Data Parallel Programs for Efficient Execution on Multicomputers
Automatic Mapping of Task and Data Parallel Programs for Efficient Execution on Multicomputers
Lu decomposition on a multiprocessing system with communications delay
Lu decomposition on a multiprocessing system with communications delay
Static task scheduling and grain packing in parallel processing systems
Static task scheduling and grain packing in parallel processing systems
A comparative analysis of static parallel schedulers where communication costs are significant
A comparative analysis of static parallel schedulers where communication costs are significant
ICPP '93 Proceedings of the 1993 International Conference on Parallel Processing - Volume 02
A Comparison of Multiprocessor Scheduling Heuristics
ICPP '94 Proceedings of the 1994 International Conference on Parallel Processing - Volume 02
Hi-index | 0.00 |
Task mapping and scheduling are two very difficult problems that must be addressed when a sequential program is transformed into a parallel program. Since these problems are NP-hard, compiler writers have opted to concentrate their efforts on optimizations that produce immediate gains in performance. As a result, current parallelizing compilers either use very simple methods to deal with task scheduling or they simply ignore it altogether. Unfortunately, the programmer does not have this luxury. The burden of repartitioning or rescheduling, should the compiler produce inefficient parallel code, lies entirely with the programmer. We were able to create an algorithm (called a metaheuristic), which automatically chooses a scheduling heuristic for each input program. The metaheuristic produces better schedules in general than the heuristics upon which it is based. This technique was tested on a suite of real scientific programs written in SISAL and simulated on four different network configurations. Averaged over all of the test cases, the metaheuristic out-performed all eight underlying scheduling algorithms; beating the best one by 2%, 12%, 13%, and 3% on the four separate network configurations. It is able to do this, not always by picking the best heuristic, but rather by avoiding the heuristics when they would produce very poor schedules. For example, while the metaheuristic only picked the best algorithm about 50% of the time for the 100 Gbps Ethernet, its worst decision was only 49% away from optimal. In contrast, the best of the eight scheduling algorithms was optimal 30% of the time, but its worst decision was 844% away from optimal.