Algorithms and Complexity

Distributed Systems
Sommer Term 2015
Peter M. Fischer & Fabian Kuhn



All oral exams will take place in room 106-00-012 (office of Fabian Kuhn).

Course Description

The lecture provides an introduction to theoretical and applied aspects of distributed systems. In particular, the course will cover the following topics:

  • System and communication models
  • Networks and communication
  • Time and global states
  • Consistency and coordination in the presence of faults
  • Distributed transactions

Lectures and Exercises

  • Tuesday 14:15-16:00: 101-00-010/14
  • Thursday 14:15-16:00.: 101-00-010/14

Exercise tutorials will take place roughly every second week.

Lecture and Exercise Material

Slides and Recordings (password protected)

Exercise Material

Problem Set Assigned Due (14:00 a.m) Solution / Additional Material

Exercise 01 (Schedules, 2 Generals, Asynchronity) 23.04.2015 05.05.2015 Solution
Exercise 02 (Happens Before Relation, Clock Synchr.) 05.05.2015 19.05.2015 Solution
Exercise 03 (Clock Synchr., Consensus)
(updated Ex 1 on 02.06.2015)
21.05.2015 09.06.2015 Solution
Exercise 04 (Recovery and Commit Consensus) 30.06.2015 Solution Slides
Exercise 05 (Paxos and Concurency Control) 14.07.2015 Solution Slides
Exercise 06 (Distributed Concurency Control and Replication) 21.07.2015 Solution Slides

Literature and Additional Material

  • Distributed Computing: Fundamentals, Simulations, and Advanced Topics (2nd edition); Hagit Attiya and Jennifer Welch; Wiley, 2004
  • Principles of Distributed Database Systems (3rd edition); M.T. Özsu, P. Valduriez; Springer, 2001
  • Distributed Systems: Concepts and Design (3rd edition); Jean Dollimore, George Coulouris, Tim Kindberg; Pearson Studium, 2002