DOE PAGES title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: On the adequacy of lightweight thread approaches for high-level parallel programming models

Abstract

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 exposses 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 workmore » reveals those scenarios where LWTs overperform pthread-based solutions and compares the performance between an ad hoc solution and a generic implementation.« less

Authors:
 [1];  [1]; ORCiD logo [2];  [2];  [3]; ORCiD logo [2]
  1. Univ. Jaume I de Castelló (Spain)
  2. Barcelona Supercomputing Center (BSC), Barcelona (Spain)
  3. Argonne National Lab. (ANL), Argonne, IL (United States)
Publication Date:
Research Org.:
Argonne National Lab. (ANL), Argonne, IL (United States)
Sponsoring Org.:
Spanish Ministerio de Economia y Competitividad (MINECO); USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
OSTI Identifier:
1465734
Alternate Identifier(s):
OSTI ID: 1634145
Grant/Contract Number:  
AC02-06CH11357; SC-21
Resource Type:
Accepted Manuscript
Journal Name:
Future Generations Computer Systems
Additional Journal Information:
Journal Volume: 84; Journal Issue: C; Journal ID: ISSN 0167-739X
Publisher:
Elsevier
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING; GLT; OmpSs; OpenMP; POSIX Threads; lightweight threads; programming models

Citation Formats

Castelló, Adrián, Mayo, Rafael, Sala, Kevin, Beltran, Vicenç, Balaji, Pavan, and Peña, Antonio J. On the adequacy of lightweight thread approaches for high-level parallel programming models. United States: N. p., 2018. Web. doi:10.1016/j.future.2018.02.016.
Castelló, Adrián, Mayo, Rafael, Sala, Kevin, Beltran, Vicenç, Balaji, Pavan, & Peña, Antonio J. On the adequacy of lightweight thread approaches for high-level parallel programming models. United States. https://doi.org/10.1016/j.future.2018.02.016
Castelló, Adrián, Mayo, Rafael, Sala, Kevin, Beltran, Vicenç, Balaji, Pavan, and Peña, Antonio J. Wed . "On the adequacy of lightweight thread approaches for high-level parallel programming models". United States. https://doi.org/10.1016/j.future.2018.02.016. https://www.osti.gov/servlets/purl/1465734.
@article{osti_1465734,
title = {On the adequacy of lightweight thread approaches for high-level parallel programming models},
author = {Castelló, Adrián and Mayo, Rafael and Sala, Kevin and Beltran, Vicenç and Balaji, Pavan and Peña, Antonio J.},
abstractNote = {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 exposses 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.},
doi = {10.1016/j.future.2018.02.016},
journal = {Future Generations Computer Systems},
number = C,
volume = 84,
place = {United States},
year = {2018},
month = {2}
}

Journal Article:

Citation Metrics:
Cited by: 3 works
Citation information provided by
Web of Science

Save / Share:

Works referenced in this record:

The Sunway TaihuLight supercomputer: system and applications
journal, June 2016

  • Fu, Haohuan; Liao, Junfeng; Yang, Jinzhe
  • Science China Information Sciences, Vol. 59, Issue 7
  • DOI: 10.1007/s11432-016-5588-7

OpenMP: an industry standard API for shared-memory programming
journal, January 1998

  • Dagum, L.; Menon, R.
  • IEEE Computational Science and Engineering, Vol. 5, Issue 1
  • DOI: 10.1109/99.660313

Qthreads: An API for programming with millions of lightweight threads
conference, April 2008

  • Wheeler, Kyle B.; Murphy, Richard C.; Thain, Douglas
  • Distributed Processing Symposium (IPDPS), 2008 IEEE International Symposium on Parallel and Distributed Processing
  • DOI: 10.1109/IPDPS.2008.4536359

OmpSs: A PROPOSAL FOR PROGRAMMING HETEROGENEOUS MULTI-CORE ARCHITECTURES
journal, June 2011

  • Duran, Alejandro; AyguadÉ, Eduard; Badia, Rosa M.
  • Parallel Processing Letters, Vol. 21, Issue 02
  • DOI: 10.1142/S0129626411000151

GLTO: On the Adequacy of Lightweight Thread Approaches for OpenMP Implementations
conference, August 2017

  • Castello, Adrian; Seo, Sangmin; Mayo, Rafael
  • 2017 46th International Conference on Parallel Processing (ICPP)
  • DOI: 10.1109/ICPP.2017.15

OpenUH: an optimizing, portable OpenMP compiler
journal, January 2007

  • Liao, Chunhua; Hernandez, Oscar; Chapman, Barbara
  • Concurrency and Computation: Practice and Experience, Vol. 19, Issue 18
  • DOI: 10.1002/cpe.1174

A Review of Lightweight Thread Approaches for High Performance Computing
conference, September 2016

  • Castello, Adrian; Pena, Antonio J.; Seo, Sangmin
  • 2016 IEEE International Conference on Cluster Computing (CLUSTER)
  • DOI: 10.1109/CLUSTER.2016.12

ForestGOMP: An Efficient OpenMP Environment for NUMA Architectures
journal, May 2010

  • Broquedis, François; Furmento, Nathalie; Goglin, Brice
  • International Journal of Parallel Programming, Vol. 38, Issue 5-6
  • DOI: 10.1007/s10766-010-0136-3

Unveiling the performance-energy trade-off in iterative linear system solvers for multithreaded processors: Unveiling the performance-energy trade-off in iterative linear system solvers for multithreaded processors
journal, September 2014

  • Aliaga, José I.; Anzt, Hartwig; Castillo, Maribel
  • Concurrency and Computation: Practice and Experience, Vol. 27, Issue 4
  • DOI: 10.1002/cpe.3341

Works referencing / citing this record:

Programming parallel dense matrix factorizations with look-ahead and OpenMP
journal, April 2019