READING LIST During the course of the semester we will read & discuss several papers from the computer science literature. Some are classics that have been studied for years. Some are very new. The list below includes most of the papers I plan to include this term. Some I will only ask you to skim; some you will read as a substitute for a textbook reading. Some you will write reports on. Some are included as supplemental readings, in case you are interested in exploring a subject further. How to Read a Research Paper 1. 2. 3. 4. 5. Start by reading the abstract, the introduction, and the conclusion. Look at each section heading, and skim the first paragraph. At this time you are merely trying to get an overview of the paper and understand the general approach. If the assignment tells you to concentrate on specific sections, go back and read the introduction again. Then, read the assigned sections thoroughly. If you don’t understand the basic ideas, reread them. If you are reading the paper to prepare a report, read all sections. Jot down notes on each section – try to summarize the main concepts in a sentence or two. At this time you may decide to limit your coverage of a few sections – for example, detailed discussions of test design and results. Even in this case you should skim for main concepts and results. If the assignment asks specific questions, now is the time to think about the answers. After a careful reading of most of the paper you should be able to identify the sections that address the questions being asked. Make a list of questions that you would like to have answered about the paper. The questions may be about points you didn’t understand, or doubts you have about the authors’ work and conclusions. Read with a critical eye! Remember that the authors are trying to present their work in the most favorable way. The Papers 1. 2. 3. 4. 5. 6. 7. 8. 9. “On μ-Kernel Construction", Jochen Liedtke, Proc. 15th ACM Symposium on Operating System Principles (SOSP), December 1995 “Exokernel: An Operating System Architecture for Application-Level Resource Management” by Dawson R. Engler, M. Frans Kaashoek, and James O’Toole jr; Proceedings of the 15 th ACM Symposium on Operating Systems Principles (SOSP ’95), Copper Mountain Resort, Colorado, December 1995, pages 251-266. “Extensibility, Safety and Performance in the SPIN Operating System”, by Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Mar E. Fiuczynski, David Becker, Craig Chambers, Susan Eggers, Proceedings of the 15 th ACM Symposium on Operating Systems Principles (SOSP ’95), Copper Mountain Resort, Colorado, December 1995, pages 267-284. http://citeseer.ist.psu.edu/bershad95extensibility.html “Xen and the Art of Virtualization”, P. Barham, R. Dragovic, K. Fraser, S. Hand, T. Harris, A Ho, R. Neugebauer, I. Pratt, A. Warfield, SOSP ’03. “Scale and Performance in the Denali Isolation Kernel”, Andrew Whitaker, Marianne Shaw, and Steven D. Gribble, in System Design and Implementation (OSDI), Boston, MA, Dec. 2002. “Virtual Machine Monitors: Current Technology and Future Trends”, Mendel Rosenblum and Tal Garfinkel, IEEE Computer, May 2005 “An Analysis of Linux Scalability to Many Cores”, silas Boyd-Wickizer, et. al, MIT CSAIL, OSDI’10 Proceedings of the 9th USENIX conference on operating systems design and implementation, Article No. 1-8 USENIX Association Berkeley, CA< USA ©2010 “The Multikernel: A new OS architecture for scalable multicore systems”, Andrew Baumann, et al., SOSP ’09 October 11-14, 2009. “Factored Operating Systems (fos): The Case for a Scalable Operating System for Multicores”, David Wentzlaff and Anant Agarwal, ACM SIGOPS Operating System Review, Special Issue, April 2009 10. “Resource Management in the Tessellation Manycore OS”, Juan A. Colmenares, et. al., HOTPAR 10, 2nd USENIX Workshop on Hot Topics in Parallelism, June 14-15, 2010. 11. “A Case for NOW (Networks of Workstations)”, Thomas E. Anderson, David E. Euller, David Patterson and the NOW team. IEEE Micro, Feb. 1995. 12. “The MOSIX Cluster Operating System for High-Performance Computing on Linux Clusters, Multi-Clusters, and Clouds – A White Paper”, A. Barak and A. Shiloh. 2011 13. “Condor - A Hunter of Idle Workstations”, M. Litzkow, M. Livny, and M. Mutka, 8 th Internat’l Conference on Distributed Computing Systems, IEEE, June 1988. 14. “Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications”, Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan, 15. “Freenet: A Distributed Anonymous Information Storage and Retrieval System”, 16. “Extracting Guarantees from Chaos”, John Kubiatowicz, Communications of the ACM, Vol 46, No 2, February 2003, pp 33-48. http://oceanstore.cs.berkeley.edu/publications/papers/abstracts/CACM-kubiatowicz.html 17. “Opus: an Overlay Peer Utility Service”, Rebecca Braynard, Dejan Kostic, Adolfo Rodriguea, Jeff Chase and Amin Vahdat, in Proceedings of the 5 th International Conference on Open Architectures and Network Programming (OPENARCH), June 2002. 18. “Above the Clouds: a Berkeley View of Cloud Computing”, Michael Armbrust, et al., Technical Report No. UCB/EECS-2009-28, University of California at Berkeley, 2/10/2009. 19. “Eraser: A Dynamic Data Race Detector for Multithreaded Programs”, Stefan Savage, Michael Burrows, Greg Nelson, Partick Sobalvarro, Thomas Anderson; ACM Transactions of Computer Systems, Volume 15, No. 4, pp. 391-411, 1997. 20. “Racetrack: Efficient Detection of Data Race Conditions via Adaptive Tracking”, Yuan Yu, Tom Rodeheffer, Wei Chen, SOSP ’05. 21. “A Fast File System for UNIX”, Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler, Robert S. Fabry, Computer Systems, volume 2, number 3, pp. 181-197, 1984. http://docs.freebsd.org/44doc/smm/05.fastfs/paper.html (html version) 22. “Practical, transparent operating system support for superpages”, Juan Navarro, Sitaram Iyer, Peter Druschel, Alan Cox, Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI 2002), 23. “End to End Arguments in System Design”, Saltzer, Reed and Clark; M.I.T. Laboratory for Computer Science, ACM Transactions in Computer Systems 2, 4, November, 1984, pages 277288. 24. “Memory Resource Management in VMware ESX Server”, Carl A. Waldspurger, Proceedings of the 5th Symposium on Operating Systems Design and Implementation, Boston MA December 2002. 25. “Are Virtual Machine Monitors Microkernels Done Right?”, Steven Hand, Andrew Warfield, Keir Fraser, Evangelos Kottsovinos, and Dan Magenheimer. Proceedings of the 10th workshop on Hot Topics in Operating Systems, June 2005. 26. “Are Virtual Machine Monitors Microkernels Done Right?”, Gernot Heiser, Volkmar Uhlig, Joshua LeVasseur. ACM SIGOPS Operating Systems Review Vol 40, #1, Jan. 2006. 27. “MapReduce: Simplified Data Processing on Large Clusters; Jeffrey Dean and Sanjay Ghemawat, Google, Inc., OSDI ’04: 6th Symposium on Operating Systems Design and Implementation. 28. “MapReduce and Parallel DBMSs: Friends or Foes?”, Michael Stonebraker, Daniel Abadi, David J. Dewitt, Sam Madden, Erik Paulson, Andrew Pavlo, and Alexamder Rasin, communications of the ACM, January 2010, Vol. 53, No. 1.