Title :
Compiler optimizations for distributed-memory programs
Author_Institution :
Dept. of Comput. Sci., Pittsburgh Univ., PA, USA
Abstract :
The single-program multiple-data (SPMD) mode of execution is an effective approach for exploiting parallelism in programs written using the shared-memory programming model on distributed memory machines. However, during SPMD execution one must consider dependencies due to the transfer of data among the processors. Such dependencies can be avoided by reordering the communication operations (sends and receives). However, no formal framework has been developed to explicitly recognize the represent such dependencies. The author identifies two types of dependencies, namely communication dependencies and scheduling dependencies, and proposes to represent these dependencies explicitly in the program dependency graph. Next, he presents program transformations that use this dependency information in transforming the program and increasing the degree of parallelism exploited. Finally, the author presents program transformations that reduce communication related run-time overhead
Keywords :
distributed memory systems; optimisation; parallel programming; program compilers; scheduling; communication dependencies; communication operations; compiler optimizations; data transfer; distributed-memory programs; parallelism; program dependency graph; program transformations; run-time overhead; scheduling dependencies; shared-memory programming model; single program multiple data execution; Communication system control; Computer science; Data structures; Delay; Optimizing compilers; Parallel processing; Parallel programming; Processor scheduling; Program processors; Runtime;
Conference_Titel :
Scalable High Performance Computing Conference, 1992. SHPCC-92, Proceedings.
Conference_Location :
Williamsburg, VA
Print_ISBN :
0-8186-2775-1
DOI :
10.1109/SHPCC.1992.232651