Calendar

The following is our intended calendar with topics, slides (as they become available) and reference material. Note “MSAT3 #” refers to chapters/sections of (M. van Steen and A. Tanenbaum Distributed Systems 3rd Ed., 2017). Papers, except when tagged as [ref], may be part of homework assignment/finals questions. All papers are available in Canvas (“Reading” folder in the “Files” section); some links in the Calendar point to those files.


Week 1

03/29 — (Northwestern’s “Monday”)

03/31 — Introduction

Readings

  • MSAT 1.1,1.2
  • Google’s Introduction to Distributed System Design [Local PDF]
  • J. Dean and S. Ghemawat, MapReduce: Simplified Data Processing on Large Clusters. Proc. of OSDI, 2004 [Local PDF]

Week 2

04/05 — Networking

Readings

  • MSAT3 4.1

04/07 — Communication and Organization

Readings

  • MSAT 2.3, 4.2

Week 3

04/12 — Physical and Logical Clocks

Readings

  • MSAT 6.1,6.2
  • L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, July 1978, pages 558-564. [Local PDF]

04/14 — Global State

Readings

  • M. Chandy and L. Lamport. Distributed Snapshots: Determining Global States of Distributed Systems. ACM Trans. Comput. Syst., 3(1):63-75, 1985. [PDF]

Week 4

04/19 — Coordination

Readings

  • MSAT 6.3-6.4
  • P. Hunt et al., ZooKeeper: Wait-free coordination for Internet-scale systems. Proc. of USENIX ATC, 2010. [Local PDF]

04/21 — Failure and Failure Detection

Readings

  • MSAT 8.1
  • J. Leners et al., Detecting failures in distributed systems with the FALCON spy network. Proc. of SOSP, 2011. [Local PDF]

Week 5

04/26 — Consistency and Replication

Readings

  • D. Scales et al., The Design of a Practical System for Fault-Tolerant Virtual Machines, ACM SIGOPS OSR, December 2010. [Local PDF]

04/28 — Eventual Consistency

Readings

  • D. Terry et al., Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System. Proc. of SOSP, 1995. [Local PDF]

Week 6

05/03 — Overlay Networks

Readings

  • MSAT 5.2
  • I. Stoica et al., Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. Proc. of SIGCOMM, 2001. [Local PDF]

05/05 — Scaling Out Key-Value Stores

Readings

  • G. DeCandia et al., Dynamo: Amazon’s Highly Available Key-value Store. Proc. of SOSP, 2007. [Online]

Week 7

05/10 — Consensus Problem and The Impossibility of Consensus

Readings

  • M. Fischer, N. Lynch, M. Paterson, Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM, 32(2), April 1985.

[Local PDF]

05/12 — Consensus

Readings

  • D. Ongaro and J. Ousterhout, In Search of an Understandable Consensus Algorithm. Proc. of USENIX ATC, 2014 (Extended version). [Local PDF]

Week 8

05/17 — Byzantine Fault Tolerance

Readings

  • M. Castro and B. Liskov. Practical Byzantine Fault Tolerance. Proc. of OSDI, 1999. [Local PDF]

05/19 — Distributed File Systems

Readings

  • S. Ghemawat, H. Gobioff, and S.-T. Leung. The Google File System. Proc. of SOSP, 2003. [Local PDF]

Week 9

05/24 — Content Distribution Networks

Readings

  • F. Chen et al., End-User Mapping: Next Generation Request Routing for Content Delivery. Proc. of SIGCOMM, 2015. [Local PDF]

05/26 — Video Streaming

Readings

  • F. Yan et al., Learning in situ: a randomized experiment in video streaming Proc. of NSDI, 2020. [PDF]

Week 10

05/31 — Distributed Transactions

Readings

  • J. Corbett et al., Spanner: Google’s Globally-Distributed Database. Proc. of OSDI, 2012. [Local PDF]

06/02 — Distributed Ledgers

Readings

  • E. Andoulaki et al., Hyperledger fabric: a distributed operating system for permissioned blockchains, Proc. of EuroSys, 2018. [Local PDF]

* — 06/08

Due: Take-home final (Due June 8th, 11:59PM CST).