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
- 25. January: Small fixes on slides 38/39 and 45 in Chapter 10. Thanks for the notification!
- 23. January: Small typo in Definition 5.33. Thanks for the email!
- 19. January: Two typo fixes in master solutions: Master solution 1, task 2: One arrow renamed from ok(1,22) to ok(2,22). Master solution 8, task 3 (i): D_w = {v} (before: D_w = {u}). Thanks for the feedback!
- 18. January: Some material which is in the lecture notes was not covered during the lecture itself, and is thus will not be tested in the exam: Chapter 5, after Definition 5.30. And Chapter 9, after Slide 39.
- 11. January: Solution 11, task 1b: corrected master solution.
- 6. January: There will be a Q&A session on Friday 22nd of January 14:00 at CAB G52.
- 23. December: Notified all people who submitted a bonus question for round 2. If you submitted something but did not get feedback, please let us know.
- 21. December: Some exams of our part of the Distributed Systems lecture can be downloaded here (HS09), here(HS10) and here(HS11)
- 11. December: Added Bonus Round 2.
- 3. December: Solution 3, task 3: corrected master solution.
- 23. November: Added Bonus.
- 10. November: Chapter 2: Clarification in Algorithm 2.15: added "received" in Line 7 and 17.
- 10. November: Exercise sheet 2: Minor clarifications.
- 5. November: Updated layout of this website.
- 4. November: Chapter 2, 2.4: Small changes to algorithm and proof (Lemma 2.16, 2.18).
- 2. November: Exercise sheet 1, task 2: Renamed function name consistently from "execute()" to "suggestValue()".
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 |
--- | ||