Week Class # Day Date Topic Reading Notes
1 1 Tue Aug 27 Administrivia How to read a paper
2 Thu Aug 29 Classical systems and intro to first programming project Epidemic algorithms for replicated database maintenance by Alan Demers et al. Due Aug 29, 7.30am
2 3 Tue Sep 3 Building Large, Principled Systems End-to-end arguments in system design by Jerry H. Saltzer et al.

Hints for computer system design by Butler W. Lampson
Due Sep 3, 7.30am
4 Thu Sep 5 Classical Systems The UNIX time-sharing system by Dennis M. Ritchie et al.

The structure of the “THE”-multiprogramming system by Edsger W. Dijkstra
Due Sep 5, 7.30am
3 5 Tue Sep 10 Classic File Systems Required: The design and implementation of a log-structured file system by Mendel Rosenblum et al.

Optional: A fast file system for Unix by William N. Joy et al.
Due Sep 10, 7.30am
6 Thu Sep 12 Concurrency, Threads, and Events On the duality of operating system structures by Hugh C. Lauer et al.

Capriccio: scalable threads for internet services by Rob van Behrn et al.
Due Sep 12, 7.30am
4 7 Tue Sep 17 µ-kernels
Simon
Required: The performance of μ-kernel-based systems by Hermann Härtig et al.

Optional: Mach: a foundation for open systems (operating systems) by Richard Rashid et al.
Due Sep 17, 7.30am
8 Thu Sep 19 Extensible Kernels
Salman
Required: Exokernel: an operating system architecture for application-level resource management by Dawson R. Engler et al.

Optional: Extensibility, Safety and Performance in the SPIN Operating System by Brian N. Bershad et al.
Due Sep 19, 7.30am
5 9 Tue Sep 24 Virtualization
Chuhan
Required: Xen and the art of virtualization by Paul Barham et al.i

Optional: The Origin of the VM/370 Time-Sharing System by R. J. Creasy
Due Sep 24, 7.30am
10 Thu Sep 26 Many Cores
Eric
An Analysis of Linux Scalability to Many Cores by Silas Boyd-Wickizer et al. Due Sep 26, 7.30am
6 11 Tue Oct 1 Xilin Required: seL4: formal verification of an OS kernel by Gerwin Klein et al.

Optional: Shielding Applications from an Untrusted Cloud with Haven by Andrew Baumann et al.
Due Oct 1, 7.30am
12 Thu Oct 3 Gossip Program Evaluation Session
7 13 Tue Oct 8 Ann

Mark
Time, clocks, and the ordering of events in a distributed system by Leslie Lamport

Internet time synchronization: the network time protocol by David L. Mills
Due Oct 8, 7.30am
14 Thu Oct 10 Angelica

Austin
Implementing fault-tolerant services using the state machine approach: a tutorial by Fred B. Schneider

Chain replication for supporting high throughput and availability by Robbert van Renesse et al.
Due Oct 10, 7.30am
8 - Tue Oct 15 Fall Break
15 Thu Oct 17 Keri Impossibility of distributed consensus with one faulty process by Michael J. Fischer et al. Due Oct 17, 7.30am
9 16 Tue Oct 22 Shuangyu Required: Paxos Made Simple by Leslie Lamport

Optional: In search of an understandable consensus algorithm by Diego Ongaro et al.
Due Oct 22, 7.30am
17 Thu Oct 24 Keting Required: Practical Byzantine fault tolerance by Miguel Castro et al.

Optional: The Byzantine Generals Problem by Lamport et al.
Due Oct 24, 7.30am
10 18 Tue Oct 29 Spencer Required: Chord: A scalable peer-to-peer lookup service for internet applications by Ion Stoica et al.

Optional: The impact of DHT routing geometry on resilience and proximity by Krishna Gummadi et al.
Due Oct 29, 7.30am
19 Thu Oct 31 Yuqi Dynamo: amazon's highly available key-value store by Gieseppe DeCandia et al. Due Oct 31, 7.30am
11 20 Tue Nov 5 Byungsoo Required: The Google file system by Sanjay Ghemawat et al.

Optional: Spanner: Google’s Globally Distributed Database by James C. Corbett et al.
Due Nov 5, 7.30am
21 Thu Nov 7 Tanmaey

Yunxi Shen
MapReduce: simplified data processing on large clusters by Jeffrey Dean et al.

Apache Spark: a unified engine for big data processing by Matei Zaharia et al.
Due Nov 7, 7.30am
12 22 Tue Nov 12 Omar Occupy the cloud: distributed computing for the 99% by Eric Jonas et al.

Serverless computation with openLambda by Scott Hendrickson et al.
Due Nov 12, 7.30am
23 Thu Nov 14 Yimeng Required: Pregel: a system for large-scale graph processing by Grzegorz Malewicz et al.

Optional: TensorFlow: a system for large-scale machine learning by Martin Abadi et al.
Due Nov 14, 7.30am
13 24 Tue Nov 19 Bhaskar Congestion avoidance and control by Van Jacobson Due Nov 19, 7.30am
25 Thu Nov 21 Chia-Hsiang Required: Arrakis: The Operating System Is the Control Plane by Simon Peter et al.

Optional: OpenFlow: enabling innovation in campus networks by Nick McKeown et al.
Due Nov 21, 7.30am
14 26 Tue Nov 26 Oren Bitcoin: A Peer-to-Peer Electronic Cash System by Satoshi Nakamoto Due Nov 26, 7.30am
- Thu Nov 28 Thanksgiving Break
14 27 Tue Dec 3 Final student project presentations TBD Due Dec 3, 7.30am
28 Thu Dec 5 Final student project presentations TBD Due Dec 5, 7.30am