When Concurrency Matters: Behaviour-Oriented Concurrency
Luke Cheeseman, Matthew J. Parkinson, Sylvan Clebsch, Marios Kogias, Sophia Drossopoulou, David Chisnall, Tobias Wrigstad, Paul Liétar
摘要
Expressing parallelism and coordination is central for modern concurrent programming. Many mechanisms exist for expressing both parallelism and coordination. However, the design decisions for these two mechanisms are tightly intertwined. We believe that the interdependence of these two mechanisms should be recognised and achieved through a single, powerful primitive. We are not the first to realise this: the prime example is actor model programming, where parallelism arises through fine-grained decomposition of a program's state into actors that are able to execute independently in parallel. However, actor model programming has a serious pain point: updating multiple actors as a single atomic operation is a challenging task.
We address this pain point by introducing a new concurrency paradigm: Behaviour-Oriented Concurrency (BoC). In BoC, we are revisiting the fundamental concept of a behaviour to provide a more transactional concurrency model. BoC enables asynchronously creating atomic and ordered units of work with exclusive access to a collection of independent resources.
In this paper, we describe BoC informally in terms of examples, which demonstrate the advantages of exclusive access to several independent resources, as well as the need for ordering. We define it through a formal model. We demonstrate its practicality by implementing a C++ runtime. We argue its applicability through the Savina benchmark suite: benchmarks in this suite can be more compactly represented using BoC in place of Actors, and we observe comparable, if not better, performance.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- Reference Capabilities for Flexible Memory ManagementEllen Arvidsson, Elias Castegren, Sylvan Clebsch, Sophia Drossopoulou 等OOPSLA 2023 · 被引用 17 次
- Data Race Freedom à la ModeAïna Linn Georges, Benjamin Peters, Laila Elbeheiry, Leo White 等POPL 2025 · 被引用 6 次
- Dynamic Region Ownership for Concurrency SafetyFridtjof Peer Stoldt, Gary Brandt Bucher II, Sylvan Clebsch, Matthew A. Johnson 等PLDI 2025 · 被引用 4 次
- Precise exceptions in relaxed architecturesBen Simner, Alasdair Armstrong, Thomas Bauereiss, Brian Campbell 等ISCA 2025 · 被引用 4 次
- DORADD: Deterministic Parallel Execution in the Era of Microsecond-Scale ComputingZhengqing Liu, Musa Unal, Matthew J. Parkinson, Marios KogiasPPoPP 2025 · 被引用 3 次
它引用的顶会 Paper6
- Opportunities for Optimism in Contended Main-Memory Multicore TransactionsYihe Huang, William Qian, Eddie Kohler, Barbara Liskov 等VLDB 2020 · 被引用 60 次
- Block-STM: Scaling Blockchain Execution by Turning Ordering Curse to a Performance BlessingRati Gelashvili, Alexander Spiegelman, Zhuolun Xiang, George Danezis 等PPoPP 2023 · 被引用 49 次
- Caracal: Contention Management with Deterministic Concurrency ControlDai Qin, Angela Demke Brown, Ashvin GoelSOSP 2021 · 被引用 37 次
- Reference Capabilities for Flexible Memory ManagementEllen Arvidsson, Elias Castegren, Sylvan Clebsch, Sophia Drossopoulou 等OOPSLA 2023 · 被引用 17 次
- Scalable and serializable networked multi-actor programmingBo Sang, Patrick Eugster, Gustavo Petri, Srivatsan Ravi 等OOPSLA 2020 · 被引用 3 次
相关 Paper
- Veracity: declarative multicore programming with commutativityAdam Chen, Parisa Fathololumi, Eric Koskinen, Jared PincusOOPSLA 2022 · 被引用 2 次
- Automated Verification of Go Programs via Bounded Model CheckingNicolas Dilley, Julien LangeASE 2021 · 被引用 21 次
- Actor concurrency bugs: a comprehensive study on symptoms, root causes, API usages, and differencesMehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi KhatchadourianOOPSLA 2020 · 被引用 13 次
- Hydra: Breaking the Global Ordering Barrier in Multi-BFT ConsensusHanzheng Lyu, Shaokang Xie, Jianyu Niu, Mohammad Sadoghi 等ICDE 2026
- An Operational Semantics for True Concurrency in BDI Agent SystemsLavindra de SilvaAAAI 2020 · 被引用 4 次
