CSE 486/586
Distributed
Systems

Spring 2019

 
Course Info
Schedule
PAs
Practice Problems
Syllabus

Tentative Schedule

The schedule is tentative and subject to change. The lecture slides heavily contain the material developed and copyrighted by Prof. Indranil Gupta at Illinois. The material was originally developed for courses CS425/CSE424/ECE428 at Illinois.

Date
Topic(s)
Reading(s)
Assignment(s)
Mon 1/28 Introduction
[pptx] [pdf]
   
Wed 1/30 The Internet in 2 Hours --- 1
[pptx] [pdf]
Parts of Sections 3.1 and 3.2
(Optional) The Design Philosophy of the DARPA Internet Protocols
 
Fri 2/1 The Internet in 2 Hours --- 2
[pptx] [pdf]
Parts of Sections 3.3 and 3.4
(Optional) Brief History of the Internet
(Optional) End-to-End Arguments in System Design
 
Mon 2/4 Android Programming --- 1
[pptx] [pdf]
Android Guide: API Guides & Training  
Wed 2/6 Android Programming --- 2
[pptx] [pdf]
   
Fri 2/8 Android Programming --- 3
[pptx] [pdf]
  PA 1 Due
Mon 2/11 Failure Detection
[pptx] [pdf]
Sections 2.4.2 and 15.1  
Wed 2/13 Time and Synchronization
[pptx] [pdf]
Sections 14.1 - 14.3  
Fri 2/15 Logical Time
[pptx] [pdf]
Section 14.4
(Optional) Time, Clocks, and the Ordering of Events in a Distributed System
 
Mon 2/18 Global States
[pptx] [pdf]
Section 14.4
(Optional) Distributed Snapshots: Determining Global States of Distributed Systems
 
Wed 2/20 Reliable Multicast --- 1
[pptx] [pdf]
Section 15.4  
Fri 2/22 Reliable Multicast --- 2
[pptx] [pdf]
  PA 2 Part A Due
Mon 2/25 Reliable Multicast (Remainder)    
Wed 2/27 Gossiping
[pptx] [pdf]
Section 18.4  
Fri 3/1 Peer-to-Peer Systems
[pptx] [pdf]
Sections 10.1-10.3 & 10.5.3  
Mon 3/4 Distributed Hash Tables
[pptx] [pdf]
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications  
Wed 3/6 Consensus
[pptx] [pdf]
Impossibility of Distributed Consensus with One Faulty Process
Sections 15.5.2 & 15.5.4
 
Fri 3/8 Mutual Exclusion
[pptx] [pdf]
Section 15.2  
Mon 3/11 Mid-Semester Overview
[pptx] [pdf]
   
Wed 3/13 In-Class Midterm    
Fri 3/15 No Class   PA 2 Part B Due
Mon 3/18 - Fri 3/22 Spring Break    
Mon 3/25 Mutual Exclusion
[pptx] [pdf]
Section 15.2  
Wed 3/27 Leader Election
[pptx] [pdf]
Section 15.3  
Fri 3/29 Paxos
[pptx] [pdf]
Section 21.5.2
More details [pptx] [pdf]
Paxos Made Simple
The Part-Time Parliament
(Optional) Paxos Made Moderately Complex
(Optional) Paxos Made Practical
 
Mon 4/1 Concurrency Control --- 1
[pptx] [pdf]
Sections 16.1 - 16.4  
Wed 4/3 Concurrency Control --- 2
[pptx] [pdf]
Sections 16.2 - 16.4  
Fri 4/5 Concurrency Control --- 3
[pptx] [pdf]
Section 16.4 & 17.1 - 17.3  
Mon 4/8 Remote Procedure Call
[pptx] [pdf]
Sections 5.1 - 5.3 & 21.4  
Wed 4/10 Distributed File Systems
[pptx] [pdf]
   
Fri 4/12 Consistency --- 1
[pptx] [pdf]
Section 18.5 PA 3 Due
Mon 4/15 Consistency --- 2
[pptx] [pdf]
   
Wed 4/17 Consistency --- 3
[pptx] [pdf]
   
Fri 4/19 Case Study: Amazon Dynamo
[pptx] [pdf]
Dynamo: Amazon's Highly Available Key-Value Store
(Optional) Eventually Consistent
 
Mon 4/22 Cache Coherence
[pptx] [pdf]
   
Wed 4/24 Distributed Shared Memory
[pptx] [pdf]
   
Fri 4/26 Case Study: Facebook Photo Stores --- 1
[pptx] [pdf]
Sections 13.1 & 13.2
Finding a Needle in Haystack: Facebook's Photo Storage
f4: Facebook's Warm BLOB Storage System
 
Mon 4/29 Case Study: Facebook Photo Stores --- 2    
Wed 5/1 Security --- 1
[pptx] [pdf]
Sections 11.1 - 11.3, & 11.6
Chapter 11: Information Security from Principles of Computer System Design: An Introduction
 
Fri 5/3 Security --- 2    
Mon 5/6 Byzantine Fault Tolerance
[pptx] [pdf]
More BFT [pptx] [pdf]
Relevant Discussions in Section 15.5
The Byzantine Generals Problem
Practical Byzantine Fault Tolerance
 
Wed 5/8 Wrap-up
[pptx] [pdf]
   
Fri 5/10 No Class   PA 4 Due
Fri 5/17 Final Exam Time: 11:45 AM - 2:45 AM
Location: Knox 109