CSL862: Spl. Topics in Computer Systems: Virtualization and Cloud Computing
Sem I, 2010-11
Slot M (Mon, Thu, 5-6.30pm)
Pre-requisites: CSL373 (Operating Systems)
Instructors: Sorav Bansal,
Huzur Saran,
Gautam Shroff (from Tata Consultancy Services)
Programming Assignments
- Binary Translation inside Qemu
- Write an application designed to scale over cloud
- Map-Reduce
Lecture Slides
- Introduction [PDF]
- Virtual Machines [PDF]
- Amazon EC2 [PPTX]
- Google AppEngine [PPTX]
- Microsoft Azure [PPTX]
- Security [PPT]
- GFS [PPTX]
- MapReduce [PPTX]
- Hadoop [PDF]
- BigTable [PPTX]
- Locality Sensitive Hashing [PDF, PDF (internal only)]
- Application Virtualization [PPTX]
Exams
Readings
(Papers in bold font will be discussed in class)
Virtual Machines
- Compiling Java Just in Time, Cramer et al., Sun Microsystems 1997
- QEMU, a Fast and Portable Dynamic Translator, Fabrice Bellard, USENIX Annual Technical Conference 2005.
- Xen and the Art of Virtualization, Pratt et al. SOSP 2003.
- Scale and Performance in the Denali Isolation Kernel, A. Whitaker et al. OSDI 2002.
- LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation, Lattner and Adve, CGO 2004.
- Disco: Running Commodity Operating Systems on Scalable Multiprocessors, E. Bugnion, S. Devine, M. Roseblum. SOSP 97.
I/O Virtualization
Memory Virtualization
Processor Virtualization
Applications of Virtual Machines
Nested Virtualization
Recording Non-Determinism vs Enforcing Determinism
- ReTrace: Collecting Execution Trace with Virtual Machine Deterministic Replay, M. Xu et al., VMware Inc. Workshop
on Modeling, Benchmarking and Simulation (MoBS), June 2007.
- Debugging Operating Systems with Time-Traveling Virtual Machines, S. King et al., U. Michigan. USENIX Technical Conference 2005.
- Execution Replay for Multiprocessor Virtual Machines, G. Dunlap et al., U. Michigan, VEE 2008.
- Efficient System-Enforced Deterministic Parallelism, B. Ford et al. Yale University. OSDI 2010.
- CoreDet: A Compiler and Runtime System for Deterministic Multithreaded Execution, T. Bergan et al., U. Washington. ASPLOS '10.
- Capo: A Software-Hardware Interface for Practical Deterministic Multiprocessor Replay, P. Montesinos et al. UIUC. ASPLOS '09.
- Kendo: Efficient Deterministic Multithreading in Software, S. Amarasinghe et al. MIT. ASPLOS 09.
- DMP: Deterministic Shared Memory Multiprocessing, J. Devietti et al. U. Washington. ASPLOS 2009.
- Deterministic Consistency: A Programming Model for Shared Memory Parallelism, A. Aviram, B. Ford. Technical Report '10.
- VMware KB: Processors and guest operating systems that support VMware Fault Tolerance
Timekeeping in Virtual Machines
Translation Across ISAs
Parallel Programming Models
Managing "Cloud-Scale" Data
Cloud Computing
Present-day Clouds
Cloud Management Tools