Courses‎ > ‎

Advanced OS 2017 Fall

Welcome to the Advanced Operating Systems 2017 Fall Website!

This class will be heavily discussion based. I expect you to have pre-knowledge on operating systems and your discussions will make up the course. If there are topics that you are unfamiliar of or need clarification, I will use ~15 mins each day to discuss some of those topics in the form of lecture. 

We will make teams of 4. At least 2 different labs will form each team.

We will present a subset of the papers in the reading list and I expect all teams to prepare at least 2 discussion topics that can make discussions for at least 2 of the papers in the topic list. Each discussion topic will be on discussion for at least 15 mins or more. Topics can connect the OS topics to your field or it can be a general OS topic itself. 

Below is a list of the reading materials for each lecture.

OS Structures
1. Brian Bershad et al., "Extensibility, Safety and Performance in the SPIN Operating System ", Proceedings of the 15th ACM Symposium on Operating System Principles, December 1995.
2. Dawson R. Engler, Frans Kaashoek and James O'Toole, "Exokernel: An Operating System Architecture for Application-Level Resource Management ", Proceedings of the 15th ACM Symposium on Operating System Principles, ACM, December 1995.
3. J. Liedtke, " On Micro-Kernel Construction ", Proceedings of the 15th ACM Symposium on Operating System Principles, ACM, December 1995.
4. J. Liedtke, "Improved Address-Space Switching on Pentium Processors by Transparently Multiplexing User Address Spaces ", GMD Technical Report No. 933, November 1995 (self-study)
5. Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield, "Xen and the Art of Virtualization ", SOSP 2003.
6. Carl Waldspurger, “Memory Resource Management in VMware ESX Server”, OSDI, 2002.

Synchronization, Communication, and Scheduling in Parallel Systems
1. Mellor-Crummey, J. M. and Scott, M., "Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors ", ACM Transactions on Computer Systems, Feb. 1991.
2. (partial reading: skip system modeling) M.S. Squillante and E.D. Lazowska, " Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling ", IEEE Transactions on Parallel and Distributed Systems, Feb. 1993, pgs. 131-143.
3. B. N. Bershad, T. E. Anderson, E. D. Lazowska, and H. M. Levy. Lightweight Remote Procedure Call . ACM Transactions on Computer Systems, 8(1):37--55, Feb. 1990.
4. Ben Gamsa, Orran Krieger, Jonathan Appavoo, and Michael Stumm, Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System , 1999 Symposium on Operating System Design and Implementation.
5. (partial reading: Sec 1, 2, 3, and 8) Kinshuk Govil, Dan Teodosiu, Yongqiang Huang, and Mendel Rosenblum. Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors. In Proceedings of 17th Symposium on Operating Systems Principles, 1999.
6. Alexandra Fedorova, Margo Seltzer, Christopher Small and Daniel Nussbaum. Performance of Multithreaded Chip Multiprocessors and Implications for Operating System Design. Usenix 05
7. (partial reading: Sec 1, 2, 3, and 10) S. Boyd-Wickizer, H. Chen, R. Chen, Y. Mao, F. Kaashoek, et. al, “Corey: An Operating System for Many Cores”, OSDI 2008.

Communication Mechanisms in Distributed Systems
1. Lamport, L., " Time, Clocks, and the Ordering of Events in a Distributed System ", Communications of the ACM, 21, 7, pgs. 558-565, July 1978.
2. C.A. Thekkath and H.M. Levy, " Limits to Low-Latency Communications on HighSpeed Networks ", ACM Transactions on Computer Systems, May 1993.
3. Hutchinson N.C., Peterson, L.L., " The x-Kernel: An Architecture for Implementing Network Protocols ", IEEE Transactions on Software Engineering, 17, 1, pgs. 64-76, January 1991.
4. David Wetherall, " Active Networks: Vision and Reality: Lessons from a Capsule-based System ", 17th ACM Symposium on Operating System Principles, OS Review, Volume 33, Number 5, Dec. 1999.
5. Liu, Kreitz, van Renesse, Hickey, Hayden, Birman, Constable, "Building Reliable High Performance Communication Systems from Components ", 17th ACM Symposium on Operating System Principles, OS Review, Volume 33, Number 5, Dec. 1999.
6. (partial reading) Schroeder, M., and Burrows, M., " Performance of the Firefly RPC", Proceedings of the Twelfth ACM Symposium on Operating Systems Principles, pgs. 83- 90, December 1989.

