DocumentCode
1681937
Title
Compiler-controlled extraction of computation-communication overlap in MPI applications
Author
Das, Dibyendu ; Gupta, Manish ; Ravindran, Rajan ; Shivani, W. ; Sivakeshava, P. ; Uppal, Rishabh
Author_Institution
Syst. & Technol. Lab., IBM India, Bangalore
fYear
2008
Firstpage
1
Lastpage
8
Abstract
Exploiting computation-communication overlap is a well- known requirement to speed up distributed applications. However, efforts till now use programmer expertise, rather than any automatic tool to do this. In our work we propose the use of an aggressive optimizing compiler (IBM´s xl series) to automatically extract opportunities for computation communication overlap. We depend on aggressive inlining, dominator trees and SSA based use-def analyses provided by the compiler framework for exploiting such overlap. Our target is MPI applications. In such applications, we try to automatically move mpi_waits as well as split blocking mpi_send/recv to create more opportunities for overlap. Our objective is two-fold: firstly, our tool should relieve the programmer from the burden of hunting for overlap manually as much as possible, and secondly, it should aid in converging on parallel applications which benefit from such overlap quickly. These are necessary as MPI applications are quickly becoming complex and huge and manual overlap extraction is becoming cumbersome. Our early experience shows that it is not necessary that exploiting an overlap always leads to performance improvement. This corroborates with the fact that if we have an automatic tool, then, we can quickly discard such applications (or certain configurations of such applications) without spending person-hours to manually rewrite MPI applications for introducing non-blocking calls. Our initial experiments with the industry-standard NAS parallel benchmarks show that we can get small-to-moderate improvements by utilizing overlap even in such highly tuned benchmarks. This augurs well for real-world applications that do not exploit overlap optimally.
Keywords
application program interfaces; message passing; optimising compilers; IBM xl series; MPI applications; NAS Parallel benchmarks; SSA based use-def analyses; aggressive inlining; compiler-controlled extraction; computation-communication overlap; dominator trees; optimizing compiler; parallel applications; Algorithm design and analysis; Application specific integrated circuits; Distributed computing; Optimizing compilers; Performance gain; Performance loss; Programming profession; Compiler Optimization; Computation-Communication Overlap;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on
Conference_Location
Miami, FL
ISSN
1530-2075
Print_ISBN
978-1-4244-1693-6
Electronic_ISBN
1530-2075
Type
conf
DOI
10.1109/IPDPS.2008.4536193
Filename
4536193
Link To Document