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.
.
MapReduce: Simplified Data Processing on Large Clusters. J. Dean and S. Ghemawat, USENIX Operating Systems Design and Implementation 2004.
Implementing Remote Procedure Calls. A. Birrell and B. Nelson, ACM Transactions on Computer Systems, Vol. 2, No. 1, February 1984.
An Introduction to Programming with C# Threads.A. Birrell.
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.
Linearizability: A Correctness Condition for Concurrent Objects . H. Herlihy, J. Wing, ACM Transactions on Programming Languages and Systems, Vol. 12, No. 3, 1990.
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.
In Search of an Understandable Consensus Algorithm. D. Ongaro and J. Ousterhout, USENIX Annual Technical Conference, 2014.
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.
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.
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery Gerhard Weikum, Gottfried Vossen Morgan Kaufmann, 2001
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
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