Distributed Computing
ETH Zurich

Distributed Systems Part 2 (HS 2017)

Course CataloguePrevious 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.

News

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-06 (Monday)
--- --- --- ---
Chapter 1
2017-11-10 (Friday)
--- --- --- ---
Chapter 2
2017-11-13 (Monday)
--- --- --- ---
Chapter 3
2017-11-17 (Friday)
--- --- --- ---
Chapter 4
2017-11-20 (Monday)
--- --- --- ---
Chapter 5
2017-11-24 (Friday)
--- --- --- ---
Chapter 6
2017-11-27 (Monday)
--- --- --- ---
Chapter 7
2017-12-01 (Friday)
--- --- --- ---
Chapter 8
2017-12-04 (Monday)
--- --- --- ---
Chapter 9
2017-12-08 (Friday)
--- --- --- ---
Chapter 10
2017-12-11 (Monday)
--- --- --- ---
Chapter 11
2017-12-15 (Friday)
--- --- --- ---
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.

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).