Generating fine-grain multithreaded applications using a multigrain approach
Document Type
Article
Publication Date
12-1-2017
Abstract
© 2017 ACM. 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 multigrain parallel programming environment for the generation of fine-grain multithreaded applications from programs featuring OpenMP's 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× for Graph500 and 51× for NAS Data Cube.
Publication Title
ACM Transactions on Architecture and Code Optimization
Recommended Citation
Arteaga, J.,
Zuckerman, S.,
&
Gao, G.
(2017).
Generating fine-grain multithreaded applications using a multigrain approach.
ACM Transactions on Architecture and Code Optimization,
14(4).
http://doi.org/10.1145/3155288
Retrieved from: https://digitalcommons.mtu.edu/michigantech-p/12573