Data-Parallel Actors: A Programming Model for Scalable Query Serving Systems
Talkat 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI '22) · 2022-04-04..04-06·
summary
Data-parallel actors (DPA) is a programming model and runtime (Uniserv) that composes single-node components into distributed query-serving systems using collective operators like retrieve/combine and scatter/gather. It produces fault-tolerant, atomic parallel updates with configurable consistency (eventual to serializable), distributes Lucene, Druid, MonetDB, Solr, and MongoDB, matches or improves performance while adding load balancing and elasticity, requires <1K lines of custom code (over 10× less than custom layers) and attains state-of-the-art performance.
AI-written summary · about
chapters (4)
- 0:00Start
- 0:59Properties of a Query Serving System 1. Data-Parallel: Queries access GB-TB of data on many machines.
- 3:47Running Example: Lucene Apache Lucene is a single-node text search library built around an inverted index data structure for storing text documents.
- 11:04Goals of Evaluation . Compare performance of DPA-distributed systems to natively- distributed systems. Show you can use DPA instead of a hard-to- build custom distribution layer without sacrificing performance. • Evaluate new DPA features like load balancing for systems
related talks
49mDDD, Event Sourcing and Actors
31mThe Dapr Actors Journey: From Understanding to Intuition
45mActors Can Rule Your DDD World
22mPARTISAN: Scaling the Distributed Actor Runtime
37mDistributed Actors and Where They Live
18mDistributed Actors in OCaml
15mScalable and Serializable Networked Multi-actor Programming
48mActor, an Elegant Model for Concurrent and Distributed Computation
