TOPICS IN COMPUTER SYSTEMS: VIRTUALIZATION TECHNOLOGIES FOR CLOUD COMPUTINGCOMS E6998, Dept of Computer Science, Columbia University
Home | Lectures | Homework | Project

GENERAL INFORMATION - http://www.cs.columbia.edu/~nieh/teaching/e6998
Meeting Times and Location: Spring 2021 M 10:10AM-12:00pm Zoom
Prerequisites: COMS W4118 Operating Systems I.
Description: This course will cover the underlying technologies that enable major cloud computing providers to deliver computing resources to consumers on-demand over the Internet, focusing primarily on virtualization and Infrastructure as a Service (IaaS) cloud models. Topics to be covered will include many aspects of the design and implementation of hypervisors and containers, ranging from architectural support for virtualization to live migration to cloud computing security. The course will have homework assignments and a final project, both of which will involve systems programming. Students will be expected to be familiar with Linux kernel development.

INSTRUCTIONAL STAFF
Instructor: Prof. Jason Nieh. 212-939-7160, office hours: W10AM-12PM Zoom (link posted in Course Info in Courseworks)
TA: Xuheng Li, xuheng@cs.columbia.edu, office hours: T5-7PM Zoom (link posted in Course Info in Courseworks)
COURSE MATERIALS
Required Text: Hardware and Software Support for Virtualization, Edouard Bugnion, Jason Nieh, and Dan Tsafrir, Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers, February 2017. (available from Amazon.com and Columbia University Bookstore).
Computing Requirements: You should also have your own computer to take this class, on which you will install either VMware Workstation for Windows or Linux, or VMware Fusion for Mac. A CS account will provide access to VMware licenses and software at no additional cost. If you do not yet have a CS account, you may request one and list the instructor as the sponsor.
COURSE GRADE
25%: Homework Assignment: There will be one homework assignment that involves a programming project assigned to everyone in the class. The project will involve Linux kernel programming and implementation of KVM hypervisor internals.
60%: Final Project: The project is an opportunity for you to take an active part in exploring the subject area, as appropriate for an advanced course. You can choose any project you want, so long as it has something to do with virtualization and cloud computing. Projects are to be done in teams of your own choosing.
15%: Course Participation: The course is discussion-based and students are expected to read materials in advanced and be prepared to participate in discussions during live class; recordings will not be offered. We will also discuss research papers in virtualization and cloud computing and students will be asked to lead some of those discussions.
0%: No "extra credit" work

OPEN DOOR POLICY
We would like the course to run smoothly and enjoyably. Feel free to let us know what you find just, good, and interesting about the course. Let us know sooner about the reverse. See us, leave us a note, or send us email.