skip to main content
10.1145/1273647.1273657acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article

Semantics driven dynamic partial-order reduction of MPI-based parallel programs

Published:09 July 2007Publication History

ABSTRACT

Most distributed parallel programs in the high performance computing (HPC) arena are written using the MPI library. There is growing interest in using model checking for debugging these MPI programs. In this context, partial-order reduction has considerable potential for containing state explosion, given the distributed memory nature of MPI programs. This potential is largely unmet. In this paper, we first define the formal semantics for a non-trivial subset of MPI. We then prove independence theorems based on theformal semantics, paving the way to a semantically clear and general partial-order reduction approach for MPI. Our work describes, for the first time, the exact dependencies between MPI non-blocking send operations and their tests for completion, namely wait and test. We also offer a cleaner solution than in previous works for MPI wildcard receives,a proper handling of which requires knowledge of the future course of computations. We show that Flanagan and Godefroid's dynamic patial-order reduction algorithm offers a natural way to handle the need for future information. Our initial experimental results are encouraging.

References

  1. T. Andrews, S. Qadeer, S. K. Rajamani, J. Rehof, and Y. Xie. Zing: A model checker for concurrent software. In CAV 2004:16th International Conference on Computer Aided Verification, Boston, Massachusetts, July 2004, LNCS. Springer-Verlag, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  2. Steven Barrus, Ganesh Gopalakrishnan, Robert M. Kirby, and Robert Palmer. Verification of MPI programs using SPIN. Technical Report UUCS-04-008, The University of Utah, 2004.Google ScholarGoogle Scholar
  3. Twan Basten, Dragan Bosnacki, and Marc Geilen. Cluster-based partial-order reduction. Automated Software Engg., 11(4):365{402, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. E.M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jayant DeSouza, Bob Kuhn, Bronis R. de Supinski, Victor Samofalov, Sergey Zheltov, and Stanislav Bratanov. Automated, scalable debugging of mpi programs with intel message checker. In Proceedings of the Second International Workshop on Software Engineering for High Performance Computing System Applications, pages 78{82, 2005. ISBN:1-59593-117-1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cormac Flanagan and Patrice Godefroid. Dynamic partial-order reduction for model checking software. In POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 110{121, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Philippe Georgelin, Laurence Pierre, and Tin Nguyen. A formal specification of the MPI primitives and communication mechanisms. Technical report, LIM, 1999.Google ScholarGoogle Scholar
  8. Patrice Godefroid. Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. LNCS 1032. Springer-Verlag, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Patrice Godefroid. Model checking for programming languages using Verisoft. In POPL 97: Principles of Programming Languages, pages 174{186, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279{295, May 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Rajit Manohar and Alain J. Martin. Slack elasticity in concurrent computing. In MPC '98: Proceedings of the Mathematics of Program Construction, pages 272{285, London, UK, 1998. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. MPI: A Message-Passing Interface Standard. http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Robert Palmer, Steven Barrus, Yu Yang, Ganesh Gopalakrishnan, and Robert M. Kirby. Gauss: A framework for verifying scientific computing software. In SoftMC: Workshop on Software Model Checking, number 953 in ENTCS, August 2005.Google ScholarGoogle Scholar
  14. Robert Palmer, Ganesh Gopalakrishnan, and Robert M. Kirby. The communication semantics of the message passing interface. Technical Report UUCS-06-012, The University of Utah, October 2006.Google ScholarGoogle Scholar
  15. Robert Palmer, Ganesh Gopalakrishnan, and Robert M. Kirby. Semantics Driven Dynamic Partial-order Reduction of MPI-based Parallel Programs (full version). Technical Report UUCS-07-011, University of Utah, School of Computing, 2007.Google ScholarGoogle Scholar
  16. Salman Pervez, Ganesh Gopalakrishnan, Robert M. Kirby, Rajeev Thakur, and William Gropp. Formal verification of programs that use mpi one-sided communication. In Recent Advances in Parallel Virtual Machine and Message Passing Interface, volume 4192/2006 of LNCS, pages 30{39, Berlin/Heidelberg, 2006. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. http://research.microsoft.com/phoenix.Google ScholarGoogle Scholar
  18. Robby, M. Dwyer, and J. Hatcliff. Bogor: An extensible and highly-modular model checking framework. In FSE 03: Foundations of Software Engineering, pages 267{276. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Stephen F. Siegel. Efficient verification of halting properties for mpi programs with wildcard receives. In Radhia Cousot, editor, Verification, Model Checking, and Abstract Interpretation: 6th International Conference, VMCAI 2005, pages 413{429, Paris, January 2005. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Stephen F. Siegel. Model checking nonblocking mpi programs. In B. Cook and A. Podelski, editors, VMCAI 07, number 4349 in LNCS, pages 44{58. Springer-Verlag, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Stephen F. Siegel and George Avrunin. Analysis of mpi programs. Technical Report UM-CS-2003-036, Department of Computer Science, University of Massachusetts Amherst, 2003.Google ScholarGoogle Scholar
  22. Stephen F. Siegel and George S. Avrunin. Verification of mpi-based software for scientific computation. In Proceedings of the 11th International SPIN Workshop on Model Checking Software, volume 2989 of LNCS, pages 286{303, Barcelona, April 2004. Springer.Google ScholarGoogle Scholar
  23. Stephen F. Siegel and George S. Avrunin. Modeling wildcard-free MPI programs for verification. In ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming, pages 95{106, Chicago, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Antti Valmari. A stubborn attack on state explosion. In CAV 91: Computer Aided Verification, pages 156{165. Springer-Verlag, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Semantics driven dynamic partial-order reduction of MPI-based parallel programs

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                PADTAD '07: Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging
                July 2007
                72 pages
                ISBN:9781595937483
                DOI:10.1145/1273647

                Copyright © 2007 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 9 July 2007

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Upcoming Conference

                ISSTA '24

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader