Distributed Systems II
Distribuerade system fk.

2011, LP3 – 7.5 hec (hp)
TDA297 (CTH), DIT290 (GU)

Chalmers University of Technology and Gothenburg University

News:

17 August 2011:

26 April 2011: A review of the exam is going to be on Friday the 6th of May in room 5128 from 11:00 to 12:00. The exam results are in the process of being electronically processed and are going to be in the system soon.

9 March 2011: Lecture slides for Lecture 14 is up.

3 March 2011: Lecture slides for Lecture 13 is up.

2 March 2011: Lecture slides for Lectures 11 and 12 is up.

28 February 2011 (again): Slides up for Assignment Lecture 4 and for Lecture 10.

28 February 2011: If you use random numbers in your lab 3 solution make sure that you have RandomMlcgC.nc (from the current Rout.tar.gz) in your Rout directory. The old RandomMlcgP.nc does not work correctly.

21 February 2011: The question and answer session this Wednesday the 23:rd is moved to the earlier time 10:00-11:45 in the different room EB!

21 February 2011: Todays lecture was already covered this friday.

18 February 2011: This week's slides are up. Reading material on Byzantine agreement is up (among the slides) and the lab PM for lab 3 is up.

9 February 2011: Slides for Lectures 6 and 7 are up.

7 February 2011: Notification dates for the lab grading is up. This is the date you get feedback at the latest for your initial on time submission.

31 January 2011: The slides for Lecture 5 and the presentation for lab 2 is up. Also all problems with ensemble after the server move should have been cleared up.

30 January 2011: The ensemble system has moved to a new path within the file system. The PM for lab 1 is updated with instructions. The PM for lab 2 is up.

28 January 2011: The ensemble system will be unavailable during the weekend due to file server changes. Next week we will have to do some changes to get things to work in the new server environment. There will be more information about this at the Assignment Lecture Monday next week.

26 January 2011: Slides for Lecture 3 and 4 and a pdf on view synchronous group communication are up.

24 January 2011: Updated the lab 1 PM with information about the need to set the environment variable ENS_CONFIG_FILE to /chalmers/users/larandr/ensemble/ensembled.conf with instructions on how to do that.

21 January 2011: The lab PM and lecture slides for the first assignment is up. The fire system is up at https://fire.cs.chalmers.se:8039/cgi/Fire-ds2.

20 January 2011: The room changes are now up in the course schedule below.

19 January 2011: Lecture rooms have changed and will differ for different days in different weeks to begin with. The room this Friday is the 21th of January is EL42. Stay tuned for further information. Also, slides for the second lecture is up and Zhang's office hours 13:30-14:30 at Mondays are announced.

17 January 2011: Slides from first lecture is up and the ISBN of the book has been updated.

12 January 2011: Web page for 2011 is up.

Course Examiner and responsible for the course:
Philippas Tsigas   tsigas [at] chalmers [dot] se

Course Assistants:
Andreas Larsson  larandr [at] chalmers [dot] se
Zhang Fu             zhafu [at] chalmers [dot] se

Course hours/place:
Mondays 10-12, EL43 for the rest of the course
Wednesdays 13-15, EL41 for the rest of the course (except for moved times)
Fridays 13-15, EL42 for the rest of the course

See also Course schedule below. Note that it might be subject to changes during the course so check it regularly.

Do not forget to register:
studievagledare [at] cs [dot] chalmers [dot] se
fax 031-165655, tel 031-773 1004

Examination: Monday the 14th of March 2011 in the V building 14:00-18:00

Exam review: Friday the 6th of May 2011 in room 5128 from 11:00-12:00

Rexamination: Tuesday the 23th of August 2011 in the M building 8:30-12:30

Office hours: Zhang has office hours for questions in room 5103 at 13:30-14:30 at Mondays. Other meetings can be arranged on-line, via e-mail.

Programming assignments:
All programming assignments is to be done in groups of 2.

If you cannot find a lab partner, use this doodle to either:

If the numbers turn out odd in the end contact Andreas about forming one group of three.

Literature:
We will use the book the Fourth 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-10: 0321263545, ISBN-13: 978-0321263544. 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

Course Schedule: Tentative - Please make sure that you "reload" this page to get current info

Week (Chalmers week/LV)

Monday

Wednesday

Friday

3 (1)
(Jan 17-21)

Lecture 1:
Introduction

Room: ML4

Lecture 2:
Broadcasting

Room: MB

