CSE 486/586
Distributed
Systems

Spring 2013

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)
Recitation
Assignment(s)
Mon 1/14 Introduction
[pptx] [pdf]
Wed 1/16 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 1/18 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
PA 1 Out
Mon 1/21 No Lecture (Martin Luther King Day)
Wed 1/23 Android Programming --- 1 Sections 4.1 and 4.2
UNIX Socket API: Beej's Guide to Network Programming
Java Socket API: All About Sockets
Android Guide: API Guides & Training
Fri 1/25 Android Programming --- 2
Mon 1/28 Android Programming --- 3 Setting Up Amazon EC2
Wed 1/30 Failure Detection
[pptx] [pdf]
Sections 2.4.2 and 15.1
Fri 2/1 Time and Synchronization
[pptx] [pdf]
Sections 14.1 - 14.3 Setting Up Amazon EC2 PA 1 Due
PA 2 Out
Mon 2/4 Logical Time
[pptx] [pdf]
Section 14.4
(Optional) Time, Clocks, and the Ordering of Events in a Distributed System
PA 1 Review
Wed 2/6 Global States
[pptx] [pdf]
Section 14.4
(Optional) Distributed Snapshots: Determining Global States of Distributed Systems
Fri 2/8 Reliable Multicast --- 1
[pptx] [pdf]
Section 15.4 PA 1 Review
Mon 2/11 Reliable Multicast --- 2
[pptx] [pdf]
Writing Content Providers
[pptx] [pdf]
Wed 2/13 DNS
[pptx] [pdf]
Sections 13.1 & 13.2
Fri 2/15 Peer-to-Peer Systems
[pptx] [pdf]
Sections 10.1-10.3 & 10.5.3 Writing Content Providers
Mon 2/18 Distributed Hash Tables
[pptx] [pdf]
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ordering Algorithms
Wed 2/20 Remote Procedure Call
[pptx] [pdf]
Sections 5.1 - 5.3 & 21.4
Fri 2/22 Consensus
[pptx] [pdf]
Impossibility of Distributed Consensus with One Faulty Process
Sections 15.5.2 & 15.5.4
Ordering Algorithms
Mon 2/25 Mutual Exclusion
[pptx] [pdf]
Section 15.2 Practice Problems Q&A
Wed 2/27 Leader Election
[pptx] [pdf]
Section 15.3
Fri 3/1 Mid-Semester Overview
[pptx] [pdf]
Practice Problems Q&A PA 2 Due
Mon 3/4 Concurrency Control --- 1
[pptx] [pdf]
Sections 16.1 - 16.4 No Recitations PA 3 Out
Wed 3/6 Midterm Midterm Solutions
Fri 3/8 No Class No Recitations
Mon 3/11 - Fri 3/15 Spring Break
Mon 3/18 Concurrency Control --- 2
[pptx] [pdf]
Sections 16.2 - 16.4 PA 2 Review
Wed 3/20 Concurrency Control --- 3
[pptx] [pdf]
Section 16.4 & 17.1 - 17.3
Fri 3/22 View Synchronous Group Communication
[pptx] [pdf]
Sections 18.1 - 18.3 PA 2 Review
Mon 3/25 Consistency --- 1
[pptx] [pdf]
Section 18.5
Wed 3/27 Consistency --- 2
[pptx] [pdf]
Fri 3/29 Consistency --- 3
[pptx] [pdf]
PA 3 Due
PA 4 Out
Mon 4/1 Gossiping
[pptx] [pdf]
Section 18.4
Wed 4/3 Case Study: Amazon Dynamo
[pptx] [pdf]
Dynamo: Amazon's Highly Available Key-Value Store
(Optional) Eventually Consistent
Fri 4/5 Transactions on Replicated Data
[pptx] [pdf]
Mon 4/8 Distributed File Systems
[pptx] [pdf]
FAWN: A Fast Array of Wimpy Nodes
Wed 4/10 Paxos --- 1
[pptx] [pdf]
Section 21.5.2
Paxos Made Simple
The Part-Time Parliament
(Optional) Paxos Made Moderately Complex
(Optional) Paxos Made Practical
Fri 4/12 Paxos --- 2
[pptx] [pdf]
Mon 4/15 Case Study: Google Chubby
[pptx] [pdf]
The Chubby Lock Service for Loosely-Coupled Distributed Systems
Wed 4/17 Security --- 1
[pptx] [pdf]
Sections 11.1 - 11.3
Fri 4/19 MapReduce
[link]
Mon 4/22 Security --- 2
[pptx] [pdf]
Section 11.6
Wed 4/24 Byzantine Fault Tolerance --- 1
[pptx] [pdf]
Relevant Discussions in Section 15.5
The Byzantine Generals Problem
Practical Byzantine Fault Tolerance
Fri 4/26 Byzantine Fault Tolerance --- 2
[pptx] [pdf]
Mon 4/29 Wrap-up
[pptx] [pdf]
Mon 5/6 Final Exam Time: 3:30PM - 6:30PM
Location: Davis 101