Distributed Objects and Middleware
1. Mitchell, J. G., et al., " An Overview of the Spring System ", Proceedings of Compcon, Feb. 1994.
2. Hamilton, G., Powell, M.L., and Mitchell, J.J., "Subcontract: A Flexible Base for Distributed Programming ", Proceedings of the Fourteenth ACM SOSP, pgs. 69-79, December 1993.
3. Wollrath, A., Riggs, R., and Waldo, J., "A Distributed Object Model for the Java System ", Usenix Conference on Object Oriented Technologies and Systems, May 1996.
4. Emmanuel Cecchet, Julie Marguerite, Willy Zwaenepoel, "Performance and Scalability of EJB Applications", Proceedings of the 17th ACM SIGPLAN conference on Objectoriented programming, systems, languages, and applications.

Distributed Shared Memory and File Systems
1. Feeley, Morgan, Pighin, Karlin, Levy, Thekkath,, "Implementing Global Memory Management in a Workstation Cluster ", Fifteenth ACM Symposium on Operating System Principles, Dec. 1995.
2. C. Amza, A. Cox, S Dwarkadas, P Keleher, H Lu, R. Rajamony, W. Yu and W. Zwaenepoel, " TreadMarks: Shared Memory Computing on Networks of Workstations " IEEE Computer, February, 1996.
3. Anderson, T. et al., " Serverless Network File System ", ACM Transpaction on Computer Systems, February 1996.
4. (partial reading) Mahadev Satyanarayanan, "Coda: A Highly Available File System for a Distributed Workstation Environment", IEEE Trans. Computers, vol 39, no 4, Apr 1990

Real-time and Multimedia
1. Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole, Supporting Time-Sensitive Applications on a Commodity OS, OSDI 2002.
2. T. Broomhead, L. Cremean, J. Ridoux, D. Veitch, “Virtualize Everything but Time”, OSDI’10.
3. David Hilley and Umakishore Ramachandran, Persistent Temporal Streams . ACM/IFIP/USENIX 10th International Middleware Conference, Urbana Champaign, Illinois, USA , November 30 - December 4, 2009.
4. Shahabi, Zimmermann, Fu, and Yao. "Yima: A Second-Generation Continuous Media Server ", IEEE Computer Magazine, June 2002.

Failures, Consistency, and Recovery
1. Satyanarayanan, M., et al., " Lightweight Recoverable Virtual Memory ", The Proceedings of Fourteenth ACM Symposium on Operating System Principles, pgs. 146- 160, December 1993.
2. David E. Lowell and Peter M. Chen, " Free Transactions With Rio Vista ", Proceedings of the Sixteenth ACM Symposium on Operating System Principles, October 1997.
3. R. Haskin et. al., " Recovery Management in QuickSilver ", ACM Transactions on Computer Systems, February 1988.
4. (read on your own) J. N. Gray, P. McJones, M. W. Blasgen, R. A. Lorie, T. G. Price, G. R. Putzolu, and I. L. Traiger. " The Recovery Manager of a Data Management System ", ACM Computing Surveys, Vol. 13, No. 2, June 1981, pp. 223-242.
5. (partial reading: first 3 sections of the paper) D. Porter, O. Hofmann, C. Rossbach, A. Benn, E. Witchel, “Operating System Transactions“, SOSP’09.
6. (partial reading) D. Peng, F. Dabek, “Large-scale Incremental Processing Using Distributed Transactions and Notifications”, OSDI’10

