Reduced Execution Semantics of MPI: From Theory to Practice

  • Authors:
  • Sarvani Vakkalanka;Anh Vo;Ganesh Gopalakrishnan;Robert M. Kirby

  • Affiliations:
  • School of Computing, University of Utah, Salt Lake City, USA UT 84112;School of Computing, University of Utah, Salt Lake City, USA UT 84112;School of Computing, University of Utah, Salt Lake City, USA UT 84112;School of Computing, University of Utah, Salt Lake City, USA UT 84112

  • Venue:
  • FM '09 Proceedings of the 2nd World Congress on Formal Methods
  • Year:
  • 2009

Quantified Score

Hi-index 0.02

Visualization

Abstract

There is growing need to develop formal verification tools for Message Passing Interface (MPI) programs to eliminate bugs such as deadlocks and local assertion violations. Of all approaches, dynamic verification is most practical for MPI. Since the number of interleavings of concurrent programs grow exponentially, we devise a dynamic interleaving reduction algorithm (dynamic partial order reduction , DPOR) tailor-made for MPI, called POE. The key contributions of this paper are: (i) a formal semantics that elucidates the complex dynamic semantics of MPI, and played an essential role in the design of the POE algorithm and the construction of the ISP tool, and (ii) a formal specification of our POE algorithm. We discuss how these ideas may help us build dynamic verifiers for other APIs, and summarize a dynamic verifier being designed for applications written using a recently proposed API for multi-core communication.