Programming Models for Correct and Modular Distributed Systems

Uloženo v:
Podrobná bibliografie
Vydáno v:ProQuest Dissertations and Theses (2025)
Hlavní autor: Laddad, Shadaj Ramnivas
Vydáno:
ProQuest Dissertations & Theses
Témata:
On-line přístup:Citation/Abstract
Full Text - PDF
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!

MARC

LEADER 00000nab a2200000uu 4500
001 3232639604
003 UK-CbPIL
020 |a 9798288863394 
035 |a 3232639604 
045 2 |b d20250101  |b d20251231 
084 |a 66569  |2 nlm 
100 1 |a Laddad, Shadaj Ramnivas 
245 1 |a Programming Models for Correct and Modular Distributed Systems 
260 |b ProQuest Dissertations & Theses  |c 2025 
513 |a Dissertation/Thesis 
520 3 |a 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 dissertation, we present a new foundation for distributed programming that offers richer correctness guarantees and enables new opportunities for modularity. We develop a generalized notion of asynchronous streams that capture distributed semantics in types and restrict downstream behavior to guarantee determinism. Our model makes it possible to write an entire distributed protocol in a single function, encapsulating the network and concurrency. These building blocks can be composed to form complex distributed systems with strong correctness guarantees.We reify this model in a Rust framework called Hydro. Hydro leverages staged programming to expose a high-level streaming interface while compiling down to bare-metal binaries with performance matching handwritten systems. We then explore optimization techniques for distributed systems enabled by our semantics, including program synthesis and term rewriting. 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. 
653 |a Computer science 
653 |a Computer engineering 
653 |a Information technology 
773 0 |t ProQuest Dissertations and Theses  |g (2025) 
786 0 |d ProQuest  |t ProQuest Dissertations & Theses Global 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3232639604/abstract/embedded/6A8EOT78XXH2IG52?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/3232639604/fulltextPDF/embedded/6A8EOT78XXH2IG52?source=fedsrch