{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,28]],"date-time":"2025-06-28T19:40:03Z","timestamp":1751139603814,"version":"3.41.0"},"reference-count":24,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,12,13]],"date-time":"2017-12-13T00:00:00Z","timestamp":1513123200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["XPS-1439097"],"award-info":[{"award-number":["XPS-1439097"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2017,12,31]]},"abstract":"<jats:p>The recent evolution in hardware landscape, aimed at producing high-performance computing systems capable of reaching extreme-scale performance, has reignited the interest in fine-grain multithreading, particularly at the intranode level. Indeed, popular parallel programming environments, such as OpenMP, which features a simple interface for the parallelization of programs, are now incorporating fine-grain constructs. However, since coarse-grain directives are still heavily used, the OpenMP runtime is forced to support both coarse- and fine-grain models of execution, potentially reducing the advantages obtained when executing an application in a fully fine-grain environment. To evaluate the type of applications that benefit from executing in a unified fine-grain program execution model, this article presents a<jats:italic>multigrain parallel programming environment<\/jats:italic>for the generation of fine-grain multithreaded applications from programs featuring OpenMP\u2019s API, allowing OpenMP programs to be run on top of a fine-grain event-driven program execution model. Experimental results with five scientific benchmarks show that fine-grain applications, generated by and run on our environment with two runtimes implementing a fine-grain event-driven program execution model, are competitive and can outperform their OpenMP counterparts, especially for data-intensive workloads with irregular and dynamic parallelism, reaching speedups as high as 2.6\u00d7 for Graph500 and 51\u00d7 for NAS Data Cube.<\/jats:p>","DOI":"10.1145\/3155288","type":"journal-article","created":{"date-parts":[[2017,12,13]],"date-time":"2017-12-13T14:50:37Z","timestamp":1513176637000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Generating Fine-Grain Multithreaded Applications Using a Multigrain Approach"],"prefix":"10.1145","volume":"14","author":[{"given":"Jaime","family":"Arteaga","sequence":"first","affiliation":[{"name":"University of Delaware, Newark, DE, USA"}]},{"given":"St\u00e9phane","family":"Zuckerman","sequence":"additional","affiliation":[{"name":"Michigan Technological University, Houghton, MI, USA"}]},{"given":"Guang R.","family":"Gao","sequence":"additional","affiliation":[{"name":"University of Delaware, Newark, DE, USA"}]}],"member":"320","published-online":{"date-parts":[[2017,12,13]]},"reference":[{"volume-title":"Proceedings of the 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 799--808","author":"Arteaga Jaime","key":"e_1_2_1_1_1","unstructured":"Jaime Arteaga , Stephane Zuckerman , and Guang R. Gao . 2017. Multigrain parallelism: Bridging coarse-grain parallel programs and fine-grain event-driven multithreading . In Proceedings of the 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 799--808 . Jaime Arteaga, Stephane Zuckerman, and Guang R. Gao. 2017. Multigrain parallelism: Bridging coarse-grain parallel programs and fine-grain event-driven multithreading. In Proceedings of the 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 799--808."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-30961-8_8"},{"key":"e_1_2_1_3_1","volume-title":"Retrieved","author":"BSC.","year":"2017","unstructured":"BSC. 2017 . Barcelona Supercomputing Center: The OmpSs Programming Model . Retrieved March 31, 2017 from https:\/\/pm.bsc.es\/ompss. BSC. 2017. Barcelona Supercomputing Center: The OmpSs Programming Model. Retrieved March 31, 2017 from https:\/\/pm.bsc.es\/ompss."},{"key":"e_1_2_1_4_1","volume-title":"Retrieved","author":"CAPSL.","year":"2013","unstructured":"CAPSL. 2013 . Computer Architecture and Parallel Systems Laboratory at University of Delaware: The Codelet Execution Model . Retrieved March 31, 2017 from http:\/\/www.capsl.udel.edu\/codelets.shtml. CAPSL. 2013. Computer Architecture and Parallel Systems Laboratory at University of Delaware: The Codelet Execution Model. Retrieved March 31, 2017 from http:\/\/www.capsl.udel.edu\/codelets.shtml."},{"key":"e_1_2_1_5_1","volume-title":"Office of Advanced Scientific Computing Research: The Opportunities and Challenges of Exascale Computing. Retrieved","author":"E.","year":"2010","unstructured":"Do E. 2010 . US Department of Energy, Office of Science , Office of Advanced Scientific Computing Research: The Opportunities and Challenges of Exascale Computing. Retrieved March 31, 2017 from http:\/\/science.energy.gov\/&sim;\/media\/ascr\/ascac\/pdf\/reports\/Exascale_subcommittee_report.pdf. DoE. 2010. US Department of Energy, Office of Science, Office of Advanced Scientific Computing Research: The Opportunities and Challenges of Exascale Computing. Retrieved March 31, 2017 from http:\/\/science.energy.gov\/&sim;\/media\/ascr\/ascac\/pdf\/reports\/Exascale_subcommittee_report.pdf."},{"key":"e_1_2_1_6_1","volume-title":"ExMatEx - Proxy Applications - CoMD. Retrieved","author":"E.","year":"2012","unstructured":"Do E. 2012 a. DoE Exascale Co-Design Center for Materials in Extreme Environments , ExMatEx - Proxy Applications - CoMD. Retrieved October 18, 2017 from http:\/\/www.exmatex.org\/comd.html. DoE. 2012a. DoE Exascale Co-Design Center for Materials in Extreme Environments, ExMatEx - Proxy Applications - CoMD. Retrieved October 18, 2017 from http:\/\/www.exmatex.org\/comd.html."},{"key":"e_1_2_1_7_1","volume-title":"Retrieved","author":"E.","year":"2012","unstructured":"Do E. 2012 b. DoE Exascale Co-Design Center for Materials in Extreme Environments, ExMatEx Proxy Applications - CoSP2 . Retrieved October 18, 2017 from http:\/\/www.exmatex.org\/cosp2.html. DoE. 2012b. DoE Exascale Co-Design Center for Materials in Extreme Environments, ExMatEx Proxy Applications - CoSP2. Retrieved October 18, 2017 from http:\/\/www.exmatex.org\/cosp2.html."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2009.64"},{"key":"e_1_2_1_9_1","volume-title":"DynAX - Extreme Scale Software Stack. Retrieved","author":"ETI.","year":"2013","unstructured":"ETI. 2013 . ET International Inc ., DynAX - Extreme Scale Software Stack. Retrieved October 18, 2017 from https:\/\/wiki.modelado.org\/images\/1\/15\/Scf.tar.gz. ETI. 2013. ET International Inc., DynAX - Extreme Scale Software Stack. Retrieved October 18, 2017 from https:\/\/wiki.modelado.org\/images\/1\/15\/Scf.tar.gz."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2013.66"},{"volume-title":"Retrieved","year":"2010","key":"e_1_2_1_11_1","unstructured":"Graph500. 2010 . Graph500 Reference Implementation Version 2.1.4 . Retrieved October 18, 2017 from https:\/\/github.com\/graph500\/graph500\/releases\/tag\/graph500-2.1.4. Graph500. 2010. Graph500 Reference Implementation Version 2.1.4. Retrieved October 18, 2017 from https:\/\/github.com\/graph500\/graph500\/releases\/tag\/graph500-2.1.4."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/233269.233333"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-13374-9_13"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676870.2676879"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2185475.2185478"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11227-010-0405-3"},{"key":"e_1_2_1_17_1","doi-asserted-by":"crossref","unstructured":"LLVM-OpenMP. 2017. OpenMP: Support for the OpenMP Language. Retrieved March 1 2017 from http:\/\/openmp.llvm.org\/index.html. LLVM-OpenMP. 2017. OpenMP: Support for the OpenMP Language. Retrieved March 1 2017 from http:\/\/openmp.llvm.org\/index.html.","DOI":"10.1145\/3148173.3148186"},{"key":"e_1_2_1_18_1","volume-title":"Retrieved","author":"NAS.","year":"2016","unstructured":"NAS. 2016 . NASA Advanced Supercomputing Division Parallel Benchmarks . Retrieved September 20, 2017 from http:\/\/www.nas.nasa.gov\/publications\/npb.html. NAS. 2016. NASA Advanced Supercomputing Division Parallel Benchmarks. Retrieved September 20, 2017 from http:\/\/www.nas.nasa.gov\/publications\/npb.html."},{"key":"e_1_2_1_19_1","volume-title":"Retrieved","author":"The University of Edinburgh.","year":"2016","unstructured":"The University of Edinburgh. 2016 . EPCC OpenMP Micro-benchmark Suite . Retrieved March 31, 2017 from https:\/\/www.epcc.ed.ac.uk\/research\/computing\/performance-characterisation-and-benchmarking\/epcc-openmp-micro-benchmark-suite. The University of Edinburgh. 2016. EPCC OpenMP Micro-benchmark Suite. Retrieved March 31, 2017 from https:\/\/www.epcc.ed.ac.uk\/research\/computing\/performance-characterisation-and-benchmarking\/epcc-openmp-micro-benchmark-suite."},{"volume-title":"Retrieved","year":"2011","key":"e_1_2_1_20_1","unstructured":"OpenMP4.0. 2011 . OpenMP Application Program Interface Version 4.0 . Retrieved March 31, 2017 from http:\/\/www.openmp.org\/mp-documents\/OpenMP4.0.0.pdf. OpenMP4.0. 2011. OpenMP Application Program Interface Version 4.0. Retrieved March 31, 2017 from http:\/\/www.openmp.org\/mp-documents\/OpenMP4.0.0.pdf."},{"key":"e_1_2_1_21_1","volume-title":"Retrieved","author":"PNNL.","year":"2014","unstructured":"PNNL. 2014 . Pacific Northwest National Laboratory: Hartree-Fock Theory for Molecules - NWCHEM . Retrieved March 31, 2017 from http:\/\/www.nwchem-sw.org\/index.php\/Release65:Hartree-Fock_Theory_for% _Molecules. PNNL. 2014. Pacific Northwest National Laboratory: Hartree-Fock Theory for Molecules - NWCHEM. Retrieved March 31, 2017 from http:\/\/www.nwchem-sw.org\/index.php\/Release65:Hartree-Fock_Theory_for% _Molecules."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2400682.2400712"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-40047-6_63"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000417.2000424"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3155288","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3155288","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3155288","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,28]],"date-time":"2025-06-28T19:08:18Z","timestamp":1751137698000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3155288"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,12,13]]},"references-count":24,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,12,31]]}},"alternative-id":["10.1145\/3155288"],"URL":"https:\/\/doi.org\/10.1145\/3155288","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2017,12,13]]},"assertion":[{"value":"2017-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-12-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}