A Multiparty Session Typing Discipline for Fault-tolerant Event-driven Distributed Programming
summary
Presents a new MPST formulation that supports event-driven multiparty sessions with handlers for I/O and partial failures, including dynamic replacement of failed parties and retrying segments under imperfect failure detection. Proves a novel global progress property for well-typed processes across concurrent sessions. Ships a Scala toolchain and a full session-typed Cluster Manager for Apache Spark that integrates with vanilla Spark and runs unmodified third-party jobs. Evaluation shows the prototype is practical, with functionally correct recovery and worst-case overheads up to about 60%.
AI-written summary · about
chapters (8)
- 0:00Introduction to session typing
- 1:46Cluster manager architecture
- 4:19Event-driven programming model
- 7:31Protocol specifications and features
- 10:00Fault tolerance and monitoring
- 11:46Event handling and state management
- 13:30Implementation and benchmarks
- 14:35Conclusion and future work
related talks
35mEvent-Driven Multiparty Session Actors
23mA Synthetic Reconstruction of Multiparty Session Types
18mHybrid Multiparty Session Types: Compositionality for Protocol Specification th...
46mFault tolerance in Distributed Systems: A Case Study in Apache Spark
37mSession Types: A History and Applications
32mBenchmarks for Multiparty Session Types
31mFunction-Passing Style Typed, Distributed Functional Programming
32mMulticompatibility for Multiparty-Session Composition
