Detection of violations to the mpi standard in hybrid openmp/mpi applications

5Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

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. © 2008 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Hilbrich, T., Müller, M. S., & Krammer, B. (2008). Detection of violations to the mpi standard in hybrid openmp/mpi applications. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5004 LNCS, pp. 26–35). Springer Verlag. https://doi.org/10.1007/978-3-540-79561-2_3

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free