Schedule

ADS lectures are held on Monday 6-8 (12:55-15:40) at 415, East Lower Hall (东下院415).
Date Lecture Pre-course reading Paper review
3.2 Lec.1
Introduction & Distributed Systems
Lecture Slides
3.9 Lec.2
Sequential Consistency
Lecture Slides
Memory Coherence in Shared Virtual Memory System
3.16 Lec.3
Eventual Consistency
Lecture Slides
Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS Q1 1. Making Geo-Replicated Systems Fast as Possible, Consistent when Necessary
3.23 Lec.4
Recovery & Logging
Lecture Slides
Reimplementing the Cedar File System Using Logging and Group Commit Q2 2. The FuzzyLog: A Partially Ordered Shared Log
3.30 Lec.5
Concurrency Control
Lecture Slides
A Critique of ANSI SQL Isolation Levels Q3 3. Transactional storage for geo-replicated systems (PSI)
4.6 Lec.6
Holiday
4.13 Lec.7
Distributed Commit
Lecture Slides
Sinfonia: A New Paradigm for Building Scalable Distributed Systems Q4 4. Building Consistent Transactions with Inconsistent Replication (TAPIR)
4.20 Lec.8
Distributed Consensus
Lecture Slides
Paxos Made Simple Q5 5. In Search of an Understandable Consensus Algorithm (RAFT)
4.27 Lec.9
Invitation Talk: RDMA
Lecture Slides
5.9 Lec.10
Improving Distributed Systems with New Hardware Features
Lecture Slides
5.11 Lec.11
Distributed File Systems
Lecture Slides
The Google File System Q6 6. TFS: A Transparent File System for Contributory Storage
5.18 Lec.12
Data-parallel Programming
Lecture Slides
MapReduce: Simplified Data Processing on Large Clusters Q7 7. Ray: A Distributed Framework for Emerging AI Applications
5.25 Lec.13
Graph-parallel Computation
Lecture Slides
Distributed GraphLab: a Framework for Machine Learning and Data Mining in the Cloud Q8 8. Gemini: A Computation-Centric Distributed Graph Processing System
6.1 Lec.14
Parallelizing AI Systems — DP&TP
Lecture Slides
Scaling Distributed Machine Learning with the Parameter Server Q9 9. Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism
6.8 Lec.15
Parallelizing AI Systems — PP
Lecture Slides
GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism Q10 10. Chimera: efficiently training large-scale neural networks with bidirectional pipelines
6.15 Lec.16
Review
Lecture Slides
6.22 Final Exam
Monday, 13:10-15:10 at 107, East Upper Hall (东上院 107)

Paper & Questions

Lec.3 Question.1

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.2

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.3

Paper: 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.7 Question.4

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?

Lec.8 Question.5

Paper: Paxos made simple
Suppose that the acceptors are A, B, and C. A and B are also proposers. How does Paxos ensure that the following sequence of events can't happen? What actually happens, and which value is ultimately chosen?
A sends prepare requests with proposal number 1, and gets responses from A, B, and C.
A sends accept(1, "foo") to A and C and gets responses from both. Because a majority accepted, A thinks that "foo" has been chosen. However, A crashes before sending an accept to B.
B sends prepare messages with proposal number 2, and gets responses from B and C.
B sends accept(2, "bar") messages to B and C and gets responses from both, so B thinks that "bar" has been chosen.

Lec.11 Question.6

Paper: Google File System
Describe a sequence of events that result in a client reading stale data from the Google File System.

Lec.12 Question.7

Paper: MapReduce
In MapReduce each Mapper saves intermediate key/value pairs in R partitions on its local disk. Contrast the pros and cons of this approach to the alternative of having Mappers directly send intermediate results to R reducers that shuffle and save intermediate results on reducers' local disk before feeding them to the user-defined reduce function.

Lec.13 Question.8

Paper: Distributed GraphLab
How does distributed GraphLab provide consistency in parallel computing, and which consistency is supported by distributed GraphLab?

Lec.14 Question.9

Paper: Parameter Server
Please explain the trade-off between system efficiency and machine learning algorithm convergence. What are the pros and cons of the consistency models discussed in the paper?

Lec.15 Question.10

Paper: GPipe
Please describe the bubble in pipeline parallelism and explain why increasing the number of micro-batches can reduce bubble overhead.


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