Evolving an Actor Library Based on Lessons Learned from Large-Scale Deployments
summary
Built a pre‑C++11 actor+future library called libprocess to scale Apache Mesos to 75,000 physical machines, finds the implementation causes excessive synchronization and dynamic allocations, and rebuilds it as eventuals that use continuations (lazy, coroutine‑friendly) instead of eager futures/promises. The new design shows how continuations compose, how scheduling binds continuations back to the prior executor, why actor mailboxes avoid user locks, and where memory and execution resumption must be allocated or pinned for performance.
AI-written summary · about
chapters (45)
- 0:00Introduction
- 1:08Chapters
- 1:54Motivation
- 2:12Challenges
- 2:34Motivation Example
- 2:48Function Composition
- 3:31Wait
- 4:00Threads
- 4:30Code routines
- 5:15Callbacks
- 5:41Futures Promises
- 7:16Future Promises
- 9:03Simple Function Composition
- 11:00Futures and Promises
- 11:41Grammar Check
- 13:20Waiting
- 13:31Concurrency
- 14:18Thread Pool
- 14:53Multiple Problems
- 15:12Solutions
- 16:22Actors
- 17:50Poltergeist
- 18:17C Actor Libraries
- 24:19C Star Project
- 25:38Why Actors Need Futures
- 26:10Control Flow
- 27:09Transforming Actors
- 30:55mutexes
- 31:57asynchronous mutexes
- 34:06Evolving the library
- 36:42Revisiting the problem
- 38:00Why do we need locks
- 40:14And can we avoid dynamic allocation
- 40:59Using callbacks everywhere
- 43:30Cancellation paths
- 43:43Memory
- 43:58Memory Allocation
- 45:39Continuation
- 48:41Eventuallys
- 50:05Eventually
- 50:34Post
- 51:07SpellCheck
- 51:29GrammarCheck
- 52:22Future
- 59:30Conclusion
related talks
43mIntroduction to Akka Actors: Concurrency and Distributed Systems for the JVM
34mType-safe & high-perf distributed actor systems with Rust
40mActors in .NET, 2025 edition
24mUsing an actor framework for scientific computing
58mLife with actors: experience report
43mEffective Eventual Consistency with Actor Models + Amazon Web Services
45mReactive design patterns for microservices on multicore
42mLeveraging the Actor Model in Financial Transaction Systems
