Chocola: integrating futures, actors, and transactions
Autor: | Janwillem Swalens, Joeri De Koster, Wolfgang De Meuter |
---|---|
Přispěvatelé: | Bergenti, Federico, De Koster, Joeri, Franco, Juliana, Faculty of Sciences and Bioengineering Sciences, Informatics and Applied Informatics, Software Languages Lab |
Rok vydání: | 2018 |
Předmět: |
Scala
Computer science Semantics (computer science) Concurrency 02 engineering and technology computer.software_genre 01 natural sciences transactions 0103 physical sciences 0202 electrical engineering electronic engineering information engineering concurrency computer.programming_language 010302 applied physics actors Programming language Parallelism futures 020207 software engineering software transactional memory Clojure Benchmark (computing) Software transactional memory Haskell computer Futures contract Software |
Zdroj: | AGERE!@SPLASH Vrije Universiteit Brussel |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |