On the adequacy of lightweight thread approaches for high-level parallel programming models
High-level parallel programming models (PMs) are becoming crucial in order to extract the computational power of current on-node multi-threaded parallelism. The most popular PMs, such as OpenMP or OmpSs, are directive-based: the complexity of the hardware is hidden by the underlying runtime system,...
Saved in:
| Published in: | Future generation computer systems Vol. 84; no. C; pp. 22 - 31 |
|---|---|
| Main Authors: | , , , , , |
| Format: | Journal Article Publication |
| Language: | English |
| Published: |
United States
Elsevier B.V
01.07.2018
Elsevier |
| Subjects: | |
| ISSN: | 0167-739X, 1872-7115 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | High-level parallel programming models (PMs) are becoming crucial in order to extract the computational power of current on-node multi-threaded parallelism. The most popular PMs, such as OpenMP or OmpSs, are directive-based: the complexity of the hardware is hidden by the underlying runtime system, improving coding productivity. The implementations of OpenMP usually rely on POSIX threads (pthreads), offering excellent performance for coarse-grained parallelism and a perfect match with the current hardware. OmpSs is a task oriented PM based on an ad hoc runtime solution called Nanos++; it is the precursor of the tasking parallelism in the OpenMP tasking specification. A recent trend in runtimes and applications points to leveraging massive on-node parallelism in conjunction with fine-grained and dynamic scheduling paradigms. In this paper we analyze the behavior of the OpenMP and OmpSs PMs on top of the recently emerged Generic Lightweight Threads (GLT) API. GLT exposes a common API for lightweight thread (LWT) libraries that offers the possibility of running the same application over different native LWT solutions. We describe the design details of those high-level PMs implemented on top of GLT and analyze different scenarios in order to assess where the use of LWTs may benefit application performance. Our work reveals those scenarios where LWTs overperform pthread-based solutions and compares the performance between an ad hoc solution and a generic implementation.
•Design and implementation of OpenMP and OmpSs on top of lightweight threads.•Analysis of the relationship between programming models and lightweight threads.•Performance evaluation in different OpenMP and OmpSs scenarios. |
|---|---|
| Bibliography: | USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) Spanish Ministerio de Economia y Competitividad (MINECO) AC02-06CH11357; SC-21 |
| ISSN: | 0167-739X 1872-7115 |
| DOI: | 10.1016/j.future.2018.02.016 |