CS 253:  Distributed Systems

 

 

–Sproul Hall 2340. MWF 4:00-4:50

Office hours: On demand; T 4-5 p.m.

 

This course provides an introduction to distributed systems.  The topics covered include consistency across machines, consensus across machines, MapReduce, Distributed hash tables, Fault tolerance etc. 

 

The material is primarily from the book Distributed Systems by Maarten Van Steen and Andrew Tanenbaum.  A PDF version is downloadable from here.

 

A lot of the material/slides have also been borrowed from the distributed systems (EECS 498) course/webpage developed by Prof. Harsha Madhyastha at the University of Michigan  (thanks Harsha!).

 

The slides will be posted here and will be the basis for all the quizzes. 

 

1.    Introduction

 

2.    MapReduce in brief

 

3.    Communications

 

4.    Synchronization and Logical Clocks

 

5.   Mutual Exclusion and Election

 

6.   Distributed Snapshotting/Checkpointing

 

7.   Consistency and Replication

 

8.   Paxos and Consensus

 

9.   Byzantine Failures and CAP Theorem

 

10.                 Chubby and Zookeeper

 

11.                 DHTs and Amazon Dynamo

 

12.                 Reliable Group Communications and Transactions

 

13.                 Blockchains and Bitcoin

 

14.                 Speculative Paxos