Bestow and Atomic: Concurrent Programming using Isolation, Delegation and Grouping
Elias Castegren, Joel Wallin, Tobias Wrigstad

TL;DR
This paper introduces new programming constructs to improve concurrent programming by decoupling isolation and synchronization, enabling higher-level atomicity guarantees, with a focus on actor-based systems like Encore.
Contribution
It extends previous work by adding constructs for decoupling isolation and synchronization, and building atomicity guarantees, applicable to both actor and lock-based concurrency.
Findings
Proposed constructs facilitate decoupling isolation and synchronization.
Formal semantics and properties of the constructs are discussed.
Implementation in the Encore language is underway.
Abstract
Any non-trivial concurrent system warrants synchronisation, regardless of the concurrency model. Actor-based concurrency serialises all computations in an actor through asynchronous message passing. In contrast, lock-based concurrency serialises some computations by following a lock--unlock protocol for accessing certain data. Both systems require sound reasoning about pointers and aliasing to exclude data-races. If actor isolation is broken, so is the single-thread-of-control abstraction. Similarly for locks, if a datum is accessible outside of the scope of the lock, the datum is not governed by the lock. In this paper we discuss how to balance aliasing and synchronisation. In previous work, we defined a type system that guarantees data-race freedom of actor-based concurrency and lock-based concurrency. This paper extends this work by the introduction of two programming constructs;…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
