Schedule

Week Lecture Pre-course reading Review
3.06 Lec.1 Introduction & Distributed Systems
Lecture Slides    
3.13 Lec.2 Sequential Consistency
Lecture Slides    

Memory Coherence in Shared Virtual Memory System
3.20 Lec.3 Eventual Consistency
Lecture Slides    

Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS

Making Geo-Replicated Systems Fast as Possible, Consistent when Necessary
3.27 Lec.4 Recovery & Logging
Lecture Slides    

Reimplementing the Cedar File System Using Logging and Group Commit

Aether A Scalable Approach to Logging
4.03 Lec.5 Concurrency Control: 2PL / SI
Lecture Slides    

A Critique of ANSI SQL Isolation Levels

PSI
4.10 Lec.6 Consensus: 2PC
Lecture Slides    

Sinfonia: A New Paradigm for Building Scalable Distributed Systems

Percolator
4.17 Lec.7 Consensus: Paxos
Lecture Slides    

Paxos Made Simple

RAFT
4.24 Lec.8 DFS: NFS & GFS & Chubby
Lecture Slides    

Google File System

TFS: A Transparent File System for Contributory Storage
5.08 Lec.09 Data-parallel programming: MapReduce & Dryad
Lecture Slides    

MapReduce: Simplified Data Processing on Large Clusters

TensorFlow
5.15 Lec.10 Graph: Pregel & GraphLab
Lecture Slides    

Distributed GraphLab: a Framework for Machine Learning and Data Mining in the Cloud

PowerGraph
5.22 Lec.11 Graph Advance: PowerLyra & BiGraph
Lecture Slides    

PowerLyra: Differentiated Graph Computation and Partitioning on Skewed Graphs

Cube
TUX
5.29 Lec.12 Graph processing on Single machine: GraphChi
Lecture Slides    

GraphChi

X-Stream
GridGraph
6.05 Lec.13 Multicore & NUMA: Phoenix & TMR
Lecture Slides    

Tiled MapReduce

Polymer
6.12 Lec.14 Fault-tolerance for Computation: Imitator
Lecture Slides    

Imitator

Zorro
6.19 Lec.15 Review
Lecture Slides    

Paper & Questions

Lec.2 Question

Paper: Shared Virtual Memory
ivy-code.txt is a version of the code in Section 3.1 with some clarifications and bug fixes. The write fault handler ends by sending a confirmation to the manager, and the "Write server" code in the manager waits for this confirmation. Suppose you eliminated this confirmation (both the send and the wait) from the system. Describe a scenario in which lack of the confirmation would cause the system to behave incorrectly. You should assume that the network delivers all messages, and that none of the computers fail.

Lec.3 Question

Paper: Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS
Suppose an application client at data center D1 writes object x with version 2 (x_2) and then object y with version 3 (y_3). Suppose y_3 has propagated from data center D1 to data center D2 but x_2 has not yet arrived at D2. Suppose another application client data center D2 has just read Y_3, is it possible that it might read x_1 next? (If not, why not?) Will the client be blocked waiting for x_2 to arrive from D1? (If not, why not?)

Lec.4 Question (no need to bring it to the class :) )

Paper: Reimplementing the Cedar File System Using Logging and Group Commit
At the end of Section 4, the paper says that during a one-byte file create FSD writes the leader+data page synchronously to the disk, but records the update to the file name table in memory and only writes it back to disk later. Why do you suppose the FSD designers decided to write the data page synchronously? What (if anything) might go wrong if FSD instead wrote the file's data in the in-memory disk cache, and only wrote it to disk later?

Lec.5 Question

Paper & Question: A Critique of ANSI SQL Isolation Levels
Snapshot isolation (SI) differs from serilizatiability due to one anomaly that is possible under SI but not under serilizatiability. Describe the anomality and also give a concrete application for which the anomaly is undesirable.

Lec.6 Question

Paper: Sinfonia: A New Paradigm for Building Scalable Distributed Systems
What's the difference between coordinator in mini-transaction's 2PC protocol and standard 2PC protocol?


Credits: questions and papers from MIT 6.824 and part of slides come from Paul Krzyzanowski (Rutgers), Haibo Chen (SJTU) and et al.