Toward efficient support for multithreaded MPI communication

Pavan Balaji, Darius Buntinas, David Goodell, William Gropp, Rajeev Thakur

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

Abstract

To make the most effective use of parallel machines that are being built out of increasingly large multicore chips, researchers are exploring the use of programming models comprising a mixture of MPI and threads. Such hybrid models require efficient support from an MPI implementation for MPI messages sent from multiple threads simultaneously. In this paper, we explore the issues involved in designing such an implementation. We present four approaches to building a fully thread-safe MPI implementation, with decreasing levels of critical-section granularity (from coarse-grain locks to fine-grain locks to lock-free operations) and correspondingly increasing levels of complexity. We describe how we have structured our implementation to support all four approaches and enable one to be selected at build time. We present performance results with a message-rate benchmark to demonstrate the performance implications of the different approaches.

Original languageEnglish (US)
Title of host publicationRecent Advances in Parallel Virtual Machine and Message Passing Interface - 15th European PVM/MPI Users' Group Meeting, Proceedings
Pages120-129
Number of pages10
DOIs
StatePublished - 2008
Event15th European PVM/MPI Users' Group Meeting, EuroPVM/MPI 2008 - Dublin, Ireland
Duration: Sep 7 2008Sep 10 2008

Publication series

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

Other

Other15th European PVM/MPI Users' Group Meeting, EuroPVM/MPI 2008
Country/TerritoryIreland
CityDublin
Period9/7/089/10/08

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Toward efficient support for multithreaded MPI communication'. Together they form a unique fingerprint.

Cite this