Skip to Main content Skip to Navigation
Conference papers

A Mutable Hardware Abstraction to Replace Threads

Sean Halle 1, 2, 3 Albert Cohen 1
1 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, Inria Paris-Rocquencourt, CNRS - Centre National de la Recherche Scientifique : UMR 8548
Abstract : We propose an abstraction to alleviate the difficulty of programming with threads. This abstraction is not directly usable by application programmers. Instead, application-visible behavior is defined through a semantical plugin, and invoked via a language or library that uses the plugin. The main benefit is that parallel language runtimes become simpler to implement, because they use sequential algorithms for the parallel semantics. This is possible because the abstraction makes available a virtual time in which events in different program time-lines are sequentialized. The parallel semantics relate events in different time-lines via relating the sequentialized versions within the virtual time-line. We have implemented the abstraction in user-space and demonstrate its low overhead and quickness to implement a runtime on three sets of parallelism constructs: rendez-vous style \texttt{send} and \texttt{receive}; Cilk style \texttt{spawn} and \texttt{sync}, which have similar performance to Cilk 5.4; and \texttt{mutex} and \texttt{condition variable} constructs from pthreads, which have 80x lower overhead than Linux thread operations. Development time averaged around two days per set, versus an expected duration of weeks to modify a thread-based runtime system.
Document type :
Conference papers
Complete list of metadata

Cited literature [15 references]  Display  Hide  Download
Contributor : Albert Cohen <>
Submitted on : Monday, November 28, 2011 - 6:22:30 PM
Last modification on : Thursday, July 1, 2021 - 5:58:07 PM
Long-term archiving on: : Wednesday, February 29, 2012 - 2:21:07 AM


Files produced by the author(s)


  • HAL Id : hal-00645220, version 1



Sean Halle, Albert Cohen. A Mutable Hardware Abstraction to Replace Threads. LCPC'11 - The 24th International Workshop on Languages and Compilers for Parallel Computing, Sep 2011, Fort Collins, United States. ⟨hal-00645220⟩



Record views


Files downloads