Programming Models for Failure-Transparent Distributed Systems
Time: Thu 2025-12-11 09.00
Location: Kollegiesalen, Brinellvägen 8, Stockholm
Video link: https://kth-se.zoom.us/j/65545597811
Language: English
Doctoral student: Jonas Spenger , Teoretisk datalogi, TCS
Opponent: Associate Professor Tom Van Cutsem, KU Leuven, Belgium
Supervisor: Associate Professor Philipp Haller, Teoretisk datalogi, TCS; Associate Professor Paris Carbone, Programvaruteknik och datorsystem, SCS
QC 20251112
Abstract
Failure-transparent programming models abstract from failures by fully masking them from the programmer. They are widely used for programming distributed systems, as failures otherwise are considered a core difficulty. The most widely used of its kind for processing data is stateful dataflow streaming, a model restricted to static, directed, acyclic graphs of stateful stream processors. However, its restrictions limit the applicability of the model, as it lacks support for compositional patterns and replicated data types, making it difficult to express certain applications. Moreover, there is a lack of formal foundations and proofs of failure transparency.
This thesis contributes a semantics-agnostic definition of failure transparency, and two proofs of failure transparency, one of which is for a model of a stateful dataflow streaming system. It additionally contributes two novel programming models based on stateful dataflow streaming. The first provides extensions for compositional patterns, allowing it to express use cases such as a shopping cart. The second provides extensions for windowed conflict-free replicated data types, implemented in a low-latency programming system for global aggregations.
This thesis demonstrates the utility of failure-transparent programming models for distributed systems by contributions to its formal foundations and by making it applicable to a wider range of applications.