582417 Distributed Systems (4 cr)
News
- 23.10.08: First lecture slides and exercises posted on the web. See link at the bottom of this page.
Position in Curriculum
This is a master-level course in Computer Science. The course is obligatory for those who intend to specialize in the area of "Distributed Systems and Data Communication".
Goal
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.
The learning goals of the course are listed in a separate table (available only in Finnish).
Course Prerequisites
The students are expected to master the contents of the courses Operating Systems, Concurrent Systems, and Introduction to Data Communication.
The prerequisities concretely include for example the following:
- client-server architecture
- error detection and correction in data storage and data communication
- file system implementation structure
- RPC
- CORBA, RMI, and programming with them
- message passing and interprocess communication
- concepts of transactions and serializability, basic idea of distributed snapshots
- understanding on how DNS and WWW work
Methods for Achieving Credit
The course can be taken either through participating in a lecture course or through a final exam (exam dates for both the lecture course and final examination: see exam dates).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 (3 assignments); each will be graded (6 points)
- a traditional exam (48 points)
Lecture Course
The lecture course is given every year, and it involves
- Lectures 4 hours / week, for 6 weeks. The lectures are in Finnish, but the slides are in English. The slides will be made available later.
- Practice sessions 2h/week for 6 weeks. One group will be in English, if needed.
- Written homework to be returned.
- Course examination (in English when needed).
If you do not understand Finnish you may have to do a bit more independent work. You should acquire a textbook (the slides are just an extended list of contents!), read it to keep pace with the lectures, do most of the homeworks for each problem set, attend all practice sessions, and weekly check that you master all the preceding material.
Final Examination
Final examinations are organized typically four times a year. If you want to take a final examination in English you have to inform the instructor about this one week before the examination (in addition to the normal registration). 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.
List of Contents
- Distributed systems (Tanenbaum, van Steen: Ch. 1)
- System components (Ch. 1)
- Interprocess communication (Ch. 2)
- Synchronization: time, coordination and agreement (Ch. 5)
- Consistency and replication (Ch. 6)
- Fault tolerance (Ch. 7)
Course Material
- The main textbook of the course is
Tanenbaum, A.S., van Steen, M., Distributed Systems, Principles and Paradigms; Prentice-Hall, 2002.
The topics covered can be found in chapters 1; 2.2-4; 5; 6.1-5; 7; 10.1-2. - Essential parts of the material can be found in
Coulouris,G.F., Dollimore,J., Kindberg,T., Distributed Systems, Concepts and Design; 4th ed.; Addison-Wesley, 2005.
The topics covered can be found in chapters 1, 2, 4, 8, 11-15, 18.4-5. Some parts which are treated more superficially in Tanenbaum's book get a more detailed description (transactions, for example). On the other hand, this book does not cover all the topics treated on the course. - Some old
exams
are available, as well as (old excercise questions)
- The book of Tanenbaum and van Steen can be purchased in Academic
Bookstore, in University Bookstore, or in Dataclub; the price should
be about 60-70 euros.
- All local materials can used according to GNU Free Documentation Licence. The slides include original figures from the textbook e-materials. These figures can be used only according to the copyright rules presented in the corresponding textbook.
Slides and Exercises
Lecture slides:- Chapter 1: Introduction
- Chapter 2: Interprocess communication
- Chapter 3: Synchronization
- Chapter 4: Replication and consistency
- Chapter 5: Fault tolerance
- Exercise 1, week 44
- Exercise 2, week 45
- No exercise for week 46, exercise sessions will focus on home exercises 2 and 3.
- Exercise 3, week 47
- Exercise 4, week 48
- Exercise 5, week 49
- Home exercise 1, study diary, return by 7.11. via email to Mika Karlstedt Home exercise 2, return by 28.11. via email to Mika Karlstedt Home exercise 3, return by 5.12. via email to Mika Karlstedt
Jussi Kangasharju Last modified: Fri Aug 15 08:11:45 KST 2008