Skip to main navigation Skip to search Skip to main content

Argobots: A Lightweight Low-Level Threading and Tasking Framework

  • Sangmin Seo
  • , Abdelhalim Amer
  • , Pavan Balaji
  • , Cyril Bordage
  • , George Bosilca
  • , Alex Brooks
  • , Philip Carns
  • , Adrian Castello
  • , Damien Genet
  • , Thomas Herault
  • , Shintaro Iwasaki
  • , Prateek Jindal
  • , Laxmikant V. Kale
  • , Sriram Krishnamoorthy
  • , Jonathan Lifflander
  • , Huiwei Lu
  • , Esteban Meneses
  • , Marc Snir
  • , Yanhua Sun
  • , Kenjiro Taura
  • Pete Beckman

Research output: Contribution to journalArticlepeer-review

95 Scopus citations

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.

Original languageEnglish
Article number8082139
Pages (from-to)512-526
Number of pages15
JournalIEEE Transactions on Parallel and Distributed Systems
Volume29
Issue number3
DOIs
StatePublished - 1 Mar 2018
Externally publishedYes

Keywords

  • Argobots
  • I/O
  • MPI
  • OpenMP
  • context switch
  • interoperability
  • lightweight
  • stackable scheduler
  • tasklet
  • user-level thread

Fingerprint

Dive into the research topics of 'Argobots: A Lightweight Low-Level Threading and Tasking Framework'. Together they form a unique fingerprint.

Cite this