Foundations of reliable distributed systems (DSs), including failure and system models, and communication and agreement problems.
- Basic concepts and definitions (e.g., system models, failure models, time)
- Group communication with crash failures (e.g., failure detectors, consensus, membership)
- Crash recovery and Byzantine failures (e.g., Paxos)
- Data replication, scalability (e.g., quorum systems, distributed storage systems)
- Distributed transactions and commit (e.g., Two- and Three-Phase Commit, Non-blocking Atomic Commit)
- Consistency (e.g., linearizability, causal consistency, strict serializability)
- More hard problems (e.g., leader election, uniform reliable broadcast, terminating reliable broadcast)
- Programming support for reliable DSs (e.g., Pi calculus, and behavioral typing, debugging, model checking)
- Dozent*in: Patrick Eugster
- Dozent*in: Malte Viering