skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Argobots: A Lightweight Low-Level Threading and Tasking Framework

Journal Article · · IEEE Transactions on Parallel and Distributed Systems
 [1];  [1];  [1];  [2];  [3];  [4];  [1];  [5];  [3];  [3];  [6];  [4];  [4];  [7];  [8];  [9];  [10];  [4];  [11];  [6] more »;  [1] « less
  1. Argonne National Lab. (ANL), Argonne, IL (United States)
  2. Inria, Bordeaux (France)
  3. Univ. of Tennessee, Knoxville, TN (United States)
  4. Univ. of Illinois, Urbana-Champaign, IL (United States)
  5. Universitat Jaume I., Castello de la Plana (Spain)
  6. Univ. of Tokyo (Japan)
  7. Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
  8. Sandia National Lab. (SNL-CA), Livermore, CA (United States)
  9. Tencent, Shenzhen (China)
  10. Costa Rica Inst. of Technology, Cartago (Costa Rica). Costa Rica National High Technology Center
  11. Google, Mountain View, CA (United States)

In the past few decades, a number of user-level threading and tasking models have been proposed in the literature to address the shortcomings of OS-level threads, primarily with respect to cost and flexibility. Current state-of-the-art user-level threading and tasking models, however, either are too specific to applications or architectures or are not as powerful or flexible. In this paper, we present Argobots, a lightweight, low-level threading and tasking framework that is designed as a portable and performant substrate for high-level programming models or runtime systems. Argobots offers a carefully designed execution model that balances generality of functionality with providing a rich set of controls to allow specialization by end users or high-level programming models. We describe the design, implementation, and performance characterization of Argobots and present integrations with three high-level models: OpenMP, MPI, and colocated I/O services. Evaluations show that (1) Argobots, while providing richer capabilities, is competitive with existing simpler generic threading runtimes; (2) our OpenMP runtime offers more efficient interoperability capabilities than production OpenMP runtimes do; (3) when MPI interoperates with Argobots instead of Pthreads, it enjoys reduced synchronization costs and better latency-hiding capabilities; and (4) I/O services with Argobots reduce interference with colocated applications while achieving performance competitive with that of a Pthreads approach.

Research Organization:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States); Argonne National Lab. (ANL), Argonne, IL (United States)
Sponsoring Organization:
USDOE Office of Science (SC), Basic Energy Sciences (BES)
Grant/Contract Number:
AC02-06CH11357; AC05-76RL01830
OSTI ID:
1413456
Alternate ID(s):
OSTI ID: 1426768
Report Number(s):
PNNL-SA-130264; TRN: US1800430
Journal Information:
IEEE Transactions on Parallel and Distributed Systems, Vol. 29, Issue 3; ISSN 1045-9219
Publisher:
IEEECopyright Statement
Country of Publication:
United States
Language:
English
Citation Metrics:
Cited by: 43 works
Citation information provided by
Web of Science

Similar Records

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

On the adequacy of lightweight thread approaches for high-level parallel programming models
Journal Article · Wed Feb 21 00:00:00 EST 2018 · Future Generations Computer Systems · OSTI ID:1413456

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