Resource-Based Communication Placement Analysis

Communication placement analysis is an important step in the compilation of data-parallel programs. However, to simplify the placement analysis, previous techniques ignored most machine-dependent resource constraints. This paper demonstrates the necessity of incorporating resource constraints in ensuring the correctness of the communication placement. It presents a new placement analysis technique that minimizes frequency of communication, eliminates redundant communication, and maximizes communication latency hiding while taking limited resources into account. The paper illustrates resource-based placement analysis in the context of placement of distributed-memory communication primitives and limited buffer size resource constraint. In addition, it shows the use of stripmining transformation in improving the efficacy of resource-based communication placement.

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

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

[3]  Thomas R. Gross,et al.  Structured dataflow analysis for arrays and its use in an optimizing compiler , 1990, Softw. Pract. Exp..

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

[5]  Edith Schonberg,et al.  A Framework for Exploiting Data Availability to Opimize Communication , 1993, LCPC.

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

[7]  Chau-Wen Tseng An optimizing Fortran D compiler for MIMD distributed-memory machines , 1993 .

[8]  Ken Kennedy,et al.  A communication placement framework with unified dependence and data-flow analysis , 1996, Proceedings of 3rd International Conference on High Performance Computing (HiPC).

[9]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

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

[11]  Robert E. Tarjan,et al.  Testing flow graph reducibility , 1973, J. Comput. Syst. Sci..

[12]  Ken Kennedy,et al.  GIVE-N-TAKE—a balanced code placement framework , 1994, PLDI '94.

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

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

[15]  Anoop Gupta,et al.  Design and evaluation of a compiler algorithm for prefetching , 1992, ASPLOS V.