Assignment Lecture 1:
Introduction to Lab 1

Room: EL42

4 (2)
(Jan 24-Jan 28)

Lecture 3:
Broadcasting & Replication

Room: MB

Lecture 4:
Replication

Room: EL41

Lecture 5:
Replication & Quorum Consensus

Room: EF

5 (3)
(Jan 31-Feb 4)

Assignment Lecture 2:
Introduction to Lab 2 + Questions and answers for all labs.

Room: EL43


No Lecture – Work on assignments

Lecture 6:
Distributed denial of service attacks

Room: EL42

6 (4)
(Feb 7-11)

Lecture 7:
Distributed Transactions & Concurrency Control in Distributed Transactions

Room: EL43

Deadline for lab 1 at 23:59


CHARM – No Lecture

Assignment Lecture 3:
Questions and answers for all labs.

Room: EL42

7 (5)
(Feb 14-18)

Lecture 8:
Atomic Commit protocols & Byzantine General

Room: EL43

Notification date for lab 1

Lecture 9:
Distributed Algorithms

Room: EL41

Assignment Lecture 4:
Sensor Networks + Introduction to Lab 3 + Questions and answers for all labs.

Room: EL42

8 (6)
(Feb 21-25)

Lecture 10:
Cancelled – Already covered at Assignment Lecture 4

Deadline for lab 2 at 23:59

Assignment Lecture 5:
Questions and answers for all labs.

At 10:00-11:45 in EB!!

Lecture 11:
Mutual Exclusion and Resource Allocation. Dining Philosophers

Room: EL42

9 (7)
(Feb 28-Mar 4)

Lecture 12:
Generalization of the Dining Philosophers

Room: EL43

Notification date for lab 2

Lecture 13:
Drinking Philosophers and Efficient Resource Allocation

Room: EL41


No Lecture

Deadline for lab 3 at 23:59

10 (8)
(Mar 7-11)

Assignment presentations:
Presentations and Demos of the 3rd lab.

Room: EL43

Lecture 14:
Efficient Resource Allocation continued

Room: EL41

Lecture 15:
Closing

Room: EL42

Notification date for lab 3

EXAM:

Monday the 14th of March 2011 in the V building 14:00-18:00

Slides:

Lecture 1: Introduction. Slides: pptx

Lecture 2: Fault-Tolerant Broadcasting. Slides: ppt

Assignment Lecture 1: Introduction to lab 1. Slides: ppt pdf

Lecture 3: Broadcasting, Replication part 1. Slides: pptx

Lecture 4: Replication part 2. Slides: pptx. On view synchronous group communication: pdf

Lecture 5: Replication part 3, Quorum Consensus. Slides: pptx

Assignment Lecture 2: Introduction to lab 2. Slides: ppt pdf

Lecture 6: Denial of Service attacks. Slides: pptx

Lecture 7: Distributed Transactions. Slides: pptx

Lecture 8: Byzantine agreement ppt

Lecture 9: Distributed Algorithms pdf, Extra reading material on Byzantine agreement pdf

Assignment Lecture 4: Introduction to TinyOS (Selected slides from Turgay Korkmaz) ppt and presentation of lab 3 ppt

Lecture 10: Routing in sensor networks (Selected slides from Roger Watterhofer): ppt

Lecture 11: Mutual Exclusion and Resource Allocation. Dining Philosophers. Slides: pdf

Lecture 12: Generalization of the Dining Philosophers. Slides: pdf

Lecture 13: Drinking Philosophers and Efficient Resource Allication. Slides: pdf

Lecture 14: Efficient Resource Allication Continued. Slides: pptx


For more slides from 2010, see the web page from 2010

Reading Material:

For the exam you have to study:

Past Exams

0008

0005

9905

9908

Course Description

Distributed systems is 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) Synchronization: Continuation (after the course "Distributed Systems I") of the study of distributed clock-synchronization 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 synchronization (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) Fault-tolerant Agreement in Distributed Systems: (a very special and significant problem, since it is a key issue in most synchronization 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.
d) Distributed Shared Memory: The difference between shared-memory-based programming and message-passing-based programming; types of consistency; write-update and write-invalidate protocols.
e) Resource allocation.

Course Evaluation

A team of at least three students representing the GU-CS students, the CTH International Master's program students and the "local" CTH students needs to be formed. The team's task is to:
- provide feedback from students
- take part in mid- and final-evaluation meetings
- write meeting minutes; and
- together with the teacher compile the final evaluation report.