Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

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 Lab. (ANL), Argonne, IL (United States)
Sponsoring Organization:
Spanish Ministerio de Economia y Competitividad (MINECO); USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) (SC-21)
Grant/Contract Number:
AC02-06CH11357
OSTI ID:
1465734
Alternate ID(s):
OSTI ID: 1634145
Journal Information:
Future Generations Computer Systems, Journal Name: Future Generations Computer Systems Journal Issue: C Vol. 84; ISSN 0167-739X
Publisher:
ElsevierCopyright Statement
Country of Publication:
United States
Language:
English

References (10)

OpenUH: an optimizing, portable OpenMP compiler journal January 2007
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
GLT: A Unified API for Lightweight Thread Libraries book January 2017
ForestGOMP: An Efficient OpenMP Environment for NUMA Architectures journal May 2010
The Sunway TaihuLight supercomputer: system and applications journal June 2016
OpenMP: an industry standard API for shared-memory programming journal January 1998
A Review of Lightweight Thread Approaches for High Performance Computing conference September 2016
GLTO: On the Adequacy of Lightweight Thread Approaches for OpenMP Implementations conference August 2017
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

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:1712695

A Review of Lightweight Thread Approaches for High Performance Computing
Conference · Mon Sep 12 00:00:00 EDT 2016 · OSTI ID:1365837

Argobots: A Lightweight Low-Level Threading and Tasking Framework
Journal Article · Wed Feb 28 23:00:00 EST 2018 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1439019