|
Week
|
Tuesday
|
Thursday
|
Assignment
|
Readings
&
Notes
|
1/31,
2/2
|
Introduction |
2
Generals
Problem |
|
Week
0
Notes
Why
building
distributed systems using unreliable
components
is hard.
|
| 2/7,
2/9 |
Time,
Ordering
and
Global
Predicate
Detection |
Lamport
Clocks,
Snapshot Protocol |
|
Week 1 Notes
How to
represent
and
reason about time in the absence of
a
globally
synchronized
clock.
|
| 2/14,
2/16 |
Causal
Order
Vector
Clocks |
Detecting
non-stable
properties |
Homework
1
|
Week 2
Notes
How to
detect causal
relationships between
events.
|
| 2/23 |
|
Causality
and predicate
detection
wrap-up |
|
Week
3 Notes
Homework
for no
grade: understand how to compute
"Possibly"
and
"Definitely" using
vector
clocks. |
|
2/28,
3/2
|
Consistency |
3-Phase
Commit
|
Homework 1 due before class
on
2/28 |
Week 4
Notes
How to preserve
consistency correctness.
|
| 3/7,
3/9 |
Atomic Commit contd.
|
Intro to
Fault-Tolerance |
Project Part I
Homework 2
|
Week
5 Notes I
Week 5
Notes II
How to preserve atomic semantics
amidst faults.
|
| 3/14, 3/16 |
Fault-tolerance contd. |
The State Machine Approach |
Homework
2 due 3/19
|
Week
6
Notes Consistency Notes
A state machine model to emulate a single node
system.
|
| 3/28 |
State machine wrap-up
Consistency models |
Consensus
Midterm |
|
How to agree.
|
|
| 4/4,4/6 |
Terminating Reliable Broadcast (TRB) |
TRB |
|
Week 7/8
How to agree given a leader.
|
4/11,4/13
|
Arbitrary Failures
with message authentication |
AF without MA, *cast |
|
Week 9 Notes
|
4/18,4/20
|
Impossibility of consensus (FLP) |
Paxos |
|
Week 10 Notes
|
4/25,4/27
|
Practical Byzantine Fault Tolerance (PBFT)
|
PBFT
|
Project Part II
|
Week 11, BASE, Separating
|
5/2,5/4
|
Replication / Distributed File Systems (DFS)
|
DFS overview, PRACTI replication
|
Homework 3 (due 5/15)
|
Week 12
- Karin Petersen , Mike J. Spreitzer , Douglas B. Terry, Marvin M. Theimer , and Alan J. Demers, Flexible Update Propagation for Weakly Consistent Replication
- Xerox Parc's Bayou webpage
- N. Belaramani, M. Dahlin, L. Gao, A. Nayate, A. Venkataramani, P. Yalagandula, J. Zheng, PRACTI Replication
|
5/9,5/11
|
Guest lecture by Emery Berger: Replication to tolerate memory errors
|
Student Presentations
Yun: Information retrieval in delay-tolerant networks
Zongfang: A Logic of Authentication
|
|
Week 13
|
| 5/16 |
Student Presentations
Alodeep: Mesh-based content dissemination
Vitaly: Fault-scalable byzantine fault-tolerant services (sosp 2005)
|
|
|
Week 14
- SplitStream: High-Bandwidth Multicast in Cooperative Environments, M. Castro, P. Druschel, A. Kermarrec, A. Nandi, A. Rowstron, A. Singh
- Bullet: High Bandwidth Data Dissemination Using an Overlay Mesh , D. Kostic, A. Rodriguez, J. Albrecht, A. Vahdat
- Fault-scalable Byzantine Fault-Tolerant Services, Michael Abd-El-Malek, G. Ganger, G. Goodson, M. Reiter, J. Wylie
|
| 5/18 |
|
|
Take-home Final |
|
| 5/23, 5/25 |
Final due |
Project report due |
|
|
| |
|
|
|
|
13
|
Wait-free Synchronization |
Wait-free Synchronization |
Implement a wait-free
data structure |
Week 11 Notes
|
14
|
Randomized
consensus |
Quorum Systems |
|
Week 12 Notes
|
15
|
Epidemic protocols |
Thanksgiving |
Homework 3 |
Week 13 Notes
- A. Demers, D. Greene, C. Hauser, W. Irish,
J. Larson, S. Shenker,
H. Sturgis, D. Swinehart, and D. Terry.
Epidemic
algorithms for replicated database maintenance.
- K.P. Birman, M. Hayden, O. Ozkasap,
Z. Xiao, M. Budiu, and Y. Minsky.
Bimodal
Multicast.
- P. Th. Eugster, R. Guerraoui, S.B. Handurukande,
P. Kouznetsov, A.-M.
Kermarrec.
Lightweight Probabilistic Broadcast.
|
16
|
Byzantine Quorum Systems |
Byzantine Quorum Systems |
|
Week 14 Notes
|