2000
DOI: 10.1145/363911.363920
|View full text |Cite
|
Sign up to set email alerts
|

Program transformation and runtime support for threaded MPI execution on shared-memory machines

Abstract: Parallel programs written in MPI have been widely used for developing high-performance applications on various platforms. Because of a restriction of the MPI computation model, conventional MPI implementations on shared memory machines map each MPI node to an OS process, which can suffer serious performance degradation in the presence of multiprogramming. This paper studies compile-time and runtime techniques for enhancing performance portability of MPI code running on multiprogrammed shared memory machines. T… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
16
0

Year Published

2004
2004
2012
2012

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 28 publications
(16 citation statements)
references
References 24 publications
(51 reference statements)
0
16
0
Order By: Relevance
“…Previous work on efficiently supporting MPI on shared-memory systems has concentrated mostly on mapping an MPI rank to a system-level or user-level thread [4][5][6][7]. This approach allows MPI ranks to share memory inside an operating system process, but it requires program transformation or knowledge on the part of the programmer to handle global and static variables appropriately.…”
Section: Motivation and Related Workmentioning
confidence: 99%
“…Previous work on efficiently supporting MPI on shared-memory systems has concentrated mostly on mapping an MPI rank to a system-level or user-level thread [4][5][6][7]. This approach allows MPI ranks to share memory inside an operating system process, but it requires program transformation or knowledge on the part of the programmer to handle global and static variables appropriately.…”
Section: Motivation and Related Workmentioning
confidence: 99%
“…TMPI [16] uses multithreading for performance enhancement of multi-threaded MPI programs on shared memory machines. More recent work in FG-MPI [9] shares the same idea with AMPI by exploiting fine grained decomposition using threads.…”
Section: Related Workmentioning
confidence: 99%
“…Adaptive MPI (AMPI) [4], [5], FG-MPI [6], Phoenix [7] and TMPI (Threaded MPI) [8] exemplify this approach. One advantage of this approach is that it allows automatic adaptive overlap of communication and computationwhen one MPI thread is blocked to receive a message, another MPI thread on the same processor can be scheduled to be executed.…”
Section: Motivationmentioning
confidence: 99%
“…TMPI [8] uses multithreading for performance enhancement of multi-threaded MPI programs on shared-memory machines. Because it targets a shared-memory scenario, its main goal in implementing MPI tasks via threads is to provide a common address space to the threads such that memory copy in message-passing is avoided.…”
Section: Flashmentioning
confidence: 99%