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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
DDD. The Data Display Debugger, http://www.gnu.org/software/ddd
DDT. The Distributed Debugging Tool, http://www.streamline-computing.com/
gdb. The GNU Project Debugger, http://www.gnu.org/manual/gdb
Totalview, http://www.etnus.com/Products/TotalView
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)
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)
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)
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)
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)
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
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)
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)
Krammer, B., Mueller, M.S., Resch, M.M.: Runtime checking of MPI applications with MARMOT. In: ParCo 2005, Malaga, Spain (September 2005)
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)
KranzlmĂĽller, D.: Event Graph Analysis For Debugging Massively Parallel Programs. PhD thesis, Joh. Kepler University Linz, Austria (2000)
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)
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)
Message Passing Interface Forum. MPI: A Message Passing Interface Standard (June 1995), http://www.mpi-forum.org
Message Passing Interface Forum. MPI-2: Extensions to the Message Passing Interface (July 1997), http://www.mpi-forum.org
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)