Argobots: A Lightweight Low-Level Threading and Tasking Framework - Archive ouverte HAL Access content directly
Journal Articles IEEE Transactions on Parallel and Distributed Systems Year : 2018

Argobots: A Lightweight Low-Level Threading and Tasking Framework

(1) , (1) , (1) , (2) , (3) , (4) , (1) , (5) , (6) , (6) , (7) , (4) , (4) , (8) , (9) , (10) , (11) , (11) , (12) , (7) , (1)
1
2
3
4
5
6
7
8
9
10
11
12
Thomas Herault
  • Function : Author
  • PersonId : 833735
Huiwei Lu
  • Function : Author
Esteban Meneses
  • Function : Author
  • PersonId : 944400

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.

Dates and versions

hal-01887586 , version 1 (04-10-2018)

Identifiers

Cite

Sangmin Seo, Abdelhalim Amer, Pavan Balaji, Cyril Bordage, George Bosilca, et al.. Argobots: A Lightweight Low-Level Threading and Tasking Framework. IEEE Transactions on Parallel and Distributed Systems, 2018, 29 (3), pp.512 - 526. ⟨10.1109/TPDS.2017.2766062⟩. ⟨hal-01887586⟩
100 View
0 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More