![]() |
15-440 - Distributed Systems |
![]() |
Week |
Session |
Date |
Topic |
Teaching Method |
Reading list |
Projects |
Prob. Solving Assignment |
1 |
1 |
25 Aug |
Logistics and Introduction |
Lecture |
Syllabus |
|
|
|
2 |
27 Aug |
Introduction to Distributed Systems |
Lecture |
C1, T1 |
|
|
|
3 |
28 Aug |
Advanced Object-Oriented Java Programming |
Recitation |
|
|
Start PS1 |
2 |
4 |
1 Sep |
Physical and Architectural Models of Distributed Systems & Introduction to Networking |
Lecture |
C.2.1, C2.2, C2.3 (except 2.3.3), C3.1, & C3.2 |
Start P1 |
|
|
5 |
3 Sep |
Networking Layering, Switching, Routing, and Congestion Control |
Lecture |
C3.3, C3.4 |
|
|
|
6 |
4 Sep |
Case study: Java Socket Programming & RMI |
Recitation |
P1 Write-up |
|
End PS1 |
3 |
7 |
8 Sep |
Inter-Process Communication Sockets, RPC, RMI, and Indirect Communication |
Lecture |
T4.2 T4.6, C4.1 C4.4, C5.1 C5.4, & C6.1 6.4 |
|
Start PS2 |
|
8 |
10 Sep |
Naming Flat, Structured and Attribute-Based Naming |
Lecture |
T5.1, T5.2, T5.3, T5.4 .1, & T5.4.2 |
|
|
|
9 |
11 Sep |
Case study: Naming & Storage Server Programming |
Recitation |
C5.5; Java API for UDP datagrams and Java API for TCP streams |
Design Report P1 |
|
4 |
10 |
15 Sep |
Synchronization Motivation and Physical Clocks |
Lecture |
T6.1 |
|
|
|
11 |
17 Sep |
Synchronization Logical Clocks and Vector Clocks |
Lecture |
T6.2 |
|
End PS2 |
|
12 |
18 Sep |
Case study: Google Protocol Buffers and Publish-Subscribe |
Recitation |
C21.4 |
|
Start PS3 |
5 |
13 |
22 Sep |
Synchronization Mutual Exclusion and Election Algorithms |
Lecture |
T6.3 & T6.5 |
|
|
|
14 |
24 Sep |
Consistency & Replication Motivation and Data-Centric Consistency Models |
Lecture |
T7.1 & T7.2 |
|
|
|
15 |
25 Sep |
Design of Project 2 |
Recitation |
P2 Write-up |
|
|
6 |
16 |
29 Sep |
Consistency & Replication Client-Centric Consistency Models and Replica Management |
Lecture |
T7.3 & T7.4 |
|
|
|
|
1 Oct |
Midterm |
Exam 1 |
|
End P1/Start P2 |
|
|
17 |
2 Oct |
TBA |
Recitation |
|
|
End PS3 |
|
|
5 Oct |
Eid Al-Adha Break; NO CLASSES |
Break |
|
|
|
7 |
18 |
13 Oct |
Consistency & Replication Consistency Protocols |
Lecture |
T7.5 & T7.6 |
Design Report P2 |
|
|
19 |
15 Oct |
Fault Tolerance Basic Concepts, Failure Models, Failure Masking by Redundancy & Process Resilience |
Lecture |
T8.1 & T8.2 |
|
|
|
|
16 Oct |
Case study: Consistency in GFS and Google Chubby |
Recitation |
C21.5.1 & C21.5.2 |
|
|
8 |
20 |
20 Oct |
Fault Tolerance Reliable Request-Reply Communication |
Lecture |
C5.2 & T8.3 |
|
Start PS4 |
|
21 |
22 Oct |
Fault Tolerance Reliable Group Communication, Distributed Commit and Recovery |
Lecture |
T8.4 T8.7 |
End P2/Start P3 |
|
|
22 |
23 Oct |
Design of Project 3 |
Recitation |
P3 Write-up |
|
|
9 |
23 |
27 Oct |
Programming Models Traditional Models on Parallel Programming & Introduction to MPI |
Lecture |
Notes from Instructor |
|
|
|
24 |
29 Oct |
Programming Models MPI |
Lecture |
Notes from Instructor |
|
|
|
25 |
30 Oct |
Applying MPI to Program a Classical Problem |
Recitation |
|
|
|
10 |
26 |
3 Nov |
Programming Models MapReduce |
Lecture |
Notes from Instructor |
|
|
|
27 |
6 Nov |
Programming Models GraphLab and Pregel |
Lecture |
Notes from Instructor |
End P3/Start P4 |
|
|
28 |
7 Nov |
Design of P4 |
Recitation |
P4 Write-up |
|
End PS4 |
11 |
29 |
10 Nov |
Distributed File Systems Architectures, Data Striping, Processes and Communication |
Lecture |
T11.1 T11.3 |
|
Start PS5 |
|
30 |
12 Nov |
Distributed File Systems Naming, Synchronization, Consistency and Replication & Fault-Tolerance
|
Lecture
|
T11.4 11.7
|
|
|
|
31 |
13 Nov |
Applying MapReduce to Program a Classical Problem Part I |
Recitation |
Notes from Instructor and the Yahoo Tutorial on Hadoop |
|
|
12 |
32 |
17 Nov |
Big Table: A Distributed Structured Storage System |
Recorded Video Lecture |
The BigTable paper |
|
|
|
33 |
19 Nov |
Security Threats, Policies and Mechanisms, Cryptograph, Authentication & Message Integrity and Confidentiality |
Lecture |
T9.1 & T9.2 |
|
|
|
34 |
20 Nov |
Applying MapReduce to Program a Classical Problem Part II |
Recitation |
Notes from Instructor and the Yahoo Tutorial on Hadoop |
|
|
13 |
35 |
24 Nov |
Security Access Control Matrix, Protection Domains, Key Management & Authorization Management |
Lecture |
T9.3 T9.5 |
|
|
|
36 |
26 Nov |
Virtualization Motivation, Process and System Virtualization & Logical and Physical Partitioning |
Lecture |
Notes from the Instructor |
End P4 |
|
|
37 |
27 Nov |
TBA |
Recitation |
|
|
End PS5 |
14 |
38 |
1 Dec |
Virtualization CPU Virtualization |
Lecture |
Notes from the Instructor |
|
|
|
39 |
3 Dec |
Virtualization Memory and I/O Virtualization |
Lecture |
Notes from the Instructor |
|
|
|
40 |
4 Dec |
Overview |
Recitation |
|
|
|
15 |
|
7 Dec |
Final |
Exam 2 |
|
|
|
Table 1: Tentative Time-Line of the Course.
Notations used in Table 1 are as given below:
▪ PS : Problem Solving Assignments
▪ Cx(.y.z) : Chapter x (Section y, Subsection z) from the Colouris et al. textbook
▪ Tx(.y.z) : Chapter x (Section y, Subsection z) from the Tannenbaum and Van Steen textbook
▪ TBA :To Be Announced