Skip to main content

Correctness Checking of MPI One-Sided Communication Using Marmot

  • Conference paper
Recent Advances in Parallel Virtual Machine and Message Passing Interface (EuroPVM/MPI 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4192))

  • 1250 Accesses

Abstract

The MPI-2 standard defines functions for Remote Memory Access (RMA) by allowing one process to specify all communication parameters both for the sending and the receiving side, which is also referred to as one-sided communication. Having experienced parallel programming as a complex and error-prone task, we have developed the MPI correctness checking tool MARMOT covering the MPI-1.2 standard and are now aiming at extending it to support application developers also for the more frequently used parts of MPI-2 such as one-sided communication. In this paper we describe our tool, which is designed to check the correct usage of the MPI API automatically at run-time, and we also analyse to what extent it is possible to do so for RMA.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. DDD. The Data Display Debugger, http://www.gnu.org/software/ddd

  2. DDT. The Distributed Debugging Tool, http://www.streamline-computing.com/

  3. gdb. The GNU Project Debugger, http://www.gnu.org/manual/gdb

  4. Totalview, http://www.etnus.com/Products/TotalView

  5. Carson, B., Mason, I.A.: ClusterGrind: Valgrinding LAM/MPI applications. In: Di Martino, B., KranzlmĂĽller, D., Dongarra, J. (eds.) EuroPVM/MPI 2005. LNCS, vol. 3666, pp. 325–332. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Falzone, C., Chan, A., Lusk, E., Gropp, W.D.: Collective Error Detection for MPI Collective Operations. In: Di Martino, B., KranzlmĂĽller, D., Dongarra, J. (eds.) EuroPVM/MPI 2005. LNCS, vol. 3666, pp. 138–147. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  7. Gabriel, E., Fagg, G.E., Bosilca, G., Angskun, T., Dongarra, J.J., Squyres, J.M., Sahay, V., Kambadur, P., Barrett, B., Lumsdaine, A., Castain, R.H., Daniel, D.J., Graham, R.L., Woodall, T.S.: Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation. In: KranzlmĂĽller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 97–104. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. Gabriel, E., Fagg, G.E., Dongarra, J.J.: Evaluating dynamic communicators and one-sided operations for current MPI libraries. Inte’l Journal of High-Performance Computing Applications 19(1), 67–80 (2005)

    Article  Google Scholar 

  9. Gropp, W., Thakur, R.: An Evaluation of Implementation Options for MPI One-Sided Communication. In: Di Martino, B., KranzlmĂĽller, D., Dongarra, J. (eds.) EuroPVM/MPI 2005. LNCS, vol. 3666, pp. 415–424. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  10. Kuhn, B., DeSouza, J., de Supinski, B.R.: Automated, scalable debugging of MPI programs with Intel Message Checker. In: SE-HPCS 2005, St. Louis, Missouri, USA (2005), http://csdl.ics.hawaii.edu/se-hpcs/papers/11.pdf

  11. Krammer, B., Bidmon, K., MĂĽller, M.S., Resch, M.M.: MARMOT: An MPI Analysis and Checking Tool. In: ParCO 2003, Dresden, Germany (September 2003)

    Google Scholar 

  12. Krammer, B., MĂĽller, M.S., Resch, M.M.: MPI I/O analysis and error detection with MARMOT. In: KranzlmĂĽller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 242–250. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. Krammer, B., Mueller, M.S., Resch, M.M.: Runtime checking of MPI applications with MARMOT. In: ParCo 2005, Malaga, Spain (September 2005)

    Google Scholar 

  14. Krammer, B., MĂĽller, M.S., Resch, M.M.: MPI Application Development Using the Analysis Tool MARMOT. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 464–471. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  15. KranzlmĂĽller, D.: Event Graph Analysis For Debugging Massively Parallel Programs. PhD thesis, Joh. Kepler University Linz, Austria (2000)

    Google Scholar 

  16. Liu, J., Jiang, W., Wyckoff, P., Panda, D.K., Ashton, D., Buntinas, D., Gropp, W.D., Toonen, B.R.: Design and Implementation of MPICH2 over InfiniBand with RDMA Support. In: IPDPS. IEEE Computer Society, Los Alamitos (2004)

    Google Scholar 

  17. Luecke, G., Zou, Y., Coyle, J., Hoekstra, J., Kraeva, M.: Deadlock Detection in MPI Programs. Concurrency and Computation: Practice and Experience 14, 911–932 (2002)

    Article  MATH  Google Scholar 

  18. Message Passing Interface Forum. MPI: A Message Passing Interface Standard (June 1995), http://www.mpi-forum.org

  19. Message Passing Interface Forum. MPI-2: Extensions to the Message Passing Interface (July 1997), http://www.mpi-forum.org

  20. Träff, J.L., Worringen, J.: Verifying Collective MPI Calls. In: KranzlmĂĽller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 18–27. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  21. Vetter, J.S., de Supinski, B.R.: Dynamic Software Testing of MPI Applications with Umpire. In: SC 2000, Dallas, Texas. ACM/IEEE. CD-ROM (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Krammer, B., Resch, M.M. (2006). Correctness Checking of MPI One-Sided Communication Using Marmot. In: Mohr, B., Träff, J.L., Worringen, J., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2006. Lecture Notes in Computer Science, vol 4192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11846802_21

Download citation

  • DOI: https://doi.org/10.1007/11846802_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-39110-4

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics