15-440 - Distributed Systems |
Week |
Session |
Date |
Topic |
Teaching Method |
Reading list |
Projects |
Prob. Solving Assignment |
1 |
1 |
3 Sep |
Adiministrivia and Introduction |
Lecture |
Syllabus |
Start P1 |
|
|
2 |
5 Sep |
Introduction to Distributed Systems |
Lecture |
C1, T1 |
|
Start PS1 |
|
3 |
6 Sep |
Case study: Java Socket
programming, RMI |
Recitation |
Notes about Socket programming and
RMI |
|
|
2 |
4 |
10 Sep |
Distributed System Architecture,
Introduction to Networking |
Lecture |
C.2.1, C2.2, C2.3 (except
2.3.3), C3.1, C3.2 |
|
|
|
5 |
12 Sep |
Networking – Layering,
Switching, Routing, Congestion Control |
Lecture |
C3.3, C3.4 |
Design Report P1 |
|
|
6 |
13 Sep |
Design of P1 |
Recitation |
|
|
|
3 |
7 |
17 Sep |
Inter-Process Communication –
Socket, RPC, Message-passing and multi-cast |
Lecture |
T4.2 – T4.6 |
|
|
|
8 |
19 Sep |
Naming – Flat, structured and
attribute-based |
Lecture |
T5.1, T5.2, T5.3, T5.4 .1, T5.4.2 |
|
|
|
9 |
20 Sep |
Case study: Google protocol buffers
and publish-subscribe |
Recitation |
|
|
End PS1 |
4 |
10 |
24 Sep |
Synchronization – Physical
clocks, Logical clocks, Vector clocks |
Lecture |
T6.1, T6.2 |
|
Start PS2 |
|
11 |
26 Sep |
Synchronization – Mutual
exclusion, election algorithms |
Lecture |
T6.3 – T6.6 |
|
|
|
12 |
27 Sep |
Case study: Google Chubby |
Recitation |
|
|
|
5 |
13 |
1 Oct |
Synchronization –
Transactions and concurrency control |
Lecture |
C16 |
End P1/Start P2 |
|
|
14 |
3 Oct |
Consistency & Replication |
Lecture |
T7 |
|
|
|
15 |
4 Oct |
Case study: Replication in GFS,
Design of P2 |
Recitation |
|
|
|
6 |
16 |
8 Oct |
Consistency & Replication |
Lecture |
T7 |
Design Report P2 |
|
|
17 |
10 Oct |
Consistency & Replication |
Lecture |
T7 |
|
|
|
18 |
11 Oct |
Design of P2 |
Recitation |
|
|
End PS2 |
7 |
19 |
15 Oct |
Fault Tolerance |
Lecture |
T8 |
|
|
|
20 |
17 Oct |
Fault Tolerance |
Lecture |
T8 |
|
|
|
21 |
18 Oct |
Programming on Reliable
Communication |
Recitation |
|
End P2 |
|
8 |
22 |
22 Oct |
Fault Tolerance |
Lecture |
T8 |
Start P3 |
|
|
23 |
24 Oct |
Midterm |
Exam1 |
|
|
Start PS3 |
|
24 |
25 Oct |
Design of P3 & Developing MPI
programs |
Recitation |
|
|
|
9 |
|
28 Oct |
Eid Al-Adha Break; No Classes |
|
|
|
|
10 |
25 |
5 Nov |
Programming Models |
Lecture |
Notes on MPI, Shared memory, W1,
W2, W6 |
|
|
|
26 |
7 Nov |
Programming Models |
Lecture |
Notes on MPI, Shared memory, W1,
W2, W6 |
|
|
|
27 |
8 Nov |
Developing MPI programs |
Recitation |
|
|
|
11 |
28 |
12 Nov |
Programming Models |
Lecture |
Notes on MPI, Shared memory, W1,
W2, W6 |
|
End PS3 |
|
29 |
14 Nov |
Distributed File Systems |
Lecture |
T11 |
End P3 |
Start PS4 |
|
30 |
15 Nov |
Developing MapReduce Programs |
|
|
|
|
12 |
31 |
19 Nov |
Distributed File Systems |
Lecture |
T11 |
Start P4 |
|
|
32 |
21 Nov |
Big Table: A
Distributed Structured Storage System |
Recorded Video Lecture |
The BigTable paper |
|
|
|
33 |
22 Nov |
Design of P4 &
Developing MapReduce Programs |
Recitation |
|
|
|
13 |
34 |
26 Nov |
Security |
Lecture |
T9 |
|
|
|
35 |
28 Nov |
Security |
Lecture |
T9 |
|
|
|
36 |
29 Nov |
Developing MapReduce programs |
Recitation |
|
|
|
14 |
37 |
3 Dec |
TBA |
Guest Lecture |
|
|
|
|
38 |
5 Dec |
Virtualization |
Lecture |
S1, S8, S9 |
|
|
|
39 |
6 Dec |
TBA |
Recitation |
|
|
|
15 |
40 |
10 Dec |
Virtualization |
Lecture |
S1, S8, S9 |
|
End PS4 |
|
41 |
12 Dec |
Virtualization |
Lecture |
S1, S8, S9 |
|
|
|
42 |
13 Dec |
Presentation Session on P3 & P4 |
Presentations |
|
|
|
16 |
43 |
17 Dec |
Final |
Exam2 |
|
End P4 |
|
Table 1: Tentative Time-Line of the Course.
Notations used in Table 1 are
as given below:
▪
Assignments:
PS=Problem Solving Assignments
▪
Reading
list: Cx(.y.z) = Chapter x (Section
y, subsection z) from Colouris textbook;
similarly, Tx(.y.z) refers to
chapters from Tannenbaum textbook, Wx(.y.z)
refers to White textbook, and Sx(.y.z) refers to Smith textbook.
▪
Instructors: MFS=Majd Sakr, MHH=Mohammad
Hammoud TBA=To Be Announced