The discussion notes were given to students to aid them in thinking about various ideas covered in the assigned reading, thus preparing them for the classroom discussions.
LEC # | TOPICS | READINGS | DISCUSSION NOTES |
---|---|---|---|
1 | Introduction and O/S review | ||
2 | I/O concurrency and event-driven programming | ||
3 | Event-driven programming (cont.) | Pai, Vivek, Peter Druschel, and Willy Zwaenepoel. "Flash: An Efficient and Portable Web Server." Proceedings of the USENIX 1999 Technical Conference, Monterey, CA, June 1999. | (PDF) |
4 | Network file system | Appendix 4-B: Case study of the network file system (PDF) | (PDF) |
5 | RPC transparency | Mazières, David. "A Toolkit for User-level File Systems." Proceedings of the USENIX Technical Conference (June 2001): 261-274. | (PDF) |
6 | Crash recovery | Wollrath, Ann, Roger Riggs, and Jim Waldo. "A Distributed Object Model for the Java System." Proceedings of the USENIX 1996 Conference on Object-Oriented Technologies 9 (June 1996): 219-232. | (PDF) |
7 | Logging | Hagmann, Robert. "Reimplementing the Cedar File System Using Logging and Group Commit." ACM Operating Systems Review, SIGOPS 21, no. 5 (1987): 155-162. | (PDF) |
8 | Cache consistency and locking | Mann, Timothy, et al. "A Coherent Distributed File Cache With Directory Write-behind." ACM Transactions on Computer Systems 12, no. 2 (May 1994): 123-164. (Read only sections 1-4.) | (PDF) |
9 | Memory consistency | Saito, Yasushi, Brian N. Bershad, and Henry M. Levy. "Manageability, Availability and Performance in Porcupine: A Highly Scalable, Cluster-based Mail Service." ACM Operating Systems Review, SIGOPS 34, no. 5 (December 1999): 1-15. | (PDF) |
10 | First project conferences | ||
11 | Memory consistency (cont.) | Bressoud, Thomas, and Fred Schneider. "Hypervisor-based Fault-tolerance." ACM Transactions on Computer Systems 14, no. 1 (February 1995): 80-107. | (PDF) |
12 | Vector timestamps and version vectors | Li, Kai, and Paul Hudak. "Memory Coherence in Shared Virtual Memory Systems." ACM Transactions on Computer Systems 7, no. 4 (1989): 321-359. | (PDF) |
Quiz 1 | |||
13 | Two-phase commit | Keleher, Pete, Alan L. Cox, Sandhya Dwarkadas, and Willy Zwaenepoel. "TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems." Proceedings of the Winter 1994 USENIX Conference, January 1994, pp. 115-131. | (PDF) |
14 | Paxos | Liskov, Barbara, and Robert Scheifler. "Guardians and Actions: Linguistic Support for Robust, Distributed Programs." ACM Transactions on Programming Languages and Systems 5, no. 3 (July 1983): 381-404. | (PDF) |
15 | Viewstamped replication | Saito, Yasushi, et al. "FAB: Building Distributed Enterprise Disk Arrays From Commodity Components." ACM Operating Systems Review, SIGOPS 38, no. 5 (December 2004): 48-58. (Skip sections 4.2 and 6.) | (PDF) |
16 | Harp | Liskov, Barbara, et al. "Replication in the Harp File System." Proceedings of the 13th ACM Symposium on Operating Systems Principles, Pacific Grove, CA, October 1991, pp. 226-38. | (PDF) |
17 | Second project conferences | ||
18 | Frangipani | Thekkath, Chandramohan, Timothy Mann, and Edward Lee. "Frangipani: A Scalable Distributed File System." Proceedings of the 16th ACM Symposium on Operating Systems Principles, Saint Malo, France, 1997, pp. 224-237. | (PDF) |
19 | Scalable lookup | Li, Jinyuan, Maxwell Krohn, David Mazières, Dennis Shasha. "Secure Untrusted Data Repository (SUNDR)." Proceedings of the 6th Symposium on Operating Systems Design and Implementation, San Francisco, CA, December 2004. | (PDF) |
20 | Wide-area storage | Ramasubramanian, Venugopalan, and Emin Gün Sirer. "The Design and Implementation of a Next Generation Name Service for the Internet." Proceedings of the ACM SIGCOMM Conference on Communications Architectures and Protocols, August 2004, pp. 331-342. | |
Quiz 2 | |||
21 | Hacking day (no class) | ||
22 | Project demonstrations | ||
23 | Content distribution | Annapureddy, Siddhartha, Michael Freedman, and David Mazières. "Shark: Scaling File Servers via Cooperative Caching." Proceedings of the 2nd Symposium on Networked Systems Design and Implementation, Boston, MA, May 2005, 129-142. | |
24 | Distributed computing | Dean, Jeffrey, and Sanjay Ghemawat. "MapReduce: Simplified Data Processing on Large Clusters." Proceedings of the 6th Symposium on Operating System Design and Implementation, San Francisco, CA, December 2004. |