Static scheduling algorithms for allocating directed task graphs to multiprocessors
ACM Computing Surveys (CSUR)
Exploiting Unused Time Slots in List Scheduling Considering Communication Contention
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
A Platform Independent Parallelising Tool Based on Graph Theoretic Models
VECPAR '00 Selected Papers and Invited Talks from the 4th International Conference on Vector and Parallel Processing
Scheduling Task Graphs on Arbitrary Processor Architectures Considering Contention
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Automatic Parallelization and Scheduling of Programs on Multiprocessors using CASCH
ICPP '97 Proceedings of the international Conference on Parallel Processing
Task scheduling on bus-based networks of workstations
Cluster computing
Computers and Operations Research
Hi-index | 0.00 |
We propose an algorithm for scheduling and allocation of parallel programs to message-passing architectures. The algorithm considers arbitrary computation and communication costs, arbitrary network topology, link contention and underlying communication routing strategy. While our technique is static, the algorithm is quasi dynamic because it is not specific to any particular system topology and thus can be used at run-time for the processor configuration available at that time. The proposed algorithm, called Bubble Scheduling and Allocation (BSA) algorithm, works by first serializing the task graph and "injecting" all the tasks to one processor. The parallel tasks are then "bubbled up" to other processors and are inserted at appropriate time slots. The edges among the tasks are also scheduled by treating communication links between the processors as resources. The scheduling of messages on the links depends on the routing strategy, such as circuit switching and wormhole routing, of the underlying network. The proposed algorithm has admissible time complexity and is suitable for regular as well as irregular task graph structures.