Issues in developing a thread-safe MPI implementation

William Gropp, Rajeev Thakur

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The MPI-2 Standard has carefully specified the interaction between MPI and user-created threads, with the goal of enabling users to write multithreaded programs while also enabling MPI implementations to deliver high performance. In this paper, we describe and analyze what the MPI Standard says about thread safety and what it implies for an implementation. We classify the MPI functions based on their thread-safety requirements and discuss several issues to consider when implementing thread safety in MPI. We use the example of generating new context ids (required for creating new communicators) to demonstrate how a simple solution for the single-threaded case cannot be used when there are multiple threads and how a naïve thread-safe algorithm can be expensive. We then present an algorithm for generating context ids that works efficiently in both single-threaded and multithreaded cases.

Original languageEnglish (US)
Title of host publicationRecent Advances in Parallel Virtual Machine and Message Passing Interface - 13th European PVM/MPI User's Group Meeting, Proceedings
PublisherSpringer-Verlag Berlin Heidelberg
Pages12-21
Number of pages10
ISBN (Print)354039110X, 9783540391104
DOIs
StatePublished - Jan 1 2006
Externally publishedYes
Event13th European PVM/MPI User's Group Meeting - Bonn, Germany
Duration: Sep 17 2006Sep 20 2006

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume4192 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other13th European PVM/MPI User's Group Meeting
CountryGermany
CityBonn
Period9/17/069/20/06

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Issues in developing a thread-safe MPI implementation'. Together they form a unique fingerprint.

  • Cite this

    Gropp, W., & Thakur, R. (2006). Issues in developing a thread-safe MPI implementation. In Recent Advances in Parallel Virtual Machine and Message Passing Interface - 13th European PVM/MPI User's Group Meeting, Proceedings (pp. 12-21). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 4192 LNCS). Springer-Verlag Berlin Heidelberg. https://doi.org/10.1007/11846802_11