Buffer-safe communication optimization based on data flow analysis and performance prediction
- 23 November 2002
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 189-200
- https://doi.org/10.1109/pact.1997.644015
Abstract
This paper presents a novel approach to reduce communication costs of programs for distributed memory machines. Our techniques are based on uni-directional bit-vector data flow analysis that enable vectorizing and coalescing communication, overlapping communication with computation, eliminating redundant messages and amount of data being transferred both within and across loop nests. Our data flow analysis differs from previous techniques that it does not require to explicitly model balanced communication placement and loops and does not employ interval analysis. Our techniques are based on simple yet highly effective data flow equations which are solved iteratively for arbitrary control flow graphs. Moving communication earlier to hide latency has been shown to dramatically increase communication buffer sizes and can even cause runtime errors. We use P3T, a state-of-the-art performance estimator to create a buffer-safe program. By accurately estimating both the communication buffer sizes required and the implied communication times of every single communication of a program we can selectively choose communication that must be delayed in order to ensure a correct communication placement while maximizing communication latency hiding. Experimental results are presented to prove the efficacy of our communication optimization strategy.Keywords
This publication has 12 references indexed in Scilit:
- Toward symbolic performance prediction of parallel programsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Symbolic evaluation for parallelizing compilersPublished by Association for Computing Machinery (ACM) ,1997
- Compile-Time Estimation of Communication Costs for Data Parallel ProgramsJournal of Parallel and Distributed Computing, 1996
- A unified framework for optimizing communication in data-parallel programsIEEE Transactions on Parallel and Distributed Systems, 1996
- Global communication analysis and optimizationPublished by Association for Computing Machinery (ACM) ,1996
- The power of assignment motionPublished by Association for Computing Machinery (ACM) ,1995
- GIVE-N-TAKE—a balanced code placement frameworkPublished by Association for Computing Machinery (ACM) ,1994
- Communication optimization and code generation for distributed memory machinesPublished by Association for Computing Machinery (ACM) ,1993
- Evaluation of compiler optimizations for Fortran D on MIMD distributed memory machinesPublished by Association for Computing Machinery (ACM) ,1992
- Compiling communication-efficient programs for massively parallel machinesIEEE Transactions on Parallel and Distributed Systems, 1991