Scalable and serializable networked multi-actor programming
Bo Sang, Patrick Eugster, Gustavo Petri, Srivatsan Ravi, Pierre-Louis Roman
Abstract
A major challenge in writing applications that execute across hosts, such as distributed online services, is to reconcile (a) parallelism (i.e., allowing components to execute independently on disjoint tasks), and (b)cooperation (i.e., allowing components to work together on common tasks). A good compromise between the two is vital to scalability, a core concern in distributed networked applications. The actor model of computation is a widely promoted programming model for distributed applications, as actors can execute in individual threads (parallelism) across different hosts and interact via asynchronous message passing (collaboration). However, this makes it hard for programmers to reason about combinations of messages as opposed to individual messages, which is essential in many scenarios. This paper presents a pragmatic variant of the actor model in which messages can be grouped into units that are executed in a serializable manner, whilst still retaining a high degree of parallelism. In short, our model is based on an orchestration of actors along a directed acyclic graph that supports efficient decentralized synchronization among actors based on their actual interaction. We present the implementation of this model, based on a dynamic DAG-inducing referencing discipline, in the actor-based programming language AEON. We argue serializability and the absence of deadlocks in our model, and demonstrate its scalability and usability through extensive evaluation and case studies of wide-ranging applications.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get d275f6d4-8747-4b5d-ad31-3d4eb20b4776Cited by top-tier papers2
- When Concurrency Matters: Behaviour-Oriented ConcurrencyLuke Cheeseman, Matthew J. Parkinson, Sylvan Clebsch, Marios Kogias et al.OOPSLA 2023 · 9 citations
- Reliable Actors with Retry OrchestrationOlivier Tardieu, David Grove, Gheorghe-Teodor Bercea, Paul Castro et al.PLDI 2023 · 4 citations
Related papers
- CRGC: Fault-Recovering Actor Garbage Collection in PekkoDan Plyukhin, Gul Agha, Fabrizio MontesiPLDI 2025 · 1 citation
- Veracity: declarative multicore programming with commutativityAdam Chen, Parisa Fathololumi, Eric Koskinen, Jared PincusOOPSLA 2022 · 2 citations
- Graph Computation with Adaptive GranularityRuiqi Xu, Yue Wang, Xiaokui XiaoICDE 2024
- Beyond Static Parallel Loops: Supporting Dynamic Task Parallelism on Manycore Architectures with Software-Managed Scratchpad MemoriesLin Cheng, Max Ruttenberg, Dai Cheol Jung, Dustin Richmond et al.ASPLOS 2023 · 4 citations
- Durable functions: semantics for stateful serverlessSebastian Burckhardt, Chris Gillum, David Justo, Konstantinos Kallas et al.OOPSLA 2021 · 63 citations
