Skip to main content

Notes on Nondeterminism in Message Passing Programs

  • Conference paper
  • First Online:
Recent Advances in Parallel Virtual Machine and Message Passing Interface (EuroPVM/MPI 2002)

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

Abstract

Nondeterministic program behavior can lead to different results in subsequent program runs based on the same input data. This kind of problem can be seen in any program, but is even magnified in a parallel execution context due to the existence of several independent but communicating tasks. Even though this kind of nondeterminism is commonplace and in many cases even useful for the implementation of applications, it often leads to sporadically occurring errors. These bugs are difficult to reproduce and represent a heavy challenge during testing and debugging. The biggest problem, however, may be the unawareness of users about the existence of nondeterministic choices and their consequences. In order to raise the awareness and to provoke discussions about this serious problem, this paper provides an exemplary overview of nondeterministic behavior in message passing programs. With simple examples, it is demonstrated how nondeterminism can vigorously affect the behavior and the final results of software and how the behavior can change between different architectures.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Buyya (Ed.). High Performance Cluster Computing-Architectures and Systems, Vol. 1, and High Performance Cluster Computing-Programming and Applications, Vol. 2, Prentice-Hall PTR, New Jersey, USA (1999).

    Google Scholar 

  2. R. H. Carver and K.C. Tai. Replay and Testing for Concurrent Programs. IEEE Software, Vol. 8, No. 2. pp. 66–74 (March 1991).

    Article  Google Scholar 

  3. A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM: Parallel Virtual Machine — A User’s Guide and Tutorial for Networked Parallel Computing. Scientific and Engineering Computation. MIT Press, 1994.

    Google Scholar 

  4. D.P. Helmbold and Ch.E. McDowell. Race Detection-Ten Years Later. in: M. L. Simmons, A. H. Hyes, J.S. Brown and D.A. Reed Debugging and Performance Tuning for Parallel Computing Systems. IEEE Computer Society Press, Los Alamitos, CA, USA, pp. 101–126 (1996).

    Google Scholar 

  5. P. Kacsuk. Systematic Macrostep Debugging of Message Passing Parallel Programs. Proc. DAPSYS 98, Future Generation Computer Systems, North-Holland, Vol. 16, No. 6, pp. 597–607 (April 2000).

    Article  Google Scholar 

  6. R. Kobler, D. Kranzlmüller, J. Volkert. Debugging OpenMP Programs Using Event Manipulation. Proc. WOMPAT 2001, Intl. Workshop on OpenMP Applications and Tools, West Lafayette, Indiana, USA, pp. 81–89 (July 2001).

    Google Scholar 

  7. D. Kranzlmüller, S. Grabner, and J. Volkert. Debugging with the MAD Environment. Journal of Parallel Computing, Elsevier, Vol. 23, No. 1–2, pp. 199–217 (April1997).

    Article  MATH  Google Scholar 

  8. D. Kranzlmüller. Event Graph Analysis for Debugging Massively Parallel Programs. Ph.D. thesis, GUP Linz, Johannes Kepler University Linz, Austria (September 2000) http://www.gup.uni-linz.ac.at/~dk/thesis.

    Google Scholar 

  9. D. Kranzlmüller, Ch. Schaubschläger, and J. Volkert. An Integrated Record&Replay Mechanism for Nondeterministic Message Passing Programs. Proc. EuroPVMMPI 2001, Springer, LNCS, Vol. 2131, pp. 192–200 (2001).

    Google Scholar 

  10. D. Kranzlmüller and J. Volkert. NOPE: A Nondeterministic Program Evaluator. Proc. of ACPC’ 99, 4th Intl. ACPC Conference, Springer, LNCS, Vol. 1557, Salzburg, pp. 490–499 (Feb. 1999).

    Google Scholar 

  11. T. J. LeBlanc and J.M Mellor-Crummey. Debugging Parallel Programs with Instant Replay. IEEE Transactions on Computers, Vol. C-36, No. 4, pp. 471–481 (April1987).

    Article  Google Scholar 

  12. Ch.E. McDowell and D. P. Helmbold. Debugging Concurrent Programs. ACM Computing Surveys, Vol. 21, No. 4, pp. 593–622 (December 1989).

    Article  Google Scholar 

  13. Message Passing Interface Forum (MPIF). MPI: A Message-Passing Interface Standard. Technical Report, University of Tennessee, Knoxville, June 1995. http://www.mpi-forum.org/.

    Google Scholar 

  14. R.H. B. Netzer, T.W. Brennan, and S.K. Damodaran-Kamal. Debugging Race Conditions in Message-Passing Programs. Proc. SPDT 96, ACM SIGMETRICS Symposium on Parallel and Distribution Tools, Philadelphia, PA, USA pp. 31–50 (May 1996).

    Google Scholar 

  15. R.H.B. Netzer and B.P. Miller. Optimal Tracing and Replay for Debugging Message-Passing Parallel Program. Proc. Supercomputing 92, Minneapolis, MN, USA, pp. 502–511 (November 1992).

    Google Scholar 

  16. M. Oberhuber. Elimination of Nondeterminacy for Testing and Debugging Parallel Programs. Proc. AADEBUG’ 95, 2nd International Workshop on Automated and Algorithmic Debugging, Saint Malo, France, pp. 315–316 (May 1995).

    Google Scholar 

  17. M. Ronsse, K. DeBosschere. RecPlay: A Fully Integrated Pratical Record/Replay System. ACM Transactions on Computer Systems, Vol. 17, No. 2, pp. 133–152 (May 1999).

    Article  Google Scholar 

  18. M. A. Ronsse, K. De Bosschere, and J. Chassin de Kergommeaux. Execution Replay and Debugging. Proc. AADEBUG 2000, 4th Intl. Workshop on Automated Debugging, Munich, Germany, pp. 5–18 (August 2000).

    Google Scholar 

  19. D. F. Snelling and G.-R. Hoffmann. A Comparative Study of Libraries for Parallel Processing. Proc. Intl. Conf. on Vector and Parallel Processors, Computational Science III, Parallel Computing, Vol. 8(1–3), pp. 255–266 (1988).

    Article  Google Scholar 

  20. K.C. Tai, R. H. Carver, and E. E. Obaid. Debugging Concurrent Ada Programs by Deterministic Execution. IEEE Transactions on Software Engineering, Vol. 17, No. 1, pp. 45–63 (January 1991).

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kranzlmüller, D., Schulz, M. (2002). Notes on Nondeterminism in Message Passing Programs. In: Kranzlmüller, D., Volkert, J., Kacsuk, P., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2002. Lecture Notes in Computer Science, vol 2474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45825-5_53

Download citation

  • DOI: https://doi.org/10.1007/3-540-45825-5_53

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-45825-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics