Spring 2020 Calendar and Reading List

Note: This material is still a work in progress.

Make sure you don’t miss the Additional Suggested Reading at the bottom of this page.

Week 1 - Introduction

No required reading for this week. We will be covering basic terminology and concepts in distributed systems.

Suggested Reading

Note: Some of these readings go into topics that we will cover later in the quarter. As such, you may not get that much out of reading these references at the start of the quarter. Instead, they can be good reference material to re-read later on and see how everything fits together.

Week 2 - Distributed Time

Team A: Questioners; Team B: Answerers; Team C: Observers.

Required reading for Tuesday, April 14

Required reading for Thursday, April 16

Suggested papers

Week 3 - Distributed Consensus I

Team B: Questioners; Team C: Answerers; Team A: Observers.

Required reading for Tuesday, April 21

Required reading for Thursday, April 23

Suggested papers

Other suggested reading

Week 4 - Limits of Distributed Systems

Team C: Questioners; Team A: Answerers; Team B: Observers.

Required reading for Tuesday, April 28

Required reading for Thursday, April 30

Suggested papers

Other suggested reading

Week 5 - Paxos

Team A: Questioners; Team B: Answerers; Team C: Observers.

Required reading for Tuesday, May 5 and May 7

Other suggested reading

Week 6 - Distributed Consensus II

Team B: Questioners; Team C: Answerers; Team A: Observers.

Required reading for Tuesday, May 12

Required reading for Thursday, May 14

Other suggested reading

Week 7 - Distributed Hash Tables

Team C: Questioners; Team A: Answerers; Team B: Observers.

Required reading for Tuesday, May 19

Required reading for Thursday, May 21

  • Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. Dynamo: Amazon’s Highly Available Key-Value Store. In Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, SOSP ’07, pages 205–220, New York, NY, USA, 2007. ACM

Week 8 - Distributed Data

Team A: Questioners; Team B: Answerers; Team C: Observers.

Required reading for Tuesday May 26

  • Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. The Google File System. SIGOPS Oper. Syst. Rev., 37(5):29–43, October 2003

  • Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI‘04: Sixth Symposium on Operating System Design and Implementation, December, 2004.

  • Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable: A Distributed Storage System for Structured Data. In Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7, OSDI ’06, pages 15–15, Berkeley, CA, USA, 2006. USENIX Association

Required reading for Thursday, May 28

  • James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang, and Dale Woodford. Spanner: Google’s globally-distributed database. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, OSDI’12, pages 251–264, Berkeley, CA, USA, 2012. USENIX Association

  • Eric Brewer, Spanner, TrueTime & The CAP Theorem. Google, 2017

Suggested papers

Week 9 - Review

Team B: Questioners; Team C: Answerers; Team A: Observers.

Required reading for Tuesday, June 2

No class on Thursday, June 4

Additional Suggested Reading

Aphyr’s blog is a great source of easy-to-read posts on a number of distributed systems topics. The blog also includes a lot of posts on Aphyr’s projects, so here are some links to specific posts on distributed systems:

Henry Robinson’s The Paper Trail blog has a plethora of posts related to many of the papers we discuss in this class.

Survey of important papers on distributed consensus: A brief history of Consensus, 2PC and Transaction Commit.

Notes on Theory of Distributed Systems James Aspnes, Yale University.