Skip to main content

Verification of MPI-Based Software for Scientific Computation

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2989))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bollig, B., Leucker, M.: Modelling, specifying, and verifying message passing systems. In: Bettini, C., Montanari, A. (eds.) Proceedings of the Symposium on Temporal Representation and Reasoning (TIME 2001), pp. 240–248. IEEE Computer Society Press, Los Alamitos (2001)

    Chapter  Google Scholar 

  2. Cohen, E., Lamport, L.: Reduction in TLA. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 317–331. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  3. Corbett, J.C., Avrunin, G.S.: Using integer programming to verify general safety and liveness properties. Formal Methods in System Design 6, 97–123 (1995)

    Article  MATH  Google Scholar 

  4. Flanagan, C., Qadeer, S.: A type and effect system for atomicity. In: Cytron, R., Gupta, R. (eds.) Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, San Diego, pp. 338–349. ACM Press, New York (2003)

    Chapter  Google Scholar 

  5. Georgelin, P., Pierre, L., Nguyen, T.: A formal specification of the MPI primitives and communication mechanisms. Technical Report 1999-337, LIM (1999)

    Google Scholar 

  6. Gropp, W., Huss-Lederman, S., Lumsdaine, A., Lusk, E., Nitzberg, B., Saphir, W., Snir, M.: MPI—The Complete Reference: the MPI Extensions, vol. 2. MIT Press, Cambridge (1998)

    Google Scholar 

  7. Holzmann, G.J.: The Spin Model Checker. Addison-Wesley, Boston (2004)

    Google Scholar 

  8. Lipton, R.J.: Reduction: A method of proving properties of parallel programs. Communications of the ACM 18, 717–721 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  9. Manohar, R., Martin, A.J.: Slack elasticity in concurrent computing. In: Jeuring, J. (ed.) MPC 1998. LNCS, vol. 1422, pp. 272–285. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  10. Matlin, O.S., Lusk, E., McCune, W.: SPINning parallel systems software. In: Bonaki, D., Leue, S. (eds.) Model Checking of Software: 9th International SPIN Workshop, Grenoble. LNCS, vol. 2318, pp. 213–220. Springer, Heidelberg (2002)

    Google Scholar 

  11. Mazurkiewicz, A.: Trace theory. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 254, pp. 279–324. Springer, Heidelberg (1987)

    Google Scholar 

  12. Meenakshi, B., Ramanujam, R.: Reasoning about message passing in finite state environments. In: Montanari, U., Rolim, J.D.P., Welzl, E. (eds.) Automata, Languages and Programming, 27th International Colloquium, ICALP 2000, Geneva. LNCS, vol. 1853, pp. 487–498. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  13. Message-Passing Interface Standard 2.0 (1997), http://www.mpi-forum.org/docs

  14. Siegel, S.F.: The INCA query language. Technical Report UM-CS-2002-18, Department of Computer Science, University of Massachusetts (2002)

    Google Scholar 

  15. Siegel, S.F., Avrunin, G.S.: Improving the precision of INCA by eliminating solutions with spurious cycles. IEEE Transactions on Software Engineering 28, 115–128 (2002)

    Article  Google Scholar 

  16. Siegel, S.F., Avrunin, G.S.: Analysis of MPI programs. Technical Report UM-CS- 2003-036, Department of Computer Science, University of Massachusetts (2003)

    Google Scholar 

  17. Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI—The Complete Reference: The MPI Core, 2nd edn., vol. 1. MIT Press, Cambridge (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Siegel, S.F., Avrunin, G.S. (2004). Verification of MPI-Based Software for Scientific Computation. In: Graf, S., Mounier, L. (eds) Model Checking Software. SPIN 2004. Lecture Notes in Computer Science, vol 2989. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24732-6_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24732-6_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21314-7

  • Online ISBN: 978-3-540-24732-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics