Week |
Monday |
Wednesday |
Slides/Recordings |
Related papers |
8/30, 9/1 |
Two generals' problem, common knowledge |
Event ordering, Lamport clocks, vector clocks |
Monday's slides
Wednesday's slides
| J. Halpern and Y. Moses
Knowledge and Common Knowledge in a Distributed Environment
L. Lamport
Time, Clocks, and the Ordering of Events in a Distributed System
O. Babaoglu, K. Marzullo
Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms
|
9/6, 9/8 |
Labor day, no class |
Clock synchronization |
Wednesday's slides |
F. Cristian
Probabilistic Clock Synchronization
|
9/13, 9/15 |
NTP, Atomic Commit |
2PC, 3PC |
Monday's slides
Wednesday's slides
|
Bernstein, Goodman and Hadzilacos
Distributed Recovery
D. Skeen
Non-blocking commit protocols
D. Skeen
Determining the Last Process to Fail
|
9/20, 9/22 |
3PC (cont.) |
TRB, Consensus |
Monday's slides
Wednesday's slides
|
M.J. Fisher, N.A. Lynch, and M.S. Paterson
Impossibility of Consensus in Asynchronous Systems
|
9/27, 9/29 |
State Machine Replication |
Primary-Backup |
Monday's slides
Wednesday's slides
|
F. B. Scheider
The State Machine Approach
N. Budhiraja, K. Marzullo, F. B. Schneider, S. Toueg
The Primary-Backup Approach
|
10/4, 10/6 |
Consistency |
Paxos |
Monday's slides
Wednesday's slides
|
L. Lamport
Paxos made simple
L. Lamport
(The original Paxos paper, for brave souls only :) )
The Part-time Parliament
|
10/11, 10/13 |
Byzantine Generals |
PBFT |
Monday's slides
Wednesday's slides
|
L. Lamport, R. Shostak, and M. Pease
The Byzantine Generals Problem
M. Castro and B. Liskov
Practical Byzantine Fault Tolerance
M. Kapritsos, Y. Wang, V. Quema, A. Clement, L. Alvisi, and M. Dahlin
All about Eve: Execute-Verify Replication for Multi-core Servers
|
10/18, 10/20 |
Study day, no class |
Eve and review |
Wednesday's slides
|
|
10/25, 10/27 |
No class |
Midterm exam |
|
|
11/1, 11/3 |
Fast Paxos, Flexible Paxos |
ZooKeeper, CORFU |
Fast Paxos slides
Flexible Paxos slides
ZooKeeper slides
CORFU slides
|
L. Lamport
Fast Paxos
H. Howard, D. Malkhi, A. Spiegelman
Flexible Paxos: Quorum Intersection Revisited
P. Hunt, M. Konar, F. Junqueira, and B. Reed
ZooKeeper: Wait-free coordination for Internet-scale systems
M. Balakrishnan, D. Malkhi, V. Prabhakaran, T. Wobber, M. Wei, J. Davis
CORFU: A shared log design for flash clusters
|
11/8, 11/10 |
FALCON, Zyzzyva |
Mencius, Bayou |
FALCON slides
Zyzzyva slides
Mencius slides
Bayou slides
|
J. Leners, H. Wu, W. Hung, M. Aguilera, M. Walfish
Detecting failures in distributed systems with the FALCON spy network
R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E. Wong
Zyzzyva: Speculative Byzantine Fault Tolerance
Y. Mao, F. Junqueira, K. Marzullo
Mencius: Building efficient replicated state machines for WANs
D. Terry, M. Theimer, K. Petersen, A. Demers, M. Spreitzer, and C. Hauser
Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System
|
11/15, 11/17 |
IronFleet, Dynamo |
COPS, GFS |
IronFleet slides
Dynamo slides
COPS slides
GFS slides
|
C. Hawblitzel, J. Howell, M. Kapritsos, J. Lorch, B. Parno, M. Roberts, S. Setty, B. Zill
IronFleet: proving practical distributed systems correct
G. DeCandia et al.
Dynamo: Amazon's highly available key-value store
W. Lloyd, M. Freedman, M. Kaminsky, and D. Andersen
Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS
S. Ghemawat, H. Gobioff, and S. Leung
The Google file system
|
11/22, 11/24 |
BigTable, MapReduce |
Thanksgiving break, no class |
Bigtable slides
MapReduce slides
|
F. Chang et al.
Bigtable: a distributed storage system for structured data
J. Dean, and S. Ghemawat
MapReduce: simplified data processing in large clusters
|
11/29, 12/1 |
Spark, Spanner |
Bitcoin, Hyperledger Fabric |
Spark slides
Spanner slides
Bitcoin slides
Hyperledger Fabric slides
|
M. Zaharia et al.
Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
J. Corbett et al.
Spanner: Google’s Globally-Distributed Database
S. Nakamoto
Bitcoin: A Peer-to-Peer Electronic Cash System
E. Androulaki et al.
Hyperledger Fabric: A Distributed Operating System for
Permissioned Blockchains
|
12/6, 12/8 |
Algorand, Ethereum |
Class overview and goodbye! |
Algorand slides
Ethereum slides
Final review slides
|
Y. Gilad, R. Hemo, S. Micali, G. Vlachos, N. Zeldovich
Algorand: Scaling Byzantine Agreements for Cryptocurrencies
V. Buterin
A Next Generation Smart Contract & Decentralized Application Platform
|
Sample list of papers for part 2
L. Lamport
Fast Paxos
H. Howard, D. Malkhi, A. Spiegelman
Flexible Paxos: Quorum Intersection Revisited
D. Ports, J. Li, V. Liu. N. Sharma, A. Krishnamurthy
Designing Distributed Systems Using Approximate Synchrony in Data Center Networks
C. Lee, S. J. Park, A. Kejriwal, S. Matsushita, J. Ousterhout
Implementing Linearizability at Large Scale and Low Latency
P. Hunt, M. Konar, F. Junqueira, and B. Reed
ZooKeeper: Wait-free coordination for Internet-scale systems
M. Balakrishnan, D. Malkhi, V. Prabhakaran, T. Wobber, M. Wei, J. Davis
CORFU: A shared log design for flash clusters
R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E. Wong
Zyzzyva: Speculative Byzantine Fault Tolerance
S. Liu, P. Viotti, C. Cachin, V. Quema, M. Vukolic
XFT: Practical Fault Tolerance beyond Crashes
D. Terry, M. Theimer, K. Petersen, A. Demers, M. Spreitzer, and C. Hauser
Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System
J. Leners, H. Wu, W. Hung, M. Aguilera, M. Walfish
Detecting failures in distributed systems with the FALCON spy network
I. Zhang, N. Sharma, A. Szekeres, A. Krishnamurthy, D. Ports
Building Consistent Transactions with Inconsistent Replication
Y. Mao, F. Junqueira, K. Marzullo
Mencius: Building efficient replicated state machines for WANs
C. Hawblitzel, J. Howell, M. Kapritsos, J. Lorch, B. Parno, M. Roberts, S. Setty, B. Zill
IronFleet: proving practical distributed systems correct
G. DeCandia et al.
Dynamo: Amazon's highly available key-value store
W. Lloyd, M. Freedman, M. Kaminsky, and D. Andersen
Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS
S. Ghemawat, H. Gobioff, and S. Leung
The Google file system
F. Chang et al.
Bigtable: a distributed storage system for structured data
J. Dean, and S. Ghemawat
MapReduce: simplified data processing in large clusters
M. Zaharia et al.
Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
J. Corbett et al.
Spanner: Google’s Globally-Distributed Database
S. Nakamoto
Bitcoin: A Peer-to-Peer Electronic Cash System
V. Buterin
A next generation smart contract & decentralized application platform
E. Androulaki et al.
Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains
Y. Gilad, R. Hemo, S. Micali, G. Vlachos, N. Zeldovich
Algorand: Scaling Byzantine Agreeements for Cryptocurrencies
|