Correctness Checking of MPI One-Sided Communication Using Marmot

  • Bettina Krammer
  • Michael M. Resch
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4192)

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.

Keywords

MPI Parallel Programming Tools Analysis One-sided communication RMA 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    DDD. The Data Display Debugger, http://www.gnu.org/software/ddd
  2. 2.
    DDT. The Distributed Debugging Tool, http://www.streamline-computing.com/
  3. 3.
    gdb. The GNU Project Debugger, http://www.gnu.org/manual/gdb
  4. 4.
  5. 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)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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)CrossRefGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 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)CrossRefGoogle Scholar
  10. 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. 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. 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)CrossRefGoogle Scholar
  13. 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. 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)CrossRefGoogle Scholar
  15. 15.
    Kranzlmüller, D.: Event Graph Analysis For Debugging Massively Parallel Programs. PhD thesis, Joh. Kepler University Linz, Austria (2000)Google Scholar
  16. 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. 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)MATHCrossRefGoogle Scholar
  18. 18.
    Message Passing Interface Forum. MPI: A Message Passing Interface Standard (June 1995), http://www.mpi-forum.org
  19. 19.
    Message Passing Interface Forum. MPI-2: Extensions to the Message Passing Interface (July 1997), http://www.mpi-forum.org
  20. 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)CrossRefGoogle Scholar
  21. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Bettina Krammer
    • 1
  • Michael M. Resch
    • 1
  1. 1.High Performance Computing Center StuttgartStuttgartGermany

Personalised recommendations