Bubble scheduling: A quasi dynamic algorithm for static allocation of tasks to parallel architectures

  • Authors:
  • Yu-Kwong Kwok;I. Ahmad

  • Affiliations:
  • -;-

  • Venue:
  • SPDP '95 Proceedings of the 7th IEEE Symposium on Parallel and Distributeed Processing
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.