Distributed Computing
ETH Zurich

Distributed Systems Part 2 (HS 2016)

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 Michael König, Monday 11.10-11.55@ CAB G 11, Friday 11.10-11.55@ CAB G 61.

Bonus: You can earn 10 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

Lecture Material

Lecture material and exercise sheets will be uploaded here as the lecture progresses.

Title Lecture Notes Exercises Assistants Additional Material
Introduction
2016-11-07 (Monday)
PDF
PDF 2-on-1
--- --- ---
Chapter 1
Fault Tolerance & Paxos
2016-11-07 (Monday)
PDF
PDF 2-on-1
Exercises
Solutions
Georg
Pascal
Thomas
---
Chapter 2
Consensus
2016-11-11 (Friday)
PDF
PDF 2-on-1
Exercises
Solutions
Simon
Yuyi
---
Chapter 3
Byzantine Agreement
2016-11-14 (Monday)
PDF
PDF 2-on-1
Exercises
Solutions
Darya
Yuyi
---
Chapter 4
Authenticated Agreement
2016-11-18 (Friday)
PDF
PDF 2-on-1
Exercises
Solutions
Pascal
Pankaj
---
Chapter 5
Quorum Systems
2016-11-21 (Monday)
PDF
PDF 2-on-1
Exercises
Solutions
Georg
Simon
---
Chapter 6
Eventual Consistency & Bitcoin
2016-11-25 (Friday)
PDF
PDF 2-on-1
Exercises
Solutions
Michael
Pankaj
---
Chapter 7
Distributed Storage
2016-11-28 (Monday)
PDF
PDF 2-on-1
Exercises
Solutions
Gino
Pascal
---
Chapter 8
Game Theory
2016-12-02 (Friday)
PDF
PDF 2-on-1
Exercises
Solutions
Manuel
Yuyi
---
Chapter 9
Locking
2016-12-05 (Monday)
PDF
PDF 2-on-1
Exercises
Solutions
Manuel
Michael
Slides
[AMP Chapter 7]
Chapter 10
Concurrency
2016-12-09 (Friday)
PDF
PDF 2-on-1
Exercises
Solutions
Manuel
Michael
Slides
[AMP Chapter 9]
[AMP Chapter 13]
Chapter 11
Clock Synchronization
2016-12-12 (Monday)
PDF
PDF 2-on-1
Exercises
Solutions
Gino
Simon
---
Chapter 12
Consistency & Transactional Memory
2016-12-16 (Friday)
PDF
PDF 2-on-1
--- --- [AMP Chapter 3]
[AMP Chapter 18]
Android Project
Presentations & Demos
2016-12-19 (Monday)
(see Part 1 of the lecture)
(No Lecture)
2016-12-23 (Friday)
--- --- --- ---

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 take place on Friday, February 10th, in HIL G 61. It 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.

The following is a list of the material 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. 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).

A Q&A session will be held on Friday, February 3rd, at 13.15 in CAB G 11.

Important: You need to submit your questions no later than 24 hours prior to the session to give the responsible assistants enough time to find satisfying answers to your questions. That is, the deadline for submitting questions is Thursday, February 2nd, 13:00. Send your questions to Michael by mail using the subject line [DistSys Q&A]. If you only bring up your questions in the Q&A session, we cannot guarantee having answers for you.

Please keep in mind that this Q&A session will cover only part 2 of the lecture.

This Year's Exam

For your nostalgic and enlightening pleasure, we have made this year's exam available here. We are also providing a sample solution. Please note, that the sample solution merely contains a single correct solution for each task which would have netted full points, but other solutions may also have received partial or full points.