Distributed Systems

Networking and Services
Advanced studies
This course presents the basic concepts and solution principles of distributed systems. The main topics are synchronization, consistency, fault tolerance, distributed consensus, and security. The course considers different kinds of distributed systems, from modern warehouse-scale datacenters to wide-area, loosely-coupled distributed systems. The focus is on gaining an understanding on how modern distributed systems are designed and built and what are their theoretical underpinnings. The course covers the basic algorithms of distributed systems and the current state of research in the area. Course material: Largely based on research articles and supplemental material. Selected material from the book "Barroso, L. A., Clidaras, J. and Hölzle, U.: The Datacenter as a Computer¿. (book is available online)
Year Semester Date Period Language In charge
2010 autumn 01.11-09.12. 2-2 English


Time Room Lecturer Date
Mon 10-12 D122 Jussi Kangasharju 01.11.2010-09.12.2010
Thu 10-12 D122 Jussi Kangasharju 01.11.2010-09.12.2010

Exercise groups

Group: 1
Time Room Instructor Date Observe
Mon 14-16 CK111 Jussi Kangasharju 01.11.2010—10.12.2010
Group: 2
Time Room Instructor Date Observe
Thu 16-18 C222 Mikko Pervilä 01.11.2010—10.12.2010

Registration for this course starts on Tuesday 12th of October at 9.00. Exercises begin on the first lecture week.


The course intends to give insight into the main concepts and design principles related with distribution. Goals, challenges, problems, and various solutions are presented and discussed. The emphasis is on concepts and principles, not on practical implementations.

Completing the course

The course can be taken either through participating in a lecture course or through a final exam.

To pass the lecture course you need to

  • participate the weekly excercise sessions (one of the groups work in English if needed) (12 points)
  • return the written homework assignments (4 assignments); each will be graded (12 points)
  • a traditional exam (42 points)

You need minimum 30 points to pass with a minimum of 16 points in the exam. With 50 points you will get a 5. To take a course you have to register yourself through the ILMO system.

Lecture Course
The lecture course is given every year, and it involves

  • Lectures 4 hours / week, for 6 weeks. 
  • Practice sessions 2h/week for 6 weeks.
  • Written homework to be returned.
  • Course examination.The exam questions will be in English and you may answer in English, Finnish, Swedish, French, or German.

Final Examination

Final examinations are organized typically four times a year. Notice that a "course examination" and a "final examination" are two different things: in order to participate in a course examination you also must have participated in the corresponding practice sessions.

Literature and material

The textbook of the course is Tanenbaum, A.S., van Steen, M., Distributed Systems, Principles and Paradigms; Prentice-Hall, 2007. The topics of the course are mainly in chapters 1,2, 4, 6-8, and 10. Chapters 3 and 5 review material which is part of the pre-requisites of this course.

In the 2002 edition of Tanenbaum and in the Couloris book you can find mostly the equivalent material. You can use the slides to give you an idea of the breadth of topics covered.

Course slides will be made available as the lectures progress.