Verification of MPI-Based Software for Scientific Computation

by Stephen F. Siegel and George S. Avrunin

Abstract. We explore issues related to the application of finite-state verification techniques to scientific computation software employing the widely-used Message-Passing Interface (MPI). Many of the features of MPI that are important for programmers present significant difficulties for model checking. In this paper, we examine a small parallel program that computes the evolution in time of a discretized function u defined on a 2-dimensional domain and governed by the diffusion equation. Although this example is simple, it makes use of many of the problematic features of MPI. We discuss the modeling of these features and use Spin and INCA to verify several correctness properties for various configurations of this program. Finally, we describe some general theorems that can be used to justify simplifications in finite-state models of MPI programs and that guarantee certain properties must hold for any program using only a particular subset of MPI.
Stephen F. Siegel and George S. Avrunin, Verification of MPI-based software for scientific computation, in Graf, S., Mounier, L., eds.: Model Checking Software: 11th International SPIN Workshop, Barcelona, Spain, April 1--3, 2004, Proceedings. Lecture Notes in Computer Science 2989, Springer-Verlag (2004) 286--303.

This paper is ©Springer-Verlag.

You may download the paper in one of the following formats:

Other items:
Return to: Publications and Preprints.
Stephen F. Siegel / LASER / Dept of Comp. Sci. / UMass