Distributed Systems, Saarland University
Summer 2010

 

Tentative schedule for lectures, exams and project deadlines (all lectures held at 12:00-14:00 hours in room HS 001, building E 1.3). All information is subject to change.

We wish to thank Frans Kaashoek and Robert Morris at MIT for sharing their course materials. 

Monday

Tuesday

 

Wednesday

Thursday

Friday

12 April
LEC 1: Intro: Distributed systems / Project Overview


13 April

14 April

15 April
LEC 2: Infrastructure: Implementing RPCs
Preparation: Read Implementing Remote Procedure Calls

16 April

Assignment: Lab 1: Lock Server

19 April
LEC 3: Infrastructure: Programming with threads
Preparation: Read Threads in C#

20 April

21 April

22 April
LEC 4: Distributed programming: Remote Objects
Preparation: Read Java Remote Method Invocation

23 April

26 April (Taught by Alexander Wieder)
LEC 5: Distributed programming: MapReduce and Pig
Preparation: Read MapReduce paper

27 April

28 April

29 April
LEC 6: Consistency: Sequential consistency
Preparation: Read Shared Virtual Memory

30 April
Due: Lab 1
Assignment: Lab 2: Basic File Server

3 May
LEC 7: Consistency: Relaxed consistency
Preparation: Read TreadMarks

4 May

5 May

6 May
LEC 8: Consistency: Timestamps and version vectors
Preparation: Read Tra

7 May
Due: Lab 2
Assignment: Lab 3: Reading, Writing, and Sharing Files

10 May
LEC 9: Eventual Consistency
Preparation: Read Bayou

11 May

12 May

13 May holiday!

14 May
Due: Lab 3
Assignment: Lab 4: MKDIR, REMOVE, and Locking

17 May
LEC 10: Fault Tolerance: Crash recovery and logging
Preparation: Read Cedar

18 May

19 May

20 May
Review session for midterm exam.

21 May

Due: Lab 4
Assignment: Lab 5: Caching Lock Server

24 May holiday!

25 May

26 May

27 May
No lecture.

28 May

31 May
Midterm exam
In class. Open book and notes.
Scope: Lectures 1-10

1 June

2 June

3 June holiday!

4 June

7 June
LEC 11: Fault Tolerance: Two-phase commit
Preparation: Read Argus

8 June

9 June

10 June
LEC 12: Fault Tolerance: Replicated state machines
Preparation: Read Hypervisor

11 June

Due: Lab 5
Assignment: Lab 6: Caching Extent Server + Consistency

14 June
LEC 13: Fault Tolerance: Consensus (slides)
Preparation: Read Paxos

15 June

16 June

17 June
LEC 14: Fault Tolerance: Byzantine Fault Tolerance
Preparation: Read Practical BFT

18 June
Due: Lab 6
Assignment: Lab 7: Paxos

21 June

No lecture.

22 June

23 June

24 June
LEC 15: Naming

Preparation: Read DNS

25 June

28 June
LEC 16:
Peer-to-peer Systems: Finding data
Preparation: Read Chord

29 June

30 June

1 July

LEC 17: Peer-to-peer Systems: Content Distribution Networks
Preparation: Read Coral

2 July

Due: Lab 7
Assignment: Lab 8: Replicated State Machine

5 July
LEC 18: Case Studies: Frangipani
Preparation: Read Frangipani

6 July

7 July

8 July
LEC 19: Case Studies: BitTorrent
Preparation: Read BitTyrant

9 July

12 July
LEC 20: Case Studies: Relaxed Consistency
Preparation: Read Dynamo

13 July

14 July

15 July
LEC 21: Case Studies: Botnets
Preparation: Read Spamalytics

16 July

Due: Lab 8

19 July

LEC 22: Review

20 July

21 July

22 July

Term-end exam

In class. Open book and notes.
Scope: Lectures 11 - 21

23 July

 11 October

Repeat exam

Open book and notes.

Scope: Lectures 1 -21