Programming Parallelism with Futures in Lustre

Albert Cohen 1 Léonard Gérard 1 Marc Pouzet 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 : Efficiently distributing synchronous programs is a challenging and long-standing subject. This paper introduces the use of futures in a Lustre-like language, giving the programmer control over the expression of parallelism. In the synchronous model where computations are considered instantaneous, futures increase expressiveness by decoupling the beginning from the end of a computation. Through a number of examples, we show how to desynchronize long computations and implement parallel patterns such as fork-join, pipelining and data parallelism. The proposed extension preserves the main static properties of the base language, including static resource bounds and the absence of deadlock, livelock and races. Moreover, we prove that adding or removing futures preserves the underlying synchronous semantics.
Type de document :
Communication dans un congrès
EMSOFT '12 Proceedings of the tenth ACM international conference on Embedded software, Oct 2012, Tampere, Finland, Finland. ACM, pp.197-206, 2012, <10.1145/2380356.2380394>
Liste complète des métadonnées

https://hal.inria.fr/hal-00786682
Contributeur : Albert Cohen <>
Soumis le : dimanche 10 février 2013 - 02:05:03
Dernière modification le : jeudi 29 septembre 2016 - 01:22:07

Identifiants

Collections

Citation

Albert Cohen, Léonard Gérard, Marc Pouzet. Programming Parallelism with Futures in Lustre. EMSOFT '12 Proceedings of the tenth ACM international conference on Embedded software, Oct 2012, Tampere, Finland, Finland. ACM, pp.197-206, 2012, <10.1145/2380356.2380394>. <hal-00786682>

Partager

Métriques

Consultations de la notice

423