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,...

Full description

Saved in:
Bibliographic Details
Published in:Future generation computer systems Vol. 84; no. C; pp. 22 - 31
Main Authors: Castelló, Adrián, Mayo, Rafael, Sala, Kevin, Beltran, Vicenç, Balaji, Pavan, Peña, Antonio J.
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!
Description
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