Chalmers University of Technology and Gothenburg University, Computer Science Department

"Distributed Systems II" Course Page

Distribuerade system fk. LP 4 2001, 4p, valfri, ff-kurs.
TDA295 (CTH), INN29 (GU)

Chalmers University of Technology and Gothenburg University





Responsible for the course:
Philippas Tsigas mailto:tsigas@cs.chalmers.se
Course Assistant:
Yi Zhang mailto:yzhang@cs.chalmers.se

Course hours/place:
Monday 10-12 MD9 (Matematiskt Centrum, Eklandagatan 86)
Wednesday 10-12 MD9 (Matematiskt Centrum, Eklandagatan 86)
Friday 10-12 MD9 (Matematiskt Centrum, Eklandagatan 86) 

Examination:
Week 21
Time:
Room:

Office hours: by appointment

Laborationsschema:
For the programming assignment we have reserved the lab-room "Sal G" at the Matematiskt Centrum on Wednesdays from 13:00 to 15:00 (vecka 11 - vecka 20).

1st Programming assignment: due by 1st of May, 2000

2nd Programming assignment: due by 19th of May, 2000

Extra Home Assignment for GU students: due by 19th of May,  2000

Please put a hard copy of your reports at the Course Mailing Box at the Matematiskt Centrum (close to the laboration room); alternatively you can use the internal Chalmers mailbox, recipient Yi Zhang.
Do not forget to mention on your report the directory where your programs are.

Slides
You can find a copy of the Slides that are not available electronically outside of the "Expedition".

Literature:
We will use the book the Third Edition of the book titled "Distributed Systems: Concepts and Design" written by: George Coulouris, Jean Dollimore and Tim Kindberg, and published by Addison-Wesley, ISBN 0-201-61918-0
For special themes we will use additional literature items (scientific papers), which will be specified/distributed during the course and, whenever possible, will be made available via the www-home page of the course

On-line Course Schedule

Past Exams

COURSE DESCRIPTION:
Distributed systems are a popular and powerful computing paradigm. Their importance increases as networked computers become more common than free-standing ones, especially since many different types of computers can be found in networks.

In this course we will see the points of inherent difference and strength of distributed systems compared with sequential or strongly-coupled systems; consequently, we will also study the issues and problems that have to be addressed and solved efficiently for these differences to be taken advantage of, so that the system retains its strength and high potential.

In particular, we will address and study the following issues in distributed systems:
a) Synchronisation: Continuation (after the course "Distributed Systems I") of the study of distributed clock-synchronisation and its uses in mutual exclusion; study about resource allocation in general. Advance one step further, to see how to get solutions without the need for clock synchronisation (and hence of lower cost in practice).
b) Replication: The advantages and costs of replicating data: the potential improvement in response times and reliability, and the extra communication costs involved in keeping data consistent.
c) Concurrency control: Study of different types of locking, deadlock detection. Additionally, study of concurrency control methods without locking.
d) Recovery and Fault Tolerance: Check-pointing, optimistic and pessimistic recovery control.
e) Fault-tolerant Agreement in Distributed Systems: (a very special and significant problem, since it is a key issue in most synchronisation and coordination problems in distributed systems) Study of the basic impossibility results and discuss their implications; proceed with solutions and protocols for systems with certain strengths and design structures.
f) Distributed Shared Memory: The difference between shared-memory-based programming and message-passing-based programming; types of consistency; write-update and write-invalidate protocols.

A small practical project will give the opportunity to students to uncover the fundamental attributes and characteristics of the protocols that will discuss in the class. The project is going to be based on a existing simulators and animation libraries and it will involve some programming in C, C++. 


http://www.md.chalmers.se/~tsigas/ - 2001-03-09