Swalens, Janwillem, Marr, Stefan, De Koster, Joeri, Van Cutsem, Tom (2014) Towards Composable Concurrency Abstractions. In: EPTCS. PLACES '14 , 155. pp. 54-60. (doi:10.4204/EPTCS.155.8) (KAR id:63832)
PDF
Author's Accepted Manuscript
Language: English |
|
Download this file (PDF/91kB) |
Preview |
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: http://dx.doi.org/10.4204/EPTCS.155.8 |
Abstract
In the past decades, many different programming models for managing concurrency in applications have been proposed, such as the actor model, Communicating Sequential Processes, and Software Transactional Memory. The ubiquity of multi-core processors has made harnessing concurrency even more important. We observe that modern languages, such as Scala, Clojure, or F#, provide not one, but \emphmultiple concurrency models that help developers manage concurrency. Large end-user applications are rarely built using just a single concurrency model. Programmers need to manage a responsive UI, deal with file or network I/O, asynchronous workflows, and shared resources. Different concurrency models facilitate different requirements. This raises the issue of how these concurrency models interact, and whether they are \emphcomposable. After all, combining different concurrency models may lead to subtle bugs or inconsistencies. In this paper, we perform an in-depth study of the concurrency abstractions provided by the Clojure language. We study all pairwise combinations of the abstractions, noting which ones compose without issues, and which do not. We make an attempt to abstract from the specifics of Clojure, identifying the general properties of concurrency models that facilitate or hinder composition.
Item Type: | Conference or workshop item (Paper) |
---|---|
DOI/Identification number: | 10.4204/EPTCS.155.8 |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Depositing User: | Stefan Marr |
Date Deposited: | 26 Dec 2017 17:53 UTC |
Last Modified: | 05 Nov 2024 10:59 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/63832 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):