Issue No. 01 - January (1991 vol. 2)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.80190
<p>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.</p>
Index Termspartitioning; self-scheduling programs; automatic generation; parallel programs; high-level concurrent language; data dependency information; control statements; self-scheduling compiler; source-to-source transformation; application code; control statements; scheduling routines; control structures; application programs; high-level language; application generators; automatic programming; parallel programming; scheduling
I. Foster, "Automatic Generation of Self-Scheduling Programs," in IEEE Transactions on Parallel & Distributed Systems, vol. 2, no. , pp. 68-78, 1991.