Distributed Systems Part 2 (HS 2017)
Course Catalogue • Previous Year
Note: This page covers only the second part of the course. Visit the first part held by Prof. Mattern here.
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: None.
Course language: German and English.
Lecture | by Roger Wattenhofer, | Monday 9.15-11.00 | @ CAB G 11, | Friday 9.15-11.00 | @ CAB G 61. |
---|---|---|---|---|---|
Exercises | by Manuel Eichelberger, | Monday 11.10-11.55 | @ CAB G 11, | Friday 11.10-11.55 | @ CAB G 61. |
Bonus: You can earn up to 20 bonus points ahead of the exam. Your task is to create an exam question for one of the topics covered in Part 2 of the lecture. Click here for details. Update: Round 2.
News
12.1.2018 | A Q&A session will be held on Friday, February 2nd, at 13.15 in CAB G 11. Please submit your questions at the latest 48 hours prior to Manuel with subject line [DistSys Q&A]. |
22.2.2018 | There will be two exam review sessions for the second part of the "Distributed Systems" lecture in the room ETZ G 88:
|
Lecture Material
Lecture material and exercise sheets will be uploaded here as the lecture progresses.
Title | Lecture Notes | Exercises | Assistants | Additional Material | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Introduction 2017-11-03 (Friday) |
PDF PDF 2-on-1 |
--- | --- | --- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 1 Fault Tolerance & Paxos 2017-11-03 (Friday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Georg Zeta |
--- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
No Lecture 2017-11-06 (Monday) |
--- | --- | --- | --- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 2 Consensus 2017-11-10 (Friday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Conrad Zeta |
--- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 3 Byzantine Agreement 2017-11-13 (Monday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Darya Gino |
--- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 4 Authenticated Agreement 2017-11-17 (Friday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Georg Gino |
--- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 5 Quorum Systems 2017-11-20 (Monday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Manuel Simon |
Slides | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 6 Eventual Consistency & Bitcoin 2017-11-24 (Friday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Conrad Pankaj |
--- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 7 Distributed Storage 2017-11-27 (Monday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Gino Simon |
--- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 8 Game Theory 2017-12-01 (Friday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Gino Manuel |
--- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 9 Locking 2017-12-04 (Monday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Simon Conrad |
Slides [AMP Chapter 7] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 10 Concurrency 2017-12-08 (Friday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Manuel Conrad |
Slides [AMP Chapter 9] [AMP Chapter 13] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 11 Consistency & Transactional Memory 2017-12-11 (Monday) |
PDF PDF 2-on-1 |
Exercises Solutions |
Pankaj Manuel |
[AMP Chapter 3] [AMP Chapter 18] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chapter 12 PiChain & Ethereum 2017-12-15 (Friday) |
PDF PDF 2-on-1 |
--- | --- | --- | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Android Project Presentations & Demos 2017-12-18 (Monday) |
(see Part 1 of the lecture) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2017-12-22 (Friday) | (see Part 1 of the lecture) |
References
All references are accessible from within the ETH network.
[AMP] | The Art of Multiprocessor Programming Maurice Herlihy, Nir Shavit. Elsevier/Morgan Kaufmann, 2008, ISBN 978-0-12-370591-4 |
Exam Preparation
The written exam will last 180 minutes and include questions from both parts of the lecture (90 points for each part). No written or electronic aids are permitted.
Concerning part 2 of the lecture, generally speaking, all material covered by the lectures and the exercises may be tested in the exam. The lecture notes (accessible above) include some additional material, which is not relevant for the exam.
Not all the course material is relevant for the exam. The following is a list with the exceptions:
- Chapter 5: Section 5.4: Only the main ideas are expected.
- Chapter 6: Section 6.4: Only the main ideas are expected.
- Chapter 7: Definitions 7.11 – 7.15 (including pictures and remarks) are not relevant.
- Chapter 9: [AMP book] Sections 7.5.2, 7.7 and 7.8 are not relevant. Only the main ideas of Section 7.6 are expected.
- Chapter 10: [AMP book] Section 13.4 is not relevant. Only the main ideas of Section 13.3 are expected.
- Chapter 11: [AMP book] Not relevant are all implementation code, Sections 3.6, 3.8, 18.3.2, 18.3.4, 18.3.8 and 18.3.7 from "In Detail".
- Chapter 12: [PiChain] Section 5 is not relevant. [Ethereum] Only pages 13 to 25 are expected.
For practice and to get a feel for the style of questions in the exam you may consult exams from previous years provided here: HS09, HS10, HS11, HS12, HS13, HS15, HS16. Beware that the topics covered have shifted around a little over the years (for example, network updates were not part of this year's course).
Changelog
7.12.2017 | Last two lecture topics switched. |
8.12.2017 | Extended concurrency script. |
12.12.2017 | Last lecture topic changed. |
12.1.2018 | Algorithm 7.1 and Theorem 7.2 corrected. |