CS5204 Operating Systems

Fall 2014

[Course information] [Announcements] [Lectures/Reading list] [Projects] [Piazza Discussion Forum]

Course staff

Course material

Course policies


Reading list

The paper review form is available here. Make sure to fill this form and turn it in before the start of each class. The speaker feedback form is here.
 08/26Introduction and OverviewARB 

Parallel and Distributed Systems

108/28End-To-End Arguments in System Design
J.H. Saltzer, D.P. Reed and D.D. Clark
ICDS 1981

Time, clocks, and the ordering of events in a distributed system
Leslie Lamport
Communications of the ACM, 21(7):558-565, July 1978.
Slides: pdf
209/02MapReduce: Simplified Data Processing on Large Clusters
Jeffrey Dean and Sanjay Ghemawat
Luna Xu 
Slides: pdf
309/04Spanner: Googles globally distributed database
James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild. Wilson Hsieh. Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd , Sergey Melnik , David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang and Dale Woodford
ACM Transactions on Computer Systems (TOCS) 31.3 (2013): 8
S. Iqbal 
Slides: pdf
409/09Towards Optimization-Safe Systems: Analyzing the Impact of Undefined Behavior
Xi Wang, Nickolai Zeldovich, M. Frans Kaashoek, and Armando Solar-Lezama
Ali Anwar 
509/11Apache Hadoop Goes Realtime at Facebook
Dhruba Borthakur, Kannan Muthukkaruppan, Karthik Ranganathan, Samuel Rash, Joydeep Sen Sarma, Nicolas Spiegelberg, Dmytro Molkov, Rodrigo Schmidt, Jonathan Gray, Hairong Kuang, Aravind Menon and Amitanand Aiyer
K.P. Murali 
Slides: pdf
609/16Dynamo: Amazon's Highly Available Key-Value Store
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Guna vardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall and Werner Vogels


709/18Eraser: a dynamic data race detector for multithreaded programs
Stefan Savage, Micheal Burrows, Greg Nelson, Patric Sobalvarro and Thomas Anderson
ACM TOCS, 15(4):391--411
E. Holder 
Slides:pptx pdf
809/23RaceMob: Crowdsourced Data Race Detection
Baris Kasikci, Cristian Zamfir and George Candea
I. Harb 
Slides: pdf
909/25Everything you always wanted to know about synchronization but were afraid to ask.
Tudor David, Rachid Guerraoui and Vasileios Trigonakis
M. Baidya 

Threads vs. Events

1009/30On the duality of operating system structures
Hugh C. Lauer and Roger M. Needham
IGOPS Oper. Syst. Rev. 13, 2 (Apr. 1979), 3-19.
A. Rafiq 
1110/02Capriccio: Scalable Threads for Internet Services
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer
SOSP 2003

Bonus reading: Events Can Make Sense
Slides: pdf
1210/07PARROT: A Practical Runtime for Deterministic, Stable, and Reliable Threads
Heming Cui, Jiri Simsa, Yi-Hong Lin, Hao Li, Ben Blum, Xinan Xu, Junfeng Yang, Garth A. Gibson, and Randal E. Bryant
R. Pai 
Slides:ppt pdf


1310/09Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler
Jason Nieh, Chris Vaill and Hua Zhong
A. Binford 
1410/14Resource containers: A new facility for resource management in server systems
Gaurav Banga, Peter Druschel and Jeffrey C. Mogul
OSDI 1999
U. Ananth 
Slides: pdf
1510/16Corey: An Operating System for Many Cores
Silas Boyd-Wickizer, Haibo Chen, Rong Chen, Yandong Mao, Frans Kaashoek, Robert Morris, Aleksey Pesterev, Lex Stein, Ming Wu, Yuehua Dai, Yang Zhang and Zheng Zhang
OSDI 2008
Y. Jin 
Slides: pdf

Kernel Structures

1610/21Application performance and flexibility on Exokernel systems
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Bricefio, Russell Hunt, David Mazikres, Thomas Pinckney, Robert Grimm, John Jannotti and Kenneth Mackenzie
SOSP 1997
C. Pinto 
1710/23FlexSC: Flexible System Call Scheduling with Exception-Less System Calls
Livio Soares and Michael Stumm
1810/28From L3 to seL4 What Have We Learnt in 20 Years of L4 Microkernels?
Kevin Elphinstone and Gernot Heiser
Y. Wen 
Slides: pdf

Midpoint presentations

 10/30Each group gets 10 minutes, 8 for presentation, 2 for questions. 

Virtual Machines

1911/04Xen and the art of virtualization.
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt and Andrew Warfield
SOSP 2003, 164-177.
Slides: pdf
2011/06Difference Engine: Harnessing Memory Redundancy in Virtual Machines
Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex C. Snoeren, George Varghese, Geoffrey M. Voelker and Amin Vahdat

Bonus reading: Memory resource management in VMware ESX server

File Systems

2111/11The Design and Implementation of a Log-Structured File System
Mendel Rosenblum and John K. Ousterhout

Bonus reading: A Fast File System for UNIX
SOSP 1991
P. Rangudu 
Slides: pdf
2211/13Journaling versus soft updates: asynchronous meta-data protection in file systems
Margo I. Seltzer, Gregory R. Ganger, M. Kirk McKusick, Keith A. Smith, Craig A. N. Soules and Christopher A. Stein
A. Abhyankar 
Slides:pptx pdf
2311/18Replication, history, and grafting in the Ori file system
Ali Jose Mashtizadeh, Andrea Bittau, Yifeng Frank Huang and David Mazieres
S. Iqbal 

Robustness and Reliability

2411/20Improving the reliability of commodity operating systems.
Michael M. Swift, Brian N. Bershad and Henry M. Levy
ACM Trans. Comput. Syst. 23, 1 (Feb. 2005), 77-110.
S. Ansary 
2512/02Rx: treating bugs as allergies---a safe method to survive software failures.
Feng Qin, Joseph Tucek, Jagadeesan Sundaresan and Yuanyuan Zhou
SOSP 2005
M. Umar 

Final presentations

 12/04Final presentations 
 12/09Final presentations