Guided self-scheduling: A practical scheduling scheme for parallel supercomputers

  • Authors:
  • C. D. Polychronopoulos;D. J. Kuck

  • Affiliations:
  • Univ. of Illinois at Urbana-Champaign, Urbana, IL;Univ. of Illinois at Urbana-Champaign, Urbana, IL

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 1987

Quantified Score

Hi-index 15.01

Visualization

Abstract

This paper proposes guided self-scheduling, a new approach for scheduling arbitrarily nested parallel program loops on shared memory multiprocessor systems. Utilizing loop parallelism is clearly most crucial in achieving high system and program performance. Because of its simplicity, guided self-scheduling is particularly suited for implementation on real parallel machines. This method achieves simultaneously the two most important objectives: load balancing and very low synchronization overhead. For certain types of loops we show analytically that guided self-scheduling uses minimal overhead and achieves optimal schedules. Two other interesting properties of this method are its insensitivity to the initial processor configuration (in time) and its parameterized nature which allows us to tune it for different systems. Finally we discuss experimental results that clearly show the advantage of guided self-scheduling over the most widely known dynamic methods.