Academic calendar
Date Lecture Preparation
9/9 Lec 1: Introduction and lab overview
Notes
[Frangipani]
[NFS]
9/16 Lec 2: Programming tools:
Threads and RPCs
Notes
[C#threads]
[RPC]
Questions
9/23 Lec 3: Consistency I
Sequential consistency
Lab1 due: 9/24
Notes
[Lamport:Consistency]
[Li:DSM]
Questions
9/30 Lec 4: Consistency II
Eventual consistency Notes
[Bayou]
[Cox:Tra]

Questions
10/7 Lec 5: (Multi-object consistency): All-or-nothing Atomicity
Crash recovery and logging
Notes
Lab2 due: 10/8
[Gray:SysR]
[Cedar]
Questions
10/14
Lec 6: (Multi-object consistency): Concurrency control
Notes
Lab3 due: 10/15
[Snapshot]
[TxCache]
[Franklin97](Optional)
Questions
10/21 Lec 7: Fault Tolerance:
Two-phase commit
Notes
Lab4 due: 10/24
read 9.6 of [SK-book]
[Sinfonia]
Questions
10/28

MidTerm quiz (open-book, open-notes)
11/4 Lec 8: Fault Tolerance III:
Consensus
Replicated state machines
Notes
Lab5 due: 11/5
[Hypervisor]
[Paxos]
Questions
11/11 Lec 9: Parallel computation models I:
MapReduce,Dryad

Notes Lab6 due: 11/12
[MapReduce] [Dryad]
This video on Dryad is instructive
Questions
11/18 Lec 10: Parallel computation models II:
DSM, Piccolo
Notes
[Treadmarks]
[Piccolo]

Questions
11/25
No class. Happy Thanksgiving!
Lab7 due: 11/26
12/2 Lec 11: Security I:
Byzantine tolerance
Notes
[PBFT]
Questions
12/9 Lec 12: Security II:
Untrusted servers
Detect malice post-motem
Notes Lab8 due: 12/10
[SUNDR]
[PeerReview]
Questions
12/14 (Tuesday) Lec 13: Guest lecture by Eliot Horowitz:
MongoDB: a high-performance, distributed document database
12/16 Final term quiz (12/16 5pm, CIWW 201)