{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,1]],"date-time":"2026-05-01T23:00:20Z","timestamp":1777676420323,"version":"3.51.4"},"reference-count":18,"publisher":"SAGE Publications","issue":"1","license":[{"start":{"date-parts":[[2010,2,1]],"date-time":"2010-02-01T00:00:00Z","timestamp":1264982400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2010,2]]},"abstract":"<jats:p>As high-end computing systems continue to grow in scale, recent advances in multi- and many-core architectures have pushed such growth toward more dense architectures, that is, more processing elements per physical node, rather than more physical nodes themselves. Although a large number of scientific applications have relied so far on an MPI-everywhere model for programming high-end parallel systems; this model may not be sufficient for future machines, given their physical constraints such as decreasing amounts of memory per processing element and shared caches. As a result, application and computer scientists are exploring alternative programming models that involve using MPI between address spaces and some other threaded model, such as OpenMP, Pthreads, or Intel TBB, within an address space. 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 present performance results that demonstrate the performance implications of the different approaches.<\/jats:p>","DOI":"10.1177\/1094342009360206","type":"journal-article","created":{"date-parts":[[2010,2,24]],"date-time":"2010-02-24T12:39:34Z","timestamp":1267015174000},"page":"49-57","source":"Crossref","is-referenced-by-count":49,"title":["Fine-Grained Multithreading Support for Hybrid Threaded MPI Programming"],"prefix":"10.1177","volume":"24","author":[{"given":"Pavan","family":"Balaji","sequence":"first","affiliation":[{"name":"MATHEMATICS AND COMPUTER SCIENCE DIVISION, ARGONNE NATIONAL LABORATORY, ARGONNE, IL 60439, USA,"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Darius","family":"Buntinas","sequence":"additional","affiliation":[{"name":"MATHEMATICS AND COMPUTER SCIENCE DIVISION, ARGONNE NATIONAL LABORATORY, ARGONNE, IL 60439, USA."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Goodell","sequence":"additional","affiliation":[{"name":"MATHEMATICS AND COMPUTER SCIENCE DIVISION, ARGONNE NATIONAL LABORATORY, ARGONNE, IL 60439, USA."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"William","family":"Gropp","sequence":"additional","affiliation":[{"name":"DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF ILLINOIS, URBANA, IL 61801, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rajeev","family":"Thakur","sequence":"additional","affiliation":[{"name":"MATHEMATICS AND COMPUTER SCIENCE DIVISION, ARGONNE NATIONAL LABORATORY, ARGONNE, IL 60439, USA."}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"179","published-online":{"date-parts":[[2010,2,24]]},"reference":[{"key":"bibr-0","volume-title":"Proceedings of the IASTED Conference on Parallel and Distributed Computing and Systems","author":"Caglar, S.G."},{"key":"bibr-1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2005.08.001"},{"key":"bibr-2","volume-title":"Proceedings of the 11th International Symposium on High Performance Computing Systems","author":"Demaine, E.D."},{"key":"bibr-3","doi-asserted-by":"publisher","DOI":"10.1145\/365559.365617"},{"key":"bibr-4","volume-title":"6th European PVM\/MPI Users\u2019 Group Meeting (Lecture Notes in Computer Science","author":"Garc\u00eda, F."},{"key":"bibr-5","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2007.07.002"},{"key":"bibr-6","doi-asserted-by":"publisher","DOI":"10.1145\/114005.102808"},{"key":"bibr-7","volume":"1003","author":"Ieee","year":"1996","journal-title":"IEEE\/ANSI Standard"},{"key":"bibr-8","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2006.180"},{"key":"bibr-9","volume-title":"MPI-2: Extensions to the message-passing interface","author":"MPI Forum","year":"1997"},{"key":"bibr-10","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45825-5_46"},{"key":"bibr-11","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.2000.1674"},{"key":"bibr-12","volume-title":"Intel Threading Building Blocks","author":"Reinders, J.","year":"2007"},{"key":"bibr-13","doi-asserted-by":"publisher","DOI":"10.1145\/1399504.1360617"},{"key":"bibr-14","volume-title":"Proceedings of the 2nd MPI Developers Conference","author":"Skjellum, A."},{"key":"bibr-15","volume-title":"Proceedings of the 15th ACM International Conference on Supercomputing","author":"Tang, H."},{"key":"bibr-16","volume-title":"Top500 supercomputer sites","author":"Top500","year":"2008"},{"key":"bibr-17","author":"Vance, A.","year":"2008","journal-title":"The Register"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342009360206","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342009360206","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T08:18:50Z","timestamp":1777450730000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342009360206"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010,2]]},"references-count":18,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2010,2]]}},"alternative-id":["10.1177\/1094342009360206"],"URL":"https:\/\/doi.org\/10.1177\/1094342009360206","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"value":"1094-3420","type":"print"},{"value":"1741-2846","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,2]]}}}