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, ENS Paris - École normale supérieure - Paris, 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.
Type de document :
Communication dans un congrès
LCPC'11 - The 24th International Workshop on Languages and Compilers for Parallel Computing, Sep 2011, Fort Collins, United States. 2011
Liste complète des métadonnées


https://hal.inria.fr/hal-00645220
Contributeur : Albert Cohen <>
Soumis le : lundi 28 novembre 2011 - 18:22:30
Dernière modification le : mardi 13 décembre 2016 - 15:43:45
Document(s) archivé(s) le : mercredi 29 février 2012 - 02:21:07

Fichier

lcpc11.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • 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. 2011. <hal-00645220>

Partager

Métriques

Consultations de
la notice

247

Téléchargements du document

221