Distributed Systems Project

Year Semester Date Period Language In charge


Time Room Lecturer Date
Tue 10-12 D122 Jussi Kangasharju 17.01.2012-23.02.2012
Thu 10-12 D122 Jussi Kangasharju 17.01.2012-23.02.2012


 In this course, you will familiarize yourself with practical aspects of distributed systems and algorithms. The course consists of one individual assignment and  two small (group) projects which concentrate on different aspects of distributed systems. You are allowed to work in groups of up to 3 students. The details of the assignments will be posted later.

As background knowledge, we assume that you are familiar with the material covered in the Distributed Systems course and in the Linux Fundamentals course. 

Completing the course

 Each of the assignments and projects is graded separately on scale 1-5. To pass the course you need to successfully complete each of them (i.e., get at least 1 from each of them). 

Literature and material

  • Material from the Distributed Systems course
  • Information from the web as needed

Assignment 1

Introductory slides

  1. Lamport
  2. Vector clocks
  3. Bully election algorithm
  4. Gossiping
  5. Token passing

Example configuration file and example outputs for different tasks. NOTE: These are just examples and do not represent any real execution sequence of these programs!

Very brief tutorial on socket programming in Java.

 Assignment 2


Assignment 3