Note to students:

Please read the assigned readings before going to the class. All readings will be tested at midterm and final.

Optional readings are not required. Read them for your own enjoyment if you want to learn more about a particular topic. They will not be tested.

.

Topic
Required
Optional
MapReduce

MapReduce: Simplified Data Processing on Large Clusters. J. Dean and S. Ghemawat, USENIX Operating Systems Design and Implementation 2004.

RPC and Threads

Implementing Remote Procedure Calls. A. Birrell and B. Nelson, ACM Transactions on Computer Systems, Vol. 2, No. 1, February 1984.

Primary/backup

The Google File System. S. Ghemawat, H. Gobioff, S.T. Leung, ACM Symposium on Operating Systems Principles (SOSP), 2003.

The Design of a Practical System for Fault-Tolerant VMs. D. Scales, M. Nelson, G. Venkitachalam, ACM SIGOPS Operating Systems Review, Vol 44 Issue 4, 2010.

Flat Datacenter Storage E. Nightingale, J. Elson, J. Fan, O. Hofmann, J. Howell, Y. Suzue, Microsoft Research USENIX Operating Systems Design and Implementation. 2012.

Strong Consistency Model

Linearizability: A Correctness Condition for Concurrent Objects . H. Herlihy, J. Wing, ACM Transactions on Programming Languages and Systems, Vol. 12, No. 3, 1990.

Consensus: Paxos

Paxos Made Simple. L. Lamport, 2001.

Paxos Made Practical. D. Mazieres 2007.

Paxos Made Live. T. Chandra, R. Griesemer, J. Redstone, Principles of Distributed Computing, 2007.

Implementing Linearizability

In Search of an Understandable Consensus Algorithm. D. Ongaro and J. Ousterhout, USENIX Annual Technical Conference, 2014.

Relaxed consistency

Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System Douglas B. Terry, Marvin M. Theimer, Karin Petersen, Alan J. Demers, Mike J. Spreitzer and Carl H. Hauser ACM SOSP 1995.

Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS Wyatt Lloyd, Michael Freedman, Michael Kaminsky, David G. Andersen. ACM SOSP 2011.

Dynamo: Amazon’s Highly Available Key-value Store Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall and Werner Vogels ACM SOSP 2009.

PNUTS: Yahoo!’s Hosted Data Serving Platform Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel Weaver and Ramana Yerneni VLDB 2008.

Transactions

Concurrency Control and Recovery Michael Franklin 1997

A Critique of ANSI SQL Isolation Levels Hal Berenson, Phil Bernstein, Jim Gray, Jim Melton, Elizabeth O’Neil, Patrick O'Neil ACM SIGMOD 1995.

Distributed Transactions I

Atomicity across Layers and Multiple sites (2-phase-commit) J. Saltzer and F. Kaashoek Principles of Computer System Design (Chapter 9.6). 2009

Large-scale Incremental Processing Using Distributed Transactions and Notifications Daniel Peng and Frank Dabek USENIX OSDI 2010.

Sinfonia: a new paradigm for building scalable distributed systems. M. K. Aguilera, A. Merchant, M. Shah, A. Veitch, C. Karamanolis ACM SOSP, 2007

Distributed Transactions II

Spanner: Google’s Globally-Distributed Database J. Corbett et al. USENIX OSDI, 2012.

Transaction chains: achieving serializability with low latency in geo-distributed storage systems Y. Zhang, R. Power, S. Zhou, Y. Sovran, M. Aguilera, J. Li ACM SOSP 2013.

Low-overhead Distributed Transaction Coordination J. Cowling, B. Liskov USENIX ATC, 2012.

Calvin: Fast Distributed Transactions for Partitioned Database Systems A. Thomson, T. Diamond, S. Weng, K. Ren, P. Shao and D. Abadi ACM SIGMOD, 2012