Optimizing Communication Using Global Dataflow Analysis

In distributed-memory message passing architectures redu cing communication cost is extremely important. In this paper, we present a technique to improve communicati on globally. Our approach is based on a combination of linear algebra framework and dataflow analys is, and can take arbitrary control flow into account. The distinctive feature of the algorithm is its acc ura y in keeping communication set information, its support for general alignments and distributions inclu ding block-cyclic distributions, and capability of simulating some of the previous approaches by appropriate m odifications. The method is currently being implemented in the PARADIGM compiler. We show how optimizat ions such as message vectorization, message coalescing, redundancy elimination can be supported b y our new framework. Experimental results on an IBM SP-2 show that our technique is effective in reducing b oth the number as well as the volume of the communication.

[1]  Geoffrey C. Fox,et al.  A Compilation Approach for Fortran 90D/HPF Compilers on Distributed Memory MIMD Computers , 1993 .

[2]  Bernhard Steffen,et al.  Optimal code motion: theory and practice , 1994, TOPL.

[3]  Vikram S. Adve,et al.  An Integer Set Framework for HPF Analysis and Code Generation , 1997 .

[4]  Ken Kennedy,et al.  Analysis of interprocedural side effects in a parallel programming environment , 1988, J. Parallel Distributed Comput..

[5]  Alexander V. Veidenbaum,et al.  Detecting redundant accesses to array data , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[6]  William Pugh,et al.  The Omega Library interface guide , 1995 .

[7]  John A. Chandy,et al.  The Paradigm Compiler for Distributed-Memory Multicomputers , 1995, Computer.

[8]  Rami G. Melhem,et al.  An Array Data Flow Analysis Based Communication Optimizer , 1997, LCPC.

[9]  Ken Kennedy,et al.  Compiling Fortran D for MIMD distributed-memory machines , 1992, CACM.

[10]  Ken Kennedy,et al.  Evaluation of compiler optimizations for Fortran D on MIMD distributed memory machines , 1992, ICS '92.

[11]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[12]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

[13]  Monica S. Lam,et al.  Communication optimization and code generation for distributed memory machines , 1993, PLDI '93.

[14]  Prithviraj Banerjee,et al.  Advanced compilation techniques in the PARADIGM compiler for distributed-memory multicomputers , 1995, ICS '95.

[15]  Charles Koelbel,et al.  High Performance Fortran Handbook , 1993 .

[16]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[17]  Michael Gerndt,et al.  SUPERB: A tool for semi-automatic MIMD/SIMD parallelization , 1988, Parallel Comput..

[18]  Edith Schonberg,et al.  A Unified Data-Flow Framework for Optimizing Communication , 1994, LCPC.

[19]  Prithviraj Banerjee,et al.  Processor Tagged Descriptors: A Data Structure for Compiling for Distributed-Memory Multicomputers , 1994, IFIP PACT.

[20]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[21]  Rami G. Melhem,et al.  Compilation Techniques for Optimizing Communication on Distributed-Memory Systems , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[22]  Jong-Deok Choi,et al.  Global communication analysis and optimization , 1996, PLDI '96.