PARTISAN: Scaling the Distributed Actor Runtime
Talkat USENIX ATC '19 · on Wednesday, 2019-07-10· at 11:20· USENIX ATC Track II: Grand Ballroom VII–IX·
summary
PARTISAN is an Erlang library that replaces Distributed Erlang’s single full‑mesh, single‑TCP assumptions with runtime‑selectable overlays (full‑mesh, client‑server, peer‑to‑peer overlay) and network parallelism via named channels and affinitized scheduling. A prototype on EC2 scales to 1,024 nodes in experiments, shows up to an order‑of‑magnitude larger cluster capacity, up to 38.07x throughput and up to 13.5x latency reduction versus Distributed Erlang, and handles 8 MB objects where Distributed Erlang collapses; uses 16 parallel connections for best latency.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:19Distributed Actors
- 1:41Programming Model
- 2:56Executive Summary We're going to look at how we can improve distributed actor
- 3:38Limitations: Scalability
- 4:54Limitations: Latency
- 5:37Partisan
- 6:24Dynamic Overlay Selection
- 8:12Named Channels
- 9:23Affinitized Parallelism
- 10:00Experiments
- 11:41Evaluating Scalability Distributed advertisement counter
- 12:30Increasing Scalability
- 13:58Reducing Latency: Microbenchmarks
- 15:50Increasing Throughput: Echo Service
- 16:28Increasing Throughput: KVS Service
- 17:22Takeaways Distributed actor systems limited by implementation assumptions
- 18:49Questions?
related talks
46mPartisan: high performance large scale distributed Erlang
14mData-Parallel Actors: A Programming Model for Scalable Query Serving Systems
37mDistributed Actors and Where They Live
15mScalable and Serializable Networked Multi-actor Programming
18mDistributed Actors in OCaml
33mA Reliability Benchmark for Actor-Based Server Languages
33mDiscovering distributed systems in Elixir
01h 14mAkka.NET: The Future of Distributed Programming in .NET
