Title
PARCOACH: Combining static and dynamic validation of MPI collective communications
Abstract
Nowadays most scientific applications are parallelized based on MPI communications. Collective MPI communications have to be executed in the same order by all processes in their communicator and the same number of times, otherwise they do not conform to the standard and a deadlock or other undefined behaviour can occur. As soon as the control flow involving these collective operations becomes more complex, in particular including conditionals on process ranks, ensuring the correction of such code is error-prone. We propose in this paper a static analysis to detect when such a situation occurs, combined with a code transformation that prevents deadlocking. We focus on blocking MPI collective operations in single program multiple data applications, assuming MPI calls are not nested in multithreaded regions. We show on several benchmarks the small impact on performance and the ease of integration of our techniques in the development process.
Year
DOI
Venue
2014
10.1177/1094342014552204
International Journal of High Performance Computing Applications
Keywords
Field
DocType
collective,static analysis,debugging,mpi,correctness
Multiple data,Computer science,Correctness,Static analysis,Parallel computing,Control flow,Deadlock,Theoretical computer science,Order by,Code (cryptography),Debugging,Distributed computing
Journal
Volume
Issue
ISSN
28
4
1094-3420
Citations 
PageRank 
References 
5
0.80
15
Authors
3
Name
Order
Citations
PageRank
Emmanuelle Saillard1123.68
Patrick Carribault224025.96
Denis Barthou323826.14