Readings

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.