libcppa - Designing an Actor Semantic for C++11
Dominik Charousset, Thomas C. Schmidt

TL;DR
The paper introduces libcppa, an open source C++11 library that implements the actor model to simplify concurrent programming, aiming to improve reliability and distribution capabilities while maintaining high performance.
Contribution
It presents libcppa, a novel C++11 library that brings actor-based concurrency to native programming, bridging the gap between low-level primitives and high-level concurrency models.
Findings
libcppa enables reliable distributed systems in C++11.
The actor model implementation outperforms traditional thread-based approaches.
libcppa simplifies concurrent programming with high resource efficiency.
Abstract
Parallel hardware makes concurrency mandatory for efficient program execution. However, writing concurrent software is both challenging and error-prone. C++11 provides standard facilities for multiprogramming, such as atomic operations with acquire/release semantics and RAII mutex locking, but these primitives remain too low-level. Using them both correctly and efficiently still requires expert knowledge and hand-crafting. The actor model replaces implicit communication by sharing with an explicit message passing mechanism. It applies to concurrency as well as distribution, and a lightweight actor model implementation that schedules all actors in a properly pre-dimensioned thread pool can outperform equivalent thread-based applications. However, the actor model did not enter the domain of native programming languages yet besides vendor-specific island solutions. With the open source…
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.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Distributed and Parallel Computing Systems
