Dissertation Talk: Programming Models for Correct and Modular Distributed Systems – Shadaj Laddad

Speaker: Shadaj Laddad
Advisors: Alvin Cheung and Joseph M. Hellerstein
Date: Friday, May 16, 2025
Time: 11:30AM – 12:30PM PT

Location: Woz Lounge

Abstract:
Distributed systems are a fundamental part of modern computing, but they are notoriously difficult to program. Developers must reason about a wide variety of non-deterministic behaviors, including message reordering, retries, and failures, all while also having to deal with the inherent concurrency across machines. Existing programming languages focus on local semantics, and provide little help reasoning about the global behavior of the distributed system.

In this talk, we present a new foundation for distributed programming that offers richer correctness guarantees and enables new opportunities for modularity. We present formal foundations for distributed programming using asynchronous streams, and then reify these semantics as a practical framework called Hydro. Hydro is a Rust-based framework that enables developers to write distributed systems with strong guarantees for correctness and performance. We then explore new optimization techniques for distributed systems, including program synthesis and term rewriting, that leverage the semantics of Hydro to improve performance and scalability. Our work demonstrates that it is possible to build a practical programming model for distributed systems that is both correct and efficient, enabling developers to build more reliable and scalable software.