A multithreaded message passing interface (MPI) architecture: performance and program issues
Journal of Parallel and Distributed Computing
Optimizing threaded MPI execution on SMP clusters
ICS '01 Proceedings of the 15th international conference on Supercomputing
(Quasi-) Thread-Safe PVM and (Quasi-) Thread-Safe MPI without Active Polling
Proceedings of the 9th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
MPIDC '96 Proceedings of the Second MPI Developers Conference
Computer
SKaMPI: a comprehensive benchmark for public benchmarking of MPI
Scientific Programming
Thread-safety in an MPI implementation: Requirements and analysis
Parallel Computing
Enabling concurrent multithreaded MPI communication on multicore petascale systems
EuroMPI'10 Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface
Integrating MPI with asynchronous task parallelism
EuroMPI'11 Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface
Portable explicit threading and concurrent programming for MPI applications
PPAM'11 Proceedings of the 9th international conference on Parallel Processing and Applied Mathematics - Volume Part II
Concurrent programming constructs for parallel MPI applications
The Journal of Supercomputing
Parallel approach of a bioinspired routing protocol for MANETs
International Journal of Ad Hoc and Ubiquitous Computing
Hybrid MPI: efficient message passing for multi-core systems
SC '13 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Hi-index | 0.01 |
As parallel systems are commonly being built out of increasingly large multicore chips, application programmers are exploring the use of hybrid programming models combining MPI across nodes and multithreading within a node. Many MPI implementations, however, are just starting to support multithreaded MPI communication, often focussing on correctness first and performance later. As a result, both users and implementers need some measure for evaluating the multithreaded performance of an MPI implementation. In this paper, we propose a number of performance tests that are motivated by typical application scenarios. These tests cover the overhead of providing the MPI_THREAD_MULTIPLE level of thread safety for user programs, the amount of concurrency in different threads making MPI calls, the ability to overlap communication with computation, and other features. We present performance results with this test suite on several platforms (Linux cluster, Sun and IBM SMPs) and MPI implementations (MPICH2, Open MPI, IBM, and Sun).