A multiparty session typing discipline for fault-tolerant event-driven distributed programming
Malte Viering, Raymond Hu, Patrick Eugster, Lukasz Ziarek
Abstract
This paper presents a formulation of multiparty session types (MPSTs) for practical fault-tolerant distributed programming. We tackle the challenges faced by session types in the context of distributed systems involving asynchronous and concurrent partial failures – such as supporting dynamic replacement of failed parties and retrying failed protocol segments in an ongoing multiparty session – in the presence of unreliable failure detection. Key to our approach is that we develop a novel model of event-driven concurrency for multiparty sessions. Inspired by real-world practices, it enables us to unify the session-typed handling of regular I/O events with failure handling and the combination of features needed to express practical fault-tolerant protocols. Moreover, the characteristics of our model allow us to prove a global progress property for well-typed processes engaged in multiple concurrent sessions, which does not hold in traditional MPST systems. To demonstrate its practicality, we implement our framework as a toolchain and runtime for Scala, and use it to specify and implement a session-typed version of the cluster management system of the industrial-strength Apache Spark data analytics framework. Our session-typed cluster manager composes with other vanilla Spark components to give a functioning Spark runtime; e.g., it can execute existing third-party Spark applications without code modification. A performance evaluation using the TPC-H benchmark shows our prototype implementation incurs an average overhead below 10%.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Cited by top-tier papers4
- Complete Multiparty Session Type Projection with AutomataElaine Li, Felix Stutz, Thomas Wies, Damien ZuffereyCAV 2023 · 17 citations
- Hybrid Multiparty Session Types: Compositionality for Protocol Specification through Endpoint ProjectionLorenzo Gheri, Nobuko YoshidaOOPSLA 2023 · 5 citations
- Speak Now: Safe Actor Programming with Multiparty Session TypesSimon Fowler, Raymond HuOOPSLA 2026
- Top-Down = Bottom-Up: Sound and Complete Characterisations of Liveness by Multiparty Global ProtocolsKai Pischke, Nobuko YoshidaOOPSLA 2026
Related papers
- Statically verified refinements for multiparty protocolsFangyi Zhou, Francisco Ferreira, Raymond Hu, Rumyana Neykova et al.OOPSLA 2020 · 38 citations
- Mixed Choice in Asynchronous Multiparty Session TypesLaura Bocchi, Raymond Hu, Adriana Laura Voinea, Simon ThompsonOOPSLA 2026
- CAMP: cost-aware multiparty session protocolsDavid Castro-Perez, Nobuko YoshidaOOPSLA 2020 · 16 citations
- A Synthetic Reconstruction of Multiparty Session TypesDavid Castro-Perez, Francisco Ferreira, Sung-Shik JongmansPOPL 2026
- Top-Down or Bottom-Up? Complexity Analyses of Synchronous Multiparty Session TypesThien Udomsrirungruang, Nobuko YoshidaPOPL 2025 · 7 citations
