Title :
A compile time partitioning method for DOALL loops on distributed memory systems
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Cincinnati Univ., OH, USA
Abstract :
The loop partitioning problem on modern distributed memory systems is no longer fully communication bound primarily due to a significantly lower ratio of communication/computation speeds. The useful parallelism may be exploited on these systems to an extent that the communication balances the parallelism and does not produce a very high overhead to nullify all the gains due to the parallelism. We describe a compile time partitioning and scheduling approach based on the above motivation for DOALL loops where communication without data replication is inevitable. First, the code partitioning phase analyzes the references in the body of the DOALL loop nest and determines a set of directions for reducing a larger degree of communication by trading a lesser degree of parallelism. Next, the data distribution phase uses a new larger partition owns rule to achieve computation and communication load balance. The granularity adjustment phase attempts to further eliminate communication through merging partitions to reduce the completion time. Finally, the load balancing phase attempts to reduce the number of processors without degrading the completion time and the mapping phase schedules the partitions on available processors. Relevant theory and algorithms are developed along with a performance evaluation on Cray T3D
Keywords :
distributed memory systems; parallel programming; parallelising compilers; program control structures; programming theory; resource allocation; scheduling; software performance evaluation; Cray T3D; DOALL loop nest; DOALL loops; code partitioning; communication speed; compile time partitioning method; computation speed; data distribution; data replication; distributed memory systems; granularity adjustment; load balance; merging; partition owns rule; performance evaluation; scheduling; Costs; Data communication; Degradation; Distributed computing; Load management; Merging; Parallel languages; Parallel processing; Partitioning algorithms; Processor scheduling;
Conference_Titel :
Parallel Processing, 1996. Vol.3. Software., Proceedings of the 1996 International Conference on
Conference_Location :
Ithaca, NY
Print_ISBN :
0-8186-7623-X
DOI :
10.1109/ICPP.1996.538557