Academic calendar
Date Lecture Preparation
9/3 Lec 1: Introduction and lab overview
Notes
[Frangipani]
[NFS]
9/10 Lec 2: Programming infrastructures:
Threads and RPCs
Notes
[C#threads]
[RPC]
Questions
9/17 Lec 3: Programming infrastructures:
MapReduce, Dryad
Notes
Lab1 due: 9/19
[MapReduce]
[Dryad]
Questions
9/24 Lec 4: Consistency I
Sequential consistency, Transactional consistency
[Gray:Consistency]
[Li:DSM]
10/1 Lec 5: Consistency II
Relaxed consistency
Lab2 due: 10/3
Notes
[Lamport:Clock]
[Bayou]
Questions
10/8 Lec 6: Fault Tolerance I
Crash recovery and logging
Lab3 due: 10/10
Notes
[Gray:SysR]
[Cedar]
Questions
10/15 Lec 7: Fault Tolerance II:
Two-phase commit
Lab4 due: 10/17
Notes
[2PCommit-book]
[Sinfonia]
Questions
10/22 Lec 8:
MidTerm quiz
10/29 Lec 9: Fault Tolerance III:
Consensus
Replicated state machines
Notes
[Hypervisor]
[Paxos]
Questions
11/5 Lec 10: Security I:
Byzantine tolerance
Notes
Lab5 due: 11/7
[PBFT]
[A2M]
Questions
11/12 Lec 11: Security II:
Untrusted servers
Detect malice post-motem
Notes
[SUNDR]
[PeerReview]
Questions
11/19 Lec 12: Cool tricks you should know:
Content hashes
Speculative executions
Notes
Lab6 due: 11/21
[LBFS]
[Speculator]
Questions
11/26 No class:
(other classes meet on a Monday schedule)
12/3 Lec 13: Case studies [Dynamo]
[BigTable]
12/10 Lec 14: Final term quiz
12/17 Project writeup due