System Support for Internet Scale Computing
1. Dean, J., and Ghemawat, S. "MapReduce: Simplified Data Processing on Large Clusters"
2. (partial reading) Brewer, E. "Lessons from Giant-Scale Services"
3. (partial reading) Luis Andre Barroso, Jeffrey Dean, Urs Holzle, " Web Search for a Planet: The Google Cluster Architecture ", IEEE Micro.
4. Freedman, M., Freudenthal, E., and Mazières, D. "Democratizing content publication with Coral"
5. G. DeCandia, D. Hastorun, et. al., “Dynamo: Amazon’s Highly Available Key-value Store”, SOSP’07.
6. (read on your own for learning about Web Technologies) (2 short papers)
     1. Curbera, F., Duftler, M., Khalaf, R., Nagy, W., Mukhi, N., Weerawarana, S., " Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI ", IEEE Internet Computing, Volume: 6 Issue: 2, March-April 2002, pgs. 86 -93.
     2. Curbera, F., Khalaf, R., Mukhi, N., Tai, S., Weerawarana, S., " The Next Step in Web Services ", Communications of the ACM, Volume 46 Issue 10 ,October 2003, pgs. 29-34.

Mobile and Embedded OS
1. Philip Levis., Experiences from a Decade of TinyOS Development. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI).
2. E. Baccelli, O. Hahm, M. Gunes, M. Wahlisch and T. C. Schmidt, "RIOT OS: Towards an OS for the Internet of Things," 2013 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Turin, 2013

1. Saltzer, J.H. and Schroeder, M.D., " Protection and the Control of Information in Computer Systems ", Proceedings of the IEEE, 63(9):1278-1308, Sept. 1975.
2. M. Satyanarayanan, " Integrating Security in Large Scale Distributed Systems ", ACM TOCS, Aug. 1989.

Additional Papers 
1. Cohen, E., and Jefferson, D., " Protection in the HYDRA Operating System ", Proceedings of Fifth ACM Symposium on Operating System Principles, pgs. 141-160, 1975.
2. U. Ramachandran, Gautam Shah, S. Ravikumar, and Jeyakumar Muthukumarasamy, “Scalability Study of the KSR-1,” Parallel Computing, Vol 22, 1996, 739-759
3. A. Baumann, P. Barham, et al. ”The Multikernel: A new OS architecture for scalable multicore systems”, SOSP’09.
4. Ripal Nathuji and Karsten Schwan. " Virtual Power: Coordinated Power Management in Virtualized Enterprise Systems ", Symposium on Operating Systems Principles (SOSP), Oct. 2007.
5. Helen J. Wang, Xiaofeng Fan, Jon Howell, Collin Jackson, " Protection and Communication Abstractions for Web Browsers in MashupOS ", ACM Symposium on Operating System Principles, 2007.
6. S. Tang, H. Mai, S. King, “Trust and Protection in the Illinois Browser Operating System”, OSDI’10.
7. Armando Fox, Steven Gribble, Yatin Chawathe, Eric Brewer, and Paul Gauthier, " Cluster-based Scalable Network Services ", Sixteenth ACM Symposium on Operating System Principles, Oct. 1997.
8. Saito, Bershad, Levy, " Manageability, Availability, and Performance in Porcupine: A Highly Scalable Cluster-based Mail Service ", 17th ACM Symposium on Operating System Principles, OS Review, Volume 33, Number 5, Dec. 1999.
9. M. Zaharia, A. Konwinski, A. Joseph, R. Katz, I. Stoica, “Improving MapReduce Performance in Heterogeneous Environments”, OSDI’08. 10. D. Beaver, S. Kumar, H. C. Li, J. Sobel, P. Vajgel, “Finding a Needle in Haystack: Facebook’s Photo Storage”, OSDI’10.