Publication details

Precise Predictive Analysis for Discovering Communication Deadlocks in MPI Programs



Year of publication 2014
Type Article in Proceedings
Conference FM 2014: Formal Methods
MU Faculty or unit

Faculty of Informatics

Field Informatics
Keywords MPI; verification; parallel computation
Description The Message Passing Interface (MPI) is the standard API for high-performance and scientific computing. Communication deadlocks are a frequent problem in MPI programs, and this paper addresses the problem of discovering such deadlocks. We begin by showing that if an MPI program is single-path, the problem of discovering communication deadlocks is NP-complete. We then present a novel propositional encoding scheme which captures the existence of communication deadlocks. The encoding is based on modelling executions with partial orders, and implemented in a tool called MOPPER. The tool executes an MPI program, collects the trace, builds a formula from the trace using the propositional encoding scheme, and checks its satisfiability. Finally, we present experimental results that quantify the benefit of the approach in comparison to a dynamic analyser and demonstrate that it offers a scalable solution.
Related projects:

You are running an old browser version. We recommend updating your browser to its latest version.

More info