Distributed Computing
ETH Zurich

Distributed Systems Part 2 (HS 2015)


Note: Only second part, visit the first part of this course held by Prof. Mattern.

We present the characteristics and concepts of distributed systems, and discuss distributed control algorithms (flooding, mutual exclusion, logical clocks), communications models (remote procedure call, client-server models, synchronous and asynchronous communication), abstract communication principles (broadcast, events, tupel spaces), name services, communication middleware for open systems, infrastructure for ad hoc networking (JINI), cloud computing, and mechanisms for security and safety. Having a distributed system may permit getting away with failures and malfunctions of parts of the system. We discuss fault-tolerance issues (models, consensus, agreement) as well as replication issues (primary copy, 2PC, 3PC, Paxos, quorum systems).

Topics: Distributed control algorithms (mutual exclusion, logical clocks), communication models (RPC, client-server, synchronous and asynchronous communication), abstract communication principles (broadcast, events, tuple spaces), communication middleware, security mechanisms, fault-tolerance (failure models, consensus, agreement), replication (primary copy, 2PC, 3PC, Paxos, quorum systems).

Course pre-requisites: - .

Course language: German or English.

Lecture by Prof. Roger Wattenhofer, Monday 9-11 @ NO C6, Friday 9-11 NO C6.

Exercises by David Stolz, Christian Decker and Michael König. Monday 11-12 @ NO C6, Friday 11-12 @ NO C6.

Bonus Your task is to create an exam question including a solution for one of the topics covered in the lecture. See here for detailed information.


News



Lecture material


Title Lecture Notes Exercises Additional Material

Chapter 0
Introduction
2015/11/02
PDF 1:1
PDF 2:1
--- ---

Chapter 1
Fault-Tolerance & Paxos
2015/11/02
PDF 1:1
PDF 2:1
Exercises
Solutions
---

Chapter 2
Consensus
2015/11/06
PDF 1:1
PDF 2:1
Exercises
Solutions
---

Chapter 3
Byzantine Agreement
2015/11/09
PDF 1:1
PDF 2:1
Exercises
Solutions
---

Chapter 4
Authenticated Agreement
2015/11/20
PDF 1:1
PDF 2:1
Exercises
Solutions
Slides

Chapter 5
Quorum Systems
2015/11/16
PDF 1:1
PDF 2:1
Exercises
Solutions
---

Chapter 6
Eventual Consistency & Bitcoin
2015/11/23
PDF 1:1
PDF 2:1
Exercises
Solutions
---

Chapter 7
Distributed Storage
2015/11/27
PDF 1:1
PDF 2:1
Exercises
Solutions
---

Chapter 8
Game Theory
2015/11/13
PDF 1:1
PDF 2:1
Exercises
Solutions
---

Chapter 9
Clock Synchronization
2015/11/30
PDF 1:1
Exercises
Solutions
---

Chapter 10
Network Updates
2015/12/04
PDF 1:1
Exercises
Solutions
---

Chapter 11
Locking
2015/12/07
PDF 1:1
Exercises
Solutions
Additional Material

Chapter 12
Concurrency
2015/12/11
PDF 1:1
Exercises
Solutions
Additional Material

Chapter 13
Consistency & Shared Memory
2015/12/14
PDF 1:1
---