DOE OSTI · 1439019
Argobots: A Lightweight Low-Level Threading and Tasking Framework
Also available from
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.
Keep this discovery
Explore connections, maps & timelines
Seo, Sangmin (ORCID:0000000295159836), Amer, Abdelhalim (ORCID:0000000158560172), Balaji, Pavan, Bordage, Cyril, Bosilca, George (ORCID:0000000324118495), Brooks, Alex, Carns, Philip, Castello, Adrian (ORCID:0000000285768451), Genet, Damien (ORCID:0000000308080984), Herault, Thomas, Iwasaki, Shintaro, Jindal, Prateek (ORCID:0000000195242341), Kale, Laxmikant V., Krishnamoorthy, Sriram, Lifflander, Jonathan, Lu, Huiwei, Meneses, Esteban, Snir, Marc (ORCID:0000000235042468), Sun, Yanhua, Taura, Kenjiro (ORCID:000000015224382X), Beckman, Pete. 2018-03-01. Argobots: A Lightweight Low-Level Threading and Tasking Framework. https://doi.org/10.1109/tpds.2017.2766062
Cite the original work for its findings. Save a collection to share your selection of sources.