Mon 5 Nov 2018 13:30 - 14:00 at Cabot - Parallel Systems

Developers often combine different concurrency models in a single program, in each part of the program using the model that fits best. Many programming languages, such as Clojure, Scala, and Haskell, cater to this need by supporting different concurrency models. However, they are often combined in an ad hoc way and the semantics of the combination is not always well defined.

This paper studies the combination of three concurrency models: futures, actors, and transactions. We show that a naive combination of these models invalidates the guarantees they normally provide, thereby breaking the assumptions of developers. Hence, we present Chocola: a unified framework of futures, actors, and transactions that maintains the guarantees of all models wherever possible, even when they are combined. We present the semantics of this model and its implementation in Clojure, and have evaluated its performance and expressivity using three benchmark applications.

Mon 5 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

13:30 - 15:00
Parallel SystemsAGERE at Cabot
13:30
30m
Talk
Chocola: Integrating Futures, Actors, and Transactions
AGERE
Janwillem Swalens Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel
Pre-print
14:00
30m
Talk
Concurrent Garbage Collection in the Actor Model
AGERE
Dan Plyukhin , Gul Agha University of Illinois at Urbana-Champaign, USA
14:30
30m
Talk
Attached and Detached Closures in Actors
AGERE
Elias Castegren Uppsala University, Dave Clarke Uppsala Univ. Sweden and KU Leuvern, Kiko Fernandez-Reyes Uppsala University, Tobias Wrigstad Uppsala University, Albert Mingkun Yang Uppsala University