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

Abstract

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 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 the user or high-level programming model. 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.

Authors:
ORCiD logo; ORCiD logo; ; ; ORCiD logo; ; ; ORCiD logo; ORCiD logo; ; ; ORCiD logo; ; ; ; ; ; ORCiD logo; ; ORCiD logo more »; « less
Publication Date:
Research Org.:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1439019
Report Number(s):
PNNL-SA-130264
Journal ID: ISSN 1045-9219; KJ0402000
DOE Contract Number:  
AC05-76RL01830
Resource Type:
Journal Article
Journal Name:
IEEE Transactions on Parallel and Distributed Systems
Additional Journal Information:
Journal Volume: 29; Journal Issue: 3; Journal ID: ISSN 1045-9219
Publisher:
IEEE
Country of Publication:
United States
Language:
English

Citation Formats

Seo, Sangmin, Amer, Abdelhalim, Balaji, Pavan, Bordage, Cyril, Bosilca, George, Brooks, Alex, Carns, Philip, Castello, Adrian, Genet, Damien, Herault, Thomas, Iwasaki, Shintaro, Jindal, Prateek, Kale, Laxmikant V., Krishnamoorthy, Sriram, Lifflander, Jonathan, Lu, Huiwei, Meneses, Esteban, Snir, Marc, Sun, Yanhua, Taura, Kenjiro, and Beckman, Pete. Argobots: A Lightweight Low-Level Threading and Tasking Framework. United States: N. p., 2018. Web. doi:10.1109/TPDS.2017.2766062.
Seo, Sangmin, Amer, Abdelhalim, Balaji, Pavan, Bordage, Cyril, Bosilca, George, Brooks, Alex, Carns, Philip, Castello, Adrian, Genet, Damien, Herault, Thomas, Iwasaki, Shintaro, Jindal, Prateek, Kale, Laxmikant V., Krishnamoorthy, Sriram, Lifflander, Jonathan, Lu, Huiwei, Meneses, Esteban, Snir, Marc, Sun, Yanhua, Taura, Kenjiro, & Beckman, Pete. Argobots: A Lightweight Low-Level Threading and Tasking Framework. United States. doi:10.1109/TPDS.2017.2766062.
Seo, Sangmin, Amer, Abdelhalim, Balaji, Pavan, Bordage, Cyril, Bosilca, George, Brooks, Alex, Carns, Philip, Castello, Adrian, Genet, Damien, Herault, Thomas, Iwasaki, Shintaro, Jindal, Prateek, Kale, Laxmikant V., Krishnamoorthy, Sriram, Lifflander, Jonathan, Lu, Huiwei, Meneses, Esteban, Snir, Marc, Sun, Yanhua, Taura, Kenjiro, and Beckman, Pete. Thu . "Argobots: A Lightweight Low-Level Threading and Tasking Framework". United States. doi:10.1109/TPDS.2017.2766062.
@article{osti_1439019,
title = {Argobots: A Lightweight Low-Level Threading and Tasking Framework},
author = {Seo, Sangmin and Amer, Abdelhalim and Balaji, Pavan and Bordage, Cyril and Bosilca, George and Brooks, Alex and Carns, Philip and Castello, Adrian and Genet, Damien and Herault, Thomas and Iwasaki, Shintaro and Jindal, Prateek and Kale, Laxmikant V. and Krishnamoorthy, Sriram and Lifflander, Jonathan and Lu, Huiwei and Meneses, Esteban and Snir, Marc and Sun, Yanhua and Taura, Kenjiro and Beckman, Pete},
abstractNote = {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 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 the user or high-level programming model. 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.},
doi = {10.1109/TPDS.2017.2766062},
journal = {IEEE Transactions on Parallel and Distributed Systems},
issn = {1045-9219},
number = 3,
volume = 29,
place = {United States},
year = {2018},
month = {3}
}