UPPSALA [DOCS]

Distributed Algorithms, 5p
PhD-level Course


The course starts on the 20st of January

Welcome to the course page for Distributed Algorithms, a point introductory graduate course at the Dept. of Computer Systems, Uppsala University.
Undergraduate students interested in following this course are also wellcome.




Introduction and Course Description

Sequential and parallel algorithms can usually be seen as recipies that transform inputs that are given to them at the beginning into desired outputs that are produced at the end. Distributed Algorithms run in processes of systems where the processing elements are physically apart and are there rather to guarantee desired behavior of the system.

People's concern when thinking of a distributed algorithm is not only what each component should do in order to guarantee the desired behavior of the system but also -like in parallel and sequential algorithms- a big deal of effort goes to issues like:

The course will aim at making the students familiar with many of the important problems, protocols and impossibility results in the area of distributed computing; it will also aim at giving a good feeling for the different system models and their capabilities. More specifically, the idea is that those who will have followed and participated in the course will acquire a sound background, a "tool-case", which can be further used to pursue research in Distributed Computing, as well as to recognize the problems when they arise in practice and to employ either techniques for solving them or arguments for proving impossibility.

The problems to be taught and discussed are: broadcasting, election, minimum spanning tree, synchronizers, time-stamping, logical clocks, mutual exclusion, resource allocation, transaction commit, distributed consensus, atomic snapshots, concurrent time-stamping, wait-free and lock-free synchronization, concurrent data objects, self-stabilization. Additionally, the course will include study of the basic distributed system models, including synchronous, asynchronous, timing-based, general message passing, plus simpler paradigms such as shared memory and atomic objects.

Bibliography

1. V. Garg ``Principles of Distributed Systems". (Kluwer Academic Publishers, 1996)
2. N. Lynch ``Distributed Algorithms'' (Morgan-Kaufmann, 1995)
3. G. Tel ``Introduction to Distributed Algorithms''. (Cambridge University Press, 1994)
4. Related conference and journal papers.

Prerequisites

We expect students to have programming skills in C or C++ (the applied project will involve programming). Besides this, knowledge of basic algorithms and operating systems principles will be useful.

Examination

There are going to be weekly homework assignments. See homework guidelines. The homework assignments page will be pointing to all homework assignments released so far.

There is also an applied project assignment that students can select. For this, students will be divided into groups of 2-4 persons. For more details see the paragraph below. Students who select to do the applied project assignment do not have to give the final exams.

Applied project

The applied project is: Distributed Algorithms Visualization and Evaluation. The main goal of the project is that the students uncover the fundamental attributes and characteristics of these distributed algorithms by constructing their animations. Each group will be assigned to develop the animation of two distributed algorithms.

The project runs in parallel with the rest of the course, and most of the last month is reserved for finishing the assignments.

The project work should be documented in a joint final report, presented in a (joint) seminar on 980326. This is also the date when the final exam will take place for the students who have not selected the applied project assignment.

Grading

The grade will be determined by the homework assignemts (40%), the final project (60%) or the final exam (60%).

Schedule

For a tentative schedule of the lectures see here.

For a more detailed descrption of the topics see here.

Instructor, Office hours, etc.

If you are interested in following the course send an e-mail to Philippas Tsigas (tsigas@docs.uu.se) Office hours: Tuesdsdays after the lecture.


Last updated: Mon Dec 8 18:52:15 MET 1997 (by Philippas Tsigas)