Towards Language Support for Distributed Systems
summary
Argues for moving correctness into the language by targeting two concrete problems: composing richer computations on CRDTs that provide strong eventual consistency and composing serverless functions into verified workflows. Points to implemented artifacts and tools: a Spry-like DSL for bounded staleness, session types implemented in Rust Scala Haskell Python Java, and WIT as a language-agnostic contract system for microservices. Prototypes exist; a type system to check monotonicity of CRDT operations and CI checks for container interfaces remain works in progress.
AI-written summary · about
chapters (10)
- 0:00Introduction and background
- 1:05The nature of research
- 3:43Distributed systems focus
- 5:00Research clusters overview
- 6:32Consistency and data models
- 18:40Session types explained
- 25:26Other research initiatives
- 29:53Future research directions
- 32:51References and resources
- 35:43Q&A session
related talks
31mDesigning Distributed Systems with TLA+
39mWorkflows, a new abstraction for distributed systems
46mLost in transaction? Strategies to deal with (in-)consistency in distributed systems
34mType-safe & high-perf distributed actor systems with Rust
36mFlying Spaghetti Monster - Type Systems and Microservices
25mConsistent Updates for Scalable Microservices
25mThe shell game called eventual consistency
38mDurable Execution: The Next Leap for Microservices Architectures
