Office hours queue

Manos' OH Zoom link

Tony's OH Zoom link


Lecture recordings here


Piazza forum here


EECS 591 schedule - Fall 2021

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