Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Detection of Violations to the MPI Standard in Hybrid OpenMP/MPI Applications

  • Conference paper
OpenMP in a New Era of Parallelism (IWOMP 2008)

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

Included in the following conference series:

  • 935 Accesses

Abstract

The MPI standard allows the usage of multiple threads per process. The main idea was that an MPI call executed at one thread should not block other threads. In the MPI-2 standard this was refined by introducing the so called level of thread support which describes how threads may interact with MPI. The multi-threaded usage is restricted by several rules stated in the MPI standard. In this paper we describe the work on an MPI checker called MARMOT[1] to enhance its capabilities towards a verification that ensures that these rules are not violated. A first implementation is capable of detecting violations if they actually occur in a run made with MARMOT. As most of these violations occur due to missing thread synchronization it is likely that they don’t appear in every run of the application. To detect whether there is a run that violates one of the MPI restrictions it is necessary to analyze the OpenMP usage. Thus we introduced artificial data races that only occur if the application violates one of the MPI rules. By this design all tools capable of detecting data races can also detect violations to some of the MPI rules. To confirm this idea we used the Intel® Thread Checker.

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. Krammer, B., Bidmon, K., Müller, M.S., Resch, M.M.: MARMOT: An MPI Analysis and Checking Tool. In: Joubert, G.R., Nagel, W.E., Peters, F.J., Walter, W.V. (eds.) PARCO. Advances in Parallel Computing, vol. 13, pp. 493–500. Elsevier, Amsterdam (2003)

    Google Scholar 

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

  3. Message Passing Interface Forum: MPI: A Message-Passing Interface Standard (1995), http://www.mpi-forum.org/docs/mpi-10.ps

  4. Vetter, J.S., de Supinski, B.R.: Dynamic software testing of MPI applications with umpire. In: Supercomputing 2000: Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM), Washington, DC, USA, p. 51. IEEE Computer Society, Los Alamitos (2000)

    Google Scholar 

  5. Luecke, G.R., Zou, Y., Coyle, J., Hoekstra, J., Kraeva, M.: Deadlock detection in MPI programs.. Concurrency and Computation: Practice and Experience 14(11), 911–932 (2002)

    Article  MATH  Google Scholar 

  6. DeSouza, J., Kuhn, B., de Supinski, B.R., Samofalov, V., Zheltov, S., Bratanov, S.: Automated, scalable debugging of MPI programs with Intel® Message Checker. In: SE-HPCS 2005: Proceedings of the second international workshop on Software engineering for high performance computing system applications, pp. 78–82. ACM, New York (2005)

    Chapter  Google Scholar 

  7. Netzer, R.H.B., Miller, B.P.: What are race conditions?: Some issues and formalizations. ACM Lett. Program. Lang. Syst. 1(1), 74–88 (1992)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rudolf Eigenmann Bronis R. de Supinski

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hilbrich, T., Müller, M.S., Krammer, B. (2008). Detection of Violations to the MPI Standard in Hybrid OpenMP/MPI Applications. In: Eigenmann, R., de Supinski, B.R. (eds) OpenMP in a New Era of Parallelism. IWOMP 2008. Lecture Notes in Computer Science, vol 5004. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-79561-2_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-79561-2_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-79560-5

  • Online ISBN: 978-3-540-79561-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics