Automatic Generation of Self-Scheduling Programs

  • Authors:
  • I. Foster

  • Affiliations:
  • -

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 1991

Quantified Score

Hi-index 0.00

Visualization

Abstract

Techniques are described for the automatic generation of self-scheduling parallelprograms. Both scheduling algorithms and the concurrent components of applications areexpressed in a high-level concurrent language. Partitioning and data dependencyinformation are expressed by simple control statements, which may be generated eitherautomatically or manually. A self-scheduling compiler, implemented as a source-to-source transformation, takes application code, control statements, and scheduling routines and generates a new program that can schedule its own execution on a parallel computer. The approach has several advantages compared to previous proposals. It generatesprograms that are portable over a wide range of parallel computers. There is no need toembed special control structures in application programs. The use of a high-levellanguage to express applications and scheduling algorithms facilitates the development,modification, and reuse of parallel programs.