The following is the schedule of readings for the term. Changes to the schedule may be made as necessary. I may decide to change some of the papers in the later part of the schedule as the term progresses.

Class 1
10-Sept-07
Course overview and initial paper assignments

Students will be asked to submit rankings (top 3 preferences) from the following list. The instructor will use these to deterimine the moderator/presenter schedule. It is therefore recommended that students examine the list before the first class if possible.

Class 2
12-Sept-07

Threads, Concurrency and Synchronization

Paper #1: (presenter: Norm Hutchinson)
"An introduction to programming with threads", by A. Birrel, No. 35, DEC SRC, January 1989. Full paper

Paper #2: (presenter: Norm Hutchinson)
"Monitors : An operating system structuring concept.", by C. A. R. Hoare, Communications of the ACM, No. 17, 1974, 549-557. Full paper

Class 3
17-Sept-07
Paper #3: (presenter: Patrick Colp)
"Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism", by T. Anderson, B. Bershad, E. D.Lazowska, H. Levy, ACM Transactions on Computer Systems, Vol. 10, No. 1, February 1992, 53--79. Full paper

Paper #4: (presenter: Nahn Nguyen)
"Why threads are a bad idea (for most purposes)", by J. Ousterhout, Invited Talk at 1995 Usenix Technical Conference, 1995. Full paper

Class 4
19-Sept-07

Event-Based Systems

Paper #5: (presenter: Mohammad Abdul-Amir)
"SEDA: an architecture for well-conditioned, scalable internet services", by M. Welsh, D. Culler, E. Brewer, Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles, 2001, 230--243. Full paper

Paper #6: (presenter: Kristi McBurnie)
"Why Events Are a Bad Idea for High-Concurrency Servers", by R. Behren, J. Condit, E. Brewer, Proceedings of HotOS III the Ninth Workshop on Hot Topics in Operating Systems, 2003, 19-24. Full paper

Class 5
24-Sept-07

Duality of Threads and Events

Paper #7: (presenter: Stelian Coros)
"On the duality of operating system structures", by H. Lauer, R. Needham, Operating Systems Review, Vol. 13, No. 2, 1979, 3--19. Full paper

Paper #8: (presenter: XiaoFei Wang)
"Cooperative task management without manual stack management", by A. Adya, J. Howell, M. Theimer, W. Bolosky, J. Douceur, Proceedings of 2002 USENIX Annual Technical Conference, 2002. Full paper

Class 6
26-Sept-07
Paper #9: (presenter: Will Hrudey)
"Capriccio: scalable threads for internet services", by R. Behren, J. Condit, F. Zhou, G. Necula, E. Brewer, Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, 2003, 268--281. Full paper

Paper #10: (presenter: Ryan O'Connor)
"Lazy Asynchronous I/O for Event-Driven Servers", by A. Chanda, A. Cox, K. Elmeleegy, W. Zwaenepoel, Proceedings of 2004 USENIX Annual Technical Conference, 2004. Full paper

Class 7
1-Oct-07

Remote Procedure Call

Paper #11: (presenter: Sang Hoon Yeo)
"Implementing remote procedure calls", by A. Birrell, B. Nelson, ACM Transactions on Computer Systems, Vol. 2, No. 1, 1984, 39--59. Full paper

System Structuring using Layers

Paper #12: (presenter: Hao Ren)
"The structure of the THE-multiprogramming system", by E. Dijkstra, Communications of the ACM, Vol. 11, No. 5, 1968, 341--346. Full paper
Class 8
3-Oct-07

Extensibility via Hardware-Based Protection

Paper #13a: (presenter: Wei-Lwun Lu)
"Mach: A New Kernel Foundation for Unix Development", by M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, M. Young, Proceedings of the Summer USENIX Conference, 1986, pp. 93--113. Full paper

Paper #13b: (presenter: Ryan O'Connor)
"The Mach System", by A. Silberschatz, P. Galvin, G. Gagne, Operating Systems Concepts, 2002. Full paper

Class 9
8-Oct-07
Thanksgiving holiday
Class 10
10-Oct-07
No class Norm is out of town
Class 11
15-Oct-07
No class SOSP
Class 12
17-Oct-07
No class SOSP
Class 13
22-Oct-07
Paper #14: (presenter: Matt Hoffman)
"Improving IPC by kernel design", by J. Liedtke, Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles, 1993, 175--188. Full paper

Paper #15: (presenter: Wei-Lwun Lu)
"The Performance of Micro-Kernel Based Systesms", by H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles, 1997. Full paper

Class 14
24-Oct-07

Extensibility via Software-Based Protection

Paper #16: (presenter: Stelian Coros)
"Efficient software-based fault isolation", by R. Wahbe, S. Lucco, T. Anderson, S. Graham, Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles, 1993. Full paper

Paper #17: (presenter: Matt Hoffman)
"Extensibility, Safety and Performance in the SPIN Operating System", by B. Bershad, S. Savage, P. Pardyak, E. Sirer, M. Fiuczynski, D. Becker, S. Eggers, C. Chambers, Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, 1995. Full paper

Class 15
29-Oct-07
Project proposal due.

Virtualization

Paper #18: (presenter: XiaoFei Wang)
"Disco: Running Commodity Operating Systems on Scalable Multiprocessors", by E. Bugnion, S. Devine, K. Govil, M. Rosenblum, ACM Transactions on Computer Systems, Vol. 15, No. 4, 1997, 412--447. Full paper

Paper #19: (presenter: Hao Ren)
"Xen and the Art of Virtualization", by P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, A. Warfield, Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, October 2003, 164--177. Full paper

Class 16
31-Oct-07

Applications of Virtualization

Paper #20: (presenter: Will Hrudey)
"ReVirt: Enabling Intrusion Analysis Through Virtual-Machine Logging and Replay.", by G. Dunlap, S. King, S. Cinar, M. Basrai, P. Chen, Proceedings of Fifth USENIX Symposium on Operating Systems Design and Implementation, 2002. Full paper

Paper #21: (presenter: Zhiyong Cheng)
"Debugging operating systems with time-traveling virtual machines", by S. King, G. Dunlap, P. Chen, Proceedings of 2005 USENIX Annual Technical Conference, 2005. Full paper

Class 17
5-Nov-07

Real-Time

Paper #22: (presenter: Patrick Colp)
"Soft timers: efficient microsecond software timer support for network processing", by M. Aron, P. Druschel, ACM Transactions on Computer Systems, Vol. 18, No. 3, 2000, 197--228. Full paper

Paper #23: (presenter: Patrick Colp)
"Supporting time-sensitive applications on general-purpose operating systems", by A. Goel, L. Abeni, C. Krasic, J. Snow, J. Walpole, Proceedings of Fifth USENIX Symposium on Operating Systems Design and Implementation, Dec 2002. Full paper

Class 18
7-Nov-07

Distribution

Paper #24: (presenter: Sang Hoon Yeo)
"The LOCUS distributed operating system", by B. Walker, G. Popek, R. English, C. Kline, G. Thiel, Proceedings of the Ninth ACM Symposium on Operating Systems Principles, 1983. Full paper

Paper #25: (presenter: April Webster)
"Experience with Grapevine: the growth of a distributed system", by M. Schroeder, A. Birrell, R. Needham, ACM Transactions on Computer Systems, Vol. 2, No. 1, 1984, 3--23. Full paper

Class 19
12-Nov-07
Holiday in lieu of Remembrance day
Class 20
14-Nov-07
Paper #26: (presenter: Norm Hutchinson)
"Fine-Grained Mobility in the Emerald System", by E. Jul, H. Levy, N. Hutchinson, A. Black, ACM Transactions on Computer Systems, Vol. 6, No. 1, February 1988, 109--133. Full paper

File Systems

Paper #27: (presenter: Ryan O'Connor)
"A Fast File System for UNIX", by M. McKusick, W. Joy, S. Leffler, R. Fabry, Computer Systems, Vol. 2, No. 3, 1984, 181-197. Full paper
Class 21
19-Nov-07
Paper #28: (presenter: Kristi McBurnie)
"The Design and Implementation of a Log-Structured File System", by M. Rosenblum, J. Ousterhout, ACM Transactions on Computer Systems, Vol. 10, No. 1, 1992, 26--52. Full paper

Paper #29: (presenter: Nhan Nguyen)
"Deciding when to forget in the Elephant file system", by D. Santry, M. Feeley, N. Hutchinson, A. Veitch, R. Carton, J. Ofir, Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles, 1999.
Full paper

Class 22
21-Nov-07

Distributed File Systems

Paper #30: (presenter: Zhiyong Cheng)
"Frangipani: A Scalable Distributed File System", by C. Thekkath, T. Mann, E. Lee, Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles, 1997. Full paper

Paper #31: (presenter: Mohammad Abdul-Amir)
"A Low-Bandwidth Network File System", by A. Muthitacharoen, B. Chen, D. Mazieres, Proceedings of the eighteenth ACM symposium on Operating systems principles, 2001, 174-187. Full paper

Class 23
26-Nov-07

P2P and Routing

Paper #32: (presenter: April Webster)
"Chord: A scalable peer-to-peer lookup service for internet applications", by I. Stoica, R. Morris, D. Karger, M. Kaashoek, H. Balakrishnan, Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, 2001, 149--160. Full paper

Paper #33: (presenter: Jay Turcot)
"ROFL: Routing on Flat Labels", by M. Caesar, T. Condie, J. Kannan, K. Lakshminarayanan, I. Stoica, S. Shenker, Proceedings of the ACM SIGCOMM 2006 Conference, September 2006. Full paper

Class 24
28-Nov-07

Security and Naming in Distributed Systems

Paper #34: (presenter: Jay Turcot)
"Separating key management from file system security", by D. Mazieres, M. Kaminsky, M. Kaashoek, E. Witchel, Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles, 1999, 124-139. Full paper

Paper #35: (presenter: Norm Hutchinson)
"Persistent Personal Names for Globally Connected Mobile Devices", by B. Ford, C. Lesniewski-Laas, J. Strauss, S. Rhea, F. Kaashoek, R. Morris, Proceedings of the Seventh Symposium on Operating Systems Design and Implementation, November 2006. Full paper