Efficient MPI support for advanced hybrid programming models. Hoefler, T., Bronevetsky, G., Barrett, B., De Supinski, B., R., & Lumsdaine, A. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 6305 LNCS:50-61, 2010.
Efficient MPI support for advanced hybrid programming models [link]Website  doi  abstract   bibtex   
The number of multithreaded Message Passing Interface (MPI) implementations and applications is increasing rapidly. We discuss how multithreaded applications can receive messages of unknown size. As is well known, combining MPI-Probe/MPI-Recv is not thread-safe, but many assume that trivial workarounds exist. We discuss those workarounds and show how they fail in practice by either limiting the available parallelism unnecessarily, consuming resources in a non-scalable way, or promoting global deadlocks. In this light, we propose two fundamentally different efficient approaches to enable thread-safe messaging in MPI-2.2: fine-grained locking and matching outside of MPI. Our approaches provide thread-safe probe and receive functionality, but both have deficiencies, including performance limitations and programming complexity, that could be avoided if MPI would offer a thread-safe (stateless) interface to MPI-Probe. We propose such an extension for the upcoming MPI-3 standard, provide a reference implementation, and demonstrate significant performance benefits. © 2010 Springer-Verlag.
@article{
 title = {Efficient MPI support for advanced hybrid programming models},
 type = {article},
 year = {2010},
 keywords = {Hybrid programming model; Message Passing Interfac,Message passing,Probes},
 pages = {50-61},
 volume = {6305 LNCS},
 websites = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-78149269141&doi=10.1007%2F978-3-642-15646-5_6&partnerID=40&md5=c425c6b396a0160f62baa10a01789731},
 city = {Stuttgart},
 id = {ee312a20-559b-3d3e-860b-fac0d7af7d21},
 created = {2018-01-09T20:30:38.749Z},
 file_attached = {false},
 profile_id = {42d295c0-0737-38d6-8b43-508cab6ea85d},
 last_modified = {2018-03-12T19:03:18.024Z},
 read = {false},
 starred = {false},
 authored = {true},
 confirmed = {true},
 hidden = {false},
 citation_key = {Hoefler201050},
 source_type = {article},
 notes = {cited By 5; Conference of 17th European MPI Users' Group Meeting, EuroMPI 2010 ; Conference Date: 12 September 2010 Through 15 September 2010; Conference Code:82267},
 folder_uuids = {2aba6c14-9027-4f47-8627-0902e1e2342b},
 private_publication = {false},
 abstract = {The number of multithreaded Message Passing Interface (MPI) implementations and applications is increasing rapidly. We discuss how multithreaded applications can receive messages of unknown size. As is well known, combining MPI-Probe/MPI-Recv is not thread-safe, but many assume that trivial workarounds exist. We discuss those workarounds and show how they fail in practice by either limiting the available parallelism unnecessarily, consuming resources in a non-scalable way, or promoting global deadlocks. In this light, we propose two fundamentally different efficient approaches to enable thread-safe messaging in MPI-2.2: fine-grained locking and matching outside of MPI. Our approaches provide thread-safe probe and receive functionality, but both have deficiencies, including performance limitations and programming complexity, that could be avoided if MPI would offer a thread-safe (stateless) interface to MPI-Probe. We propose such an extension for the upcoming MPI-3 standard, provide a reference implementation, and demonstrate significant performance benefits. © 2010 Springer-Verlag.},
 bibtype = {article},
 author = {Hoefler, T and Bronevetsky, G and Barrett, B and De Supinski, B R and Lumsdaine, A},
 doi = {10.1007/978-3-642-15646-5_6},
 journal = {Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)}
}

Downloads: 0