A Mutable Hardware Abstraction to Replace Threads

Sean Halle 1, 2, 3 Albert Cohen 1
1 Parkas - Parallélisme de Kahn Synchrone
CNRS - Centre National de la Recherche Scientifique : UMR 8548, Inria Paris-Rocquencourt, DI-ENS - Département d'informatique de l'École normale supérieure
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
Liste complète des métadonnées

Cited literature [15 references]  Display  Hide  Download

https://hal.inria.fr/hal-00645220
Contributor : Albert Cohen <>
Submitted on : Monday, November 28, 2011 - 6:22:30 PM
Last modification on : Thursday, February 7, 2019 - 3:49:16 PM
Document(s) archivé(s) le : Wednesday, February 29, 2012 - 2:21:07 AM

File

lcpc11.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00645220, version 1

Collections

Citation

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⟩

Share

Metrics

Record views

343

Files downloads

281