skip to main content
OSTI.GOV 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

Journal Article · · Future Generations Computer Systems

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.

Research Organization:
Argonne National Laboratory (ANL), Argonne, IL (United States)
Sponsoring Organization:
Spanish Ministerio de Economia y Competitividad (MINECO); USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
Grant/Contract Number:
AC02-06CH11357; SC-21
OSTI ID:
1465734
Alternate ID(s):
OSTI ID: 1634145
Journal Information:
Future Generations Computer Systems, Vol. 84, Issue C; ISSN 0167-739X
Publisher:
ElsevierCopyright Statement
Country of Publication:
United States
Language:
English
Citation Metrics:
Cited by: 4 works
Citation information provided by
Web of Science

References (9)

The Sunway TaihuLight supercomputer: system and applications journal June 2016
OpenMP: an industry standard API for shared-memory programming journal January 1998
Qthreads: An API for programming with millions of lightweight threads
  • Wheeler, Kyle B.; Murphy, Richard C.; Thain, Douglas
  • Distributed Processing Symposium (IPDPS), 2008 IEEE International Symposium on Parallel and Distributed Processing https://doi.org/10.1109/IPDPS.2008.4536359
conference April 2008
OmpSs: A PROPOSAL FOR PROGRAMMING HETEROGENEOUS MULTI-CORE ARCHITECTURES journal June 2011
GLTO: On the Adequacy of Lightweight Thread Approaches for OpenMP Implementations conference August 2017
OpenUH: an optimizing, portable OpenMP compiler journal January 2007
A Review of Lightweight Thread Approaches for High Performance Computing conference September 2016
ForestGOMP: An Efficient OpenMP Environment for NUMA Architectures journal May 2010
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

Cited By (1)

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

Similar Records

Analysis of Threading Libraries for High Performance Computing
Journal Article · Tue Sep 01 00:00:00 EDT 2020 · IEEE Transactions on Computers · OSTI ID:1465734

Argobots: A Lightweight Low-Level Threading and Tasking Framework
Journal Article · Thu Mar 01 00:00:00 EST 2018 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1465734

Argobots: A Lightweight Low-Level Threading and Tasking Framework
Journal Article · Tue Oct 24 00:00:00 EDT 2017 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1465734