Compile-time partitioning and scheduling of parallel programs

Partitioning and scheduling techniques are necessary to implement parallel languages on multiprocessors. Multiprocessor performance is maximized when parallelism between tasks is optimally traded off with communication and synchronization overhead. We present compile-time partitioning and scheduling techniques to achieve this trade-off.

[1]  Arvind,et al.  The (preliminary) Id report: an asynchronous programming language and computing machine , 1978 .

[2]  Ralph Grishman,et al.  The NYU Ultracomputer—Designing an MIMD Shared Memory Parallel Computer , 1983, IEEE Transactions on Computers.

[3]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[4]  Jan Karel Lenstra,et al.  Complexity of Scheduling under Precedence Constraints , 1978, Oper. Res..

[5]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[6]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[7]  John L. Pfaltz,et al.  Computer data structures , 1977 .

[8]  David A. Padua,et al.  High-Speed Multiprocessors and Compilation Techniques , 1980, IEEE Transactions on Computers.

[9]  Ken Kennedy,et al.  PFC: A Program to Convert Fortran to Parallel Form , 1982 .

[10]  William B. Ackerman,et al.  Data Flow Languages , 1899, Computer.

[11]  John Glauert,et al.  SISAL: streams and iteration in a single assignment language. Language reference manual, Version 1. 2. Revision 1 , 1985 .

[12]  Jack B. Dennis,et al.  VAL -- A Value-Oriented Algorithmic Language (Preliminary Reference Manual), , 1979 .

[13]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[14]  Janusz S. Kowalik,et al.  Parallel MIMD computation : the HEP supercomputer and its applications , 1985 .

[15]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[16]  Edward F. Gehringer,et al.  The Cm* Multiprocessor Project: A Research Review , 1980 .

[17]  Alexandru Nicolau,et al.  Parallel processing: a smart compiler and a dumb machine , 1984, SIGP.

[18]  Ian Watson,et al.  The Manchester prototype dataflow computer , 1985, CACM.

[19]  A. Gottleib,et al.  The nyu ultracomputer- designing a mimd shared memory parallel computer , 1983 .

[20]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[21]  David A. Padua,et al.  A Second Opinion on Data Flow Machines and Languages , 1982, Computer.