Argobots: A Lightweight Low-Level Threading and Tasking Framework
Journal Article
·
· IEEE Transactions on Parallel and Distributed Systems
more »
- Argonne National Lab. (ANL), Argonne, IL (United States)
- Inria, Bordeaux (France)
- Univ. of Tennessee, Knoxville, TN (United States)
- Univ. of Illinois, Urbana-Champaign, IL (United States)
- Universitat Jaume I., Castello de la Plana (Spain)
- Univ. of Tokyo (Japan)
- Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
- Sandia National Lab. (SNL-CA), Livermore, CA (United States)
- Tencent, Shenzhen (China)
- Costa Rica Inst. of Technology, Cartago (Costa Rica). Costa Rica National High Technology Center
- 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, are either too specific to applications or architectures or are not as powerful or flexible. In this article, 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 the user or high-level programming model. Here, we describe the design, implementation, and optimization of Argobots and present integrations with three example high-level models: OpenMP, MPI, and co-located I/O service. Evaluations show that (1) Argobots outperforms existing 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 service with Argobots reduces interference with co-located applications, achieving performance competitive with that of the Pthreads version.
- Research Organization:
- Argonne National Laboratory (ANL), Argonne, IL (United States); Pacific Northwest National Laboratory (PNNL), Richland, WA (United States)
- Sponsoring Organization:
- USDOE; USDOE Office of Science (SC), Basic Energy Sciences (BES) (SC-22)
- Grant/Contract Number:
- AC02-06CH11357; AC05-76RL01830
- OSTI ID:
- 1413456
- Alternate ID(s):
- OSTI ID: 1426768
OSTI ID: 1439019
- Report Number(s):
- PNNL-SA--130264
- Journal Information:
- IEEE Transactions on Parallel and Distributed Systems, Journal Name: IEEE Transactions on Parallel and Distributed Systems Journal Issue: 3 Vol. 29; ISSN 1045-9219
- Publisher:
- IEEECopyright Statement
- Country of Publication:
- United States
- Language:
- English
Similar Records
Argobots: A Lightweight Low-Level Threading and Tasking Framework
On the adequacy of lightweight thread approaches for high-level parallel programming models
Journal Article
·
Wed Feb 28 23:00:00 EST 2018
· IEEE Transactions on Parallel and Distributed Systems
·
OSTI ID:1439019
On the adequacy of lightweight thread approaches for high-level parallel programming models
Journal Article
·
Tue Feb 20 19:00:00 EST 2018
· Future Generations Computer Systems
·
OSTI ID:1465734