Abstract | ||
---|---|---|
A high-level understanding of communication behavior can facilitate performance optimization of HPC applications. In particular, MPI communication patterns can serve as the basis of code transformations that substitute more efficient operations for those originally used by the application developer. We present a novel algorithm for identifying MPI communication patterns and a mechanism to perform source code transformations based on the observed patterns. Our transformation mechanism, implemented within the ROSE compiler framework, modifies the abstract syntax tree based on static analysis that confirms the generalizability of the patterns that we detect. Our results demonstrate the efficiency of our approach. Our pattern detection algorithm, which we evaluate with realistic applications using traces from up to 128 processors as well as with simple benchmarks, has low overhead as input or job size grows. Our transformation mechanism quickly optimizes MPI source code by replacing MPI code fragments for collective operations through highly optimized native MPI functions and by increasing the overlapping of communication and computation. |
Year | DOI | Venue |
---|---|---|
2010 | 10.1016/j.future.2009.05.017 | Future Generation Comp. Syst. |
Keywords | Field | DocType |
pattern detection algorithm,transforming mpi source code,transformation mechanism,abstract syntax tree,suffix tree,native mpi function,mpi communication pattern,mpi source code,communication behavior,source code transformation,source code,rose compiler framework,novel algorithm,code transformation,mpi code fragment,application development,static analysis | Source code,Computer science,Static analysis,Parallel computing,Abstract syntax tree,Code generation,Compiler,Suffix tree,Distributed computing,Computation,Dead code | Journal |
Volume | Issue | ISSN |
26 | 1 | Future Generation Computer Systems |
Citations | PageRank | References |
11 | 0.65 | 10 |
Authors | ||
5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Robert Preissl | 1 | 70 | 4.97 |
Martin Schulz | 2 | 2227 | 129.64 |
Dieter Kranzlmüller | 3 | 868 | 117.76 |
de Supinski, Bronis R. | 4 | 2667 | 154.44 |
Daniel J. Quinlan | 5 | 652 | 80.13 |