The Community for Technology Leaders
Green Image
Issue No. 03 - March (2018 vol. 29)
ISSN: 1045-9219
pp: 512-526
Sangmin Seo , Argonne National Laboratory, Lemont, IL
Abdelhalim Amer , Argonne National Laboratory, Lemont, IL
Pavan Balaji , Argonne National Laboratory, Lemont, IL
Cyril Bordage , Inria Bordeaux, Talence, France
George Bosilca , University of Tennessee, Knoxville, TN
Alex Brooks , University of Illinois at Urbana-Champaign, Champaign, IL
Philip Carns , Argonne National Laboratory, Lemont, IL
Adrian Castello , Universitat Jaume I, Castellón de la Plana, Castellón, Spain
Damien Genet , University of Tennessee, Knoxville, TN
Thomas Herault , University of Tennessee, Knoxville, TN
Shintaro Iwasaki , University of Tokyo, Bunkyo, Tokyo, Japan
Prateek Jindal , University of Illinois at Urbana-Champaign, Champaign, IL
Laxmikant V. Kale , University of Illinois at Urbana-Champaign, Champaign, IL
Sriram Krishnamoorthy , Pacific Northwest National Laboratory, Richland, WA
Jonathan Lifflander , Sandia National Laboratories, Livermore, CA
Huiwei Lu , Tencent, Shenzhen, China
Esteban Meneses , Costa Rica National High Technology Center, San José, Costa Rica
Marc Snir , University of Illinois at Urbana-Champaign, Champaign, IL
Yanhua Sun , Google, Mountain View, CA
Kenjiro Taura , University of Tokyo, Bunkyo, Tokyo, Japan
Pete Beckman , Argonne National Laboratory, Lemont, IL
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, 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.
INDEX TERMS
Runtime, Message systems, Interoperability, Context, Libraries, Synchronization
CITATION

S. Seo et al., "Argobots: A Lightweight Low-Level Threading and Tasking Framework," in IEEE Transactions on Parallel & Distributed Systems, vol. 29, no. 3, pp. 512-526, 2018.
doi:10.1109/TPDS.2017.2766062
1099 ms
(Ver 3.3 (11022016))