Best paper award.International audienceEfficiently 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 race...
This paper describes an operational semantics for futures, with the primary target on energy efficie...
Many programming languages, such as Clojure, Scala, and Haskell, support different concurrency model...
This paper addresses the problem of universal synchronizationprimitives that can support scalable th...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceThis paper presents a new compilation scheme for futures, a concurrent program...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
LUSTRE is a synchronous data-flow language for programming systems which interact with their environ...
In this thesis, we first review current trends in the areas related to parallel programming language...
International audienceA future is an entity representing the result of an ongoing computation. A syn...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
International audienceThis paper defines distributed futures, a construct that provides at the same ...
Classical imperative data-parallel languages offer a simple synchronous programming model. The chall...
This paper describes an operational semantics for futures, with the primary target on energy efficie...
Many programming languages, such as Clojure, Scala, and Haskell, support different concurrency model...
This paper addresses the problem of universal synchronizationprimitives that can support scalable th...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceThis paper presents a new compilation scheme for futures, a concurrent program...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
LUSTRE is a synchronous data-flow language for programming systems which interact with their environ...
In this thesis, we first review current trends in the areas related to parallel programming language...
International audienceA future is an entity representing the result of an ongoing computation. A syn...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
International audienceThis paper defines distributed futures, a construct that provides at the same ...
Classical imperative data-parallel languages offer a simple synchronous programming model. The chall...
This paper describes an operational semantics for futures, with the primary target on energy efficie...
Many programming languages, such as Clojure, Scala, and Haskell, support different concurrency model...
This paper addresses the problem of universal synchronizationprimitives that can support scalable th...