CSCI-GA.3033-010, Fall 2014

Note that this page will be undergoing extensive revisions -- it is a "just in time" course page.

Sept 3: Welcome. Be prepared to talk about your computing background. What do you know about operating systems, assembly language, and computer architecture. Do you know how to program? What languages?

General Information

Wednesday 5:00 -- 7:00 PM Location: 312
Instructor: Larry Rudolph,
TAs/Graders: TBD
Office Hours:
After Class or by appointment
Prerequisites: Operating Systems, programming.
(Optional) Text book: Authors: James E. Smith and Ravi Nair
Title: Virtual Machines
Publisher: Morgan Kaufmann
ISBN-13: 978-1-55860-910-5

Course Description

This master-level course is both an introduction to virtual machine technology as well as an exploration as to what can be done with a hand-crafted virtual machine implementation. Virtual machines allow one to run a windows operating system on a Macintosh computer, several independent instances of virtual machines on a cloud server, and even a virtual phone on an Android device. Topics that will be covered include: This course assumes a basic knowledge of operating systems, such as page tables, device drivers, privileged instructions, and scheduling. It also assumes a knowledge of machine instructions. There are plenty of resources to refresh your knowledge or these features.

Class Materials, Handouts, Lectures and Assignments

hpNetworkEdge.pdf lecture8.pdf SDN1.pdf SDN.pdf virtual_networking_concepts.pdf
LecturesDateTopicHandouts ReadingsProblem Sets
Sept 3
Introduction: What is a virtual machine; Simulation vs Emulation
Slides (pdf)
Formal Requirements of Virtualization '74
Read by Sept 10
Sept 10
Instruction Set Architectures, Sensitive Instructions
Slides (pdf)
intel 64
Translate x86
Translate Risc-V
ISA Diversity
ISA Lecture
Install QEMU and Risc-V QEMU
Sept 17
Memory Virtualization
Slides (Memory)
Memory Management
Trace Cache Management
Sept 24
Device and Network Virtualization
Slides (IO Devices)
IO Virtualization
Microsoft's V-Devs
Linux Virtio
Virtual WiFi Paper
Add a device
Oct 1
Hardware Virtualization
Slides (HW support)
Intel Virt Support
HW v SW Comparison
Measure Virtualization Costs
Oct 8
Migrations, KVM, Containers Slides (HW support)
VM vs Containers
KVM for Server
KVM for ARM KVM for ARM 1

Oct 15
Overshadow and SGX
Slides(Intel SGX)
Intel SGX>
Good Bad Ugly>
Who does it?
Oct 22
Virtualized Network, Software Defined Networks, Data Centers
Virt Network Concepts
HP's Virt Network Concepts
Network Virtualization
Software Defined Networks
Network Aware VM Placement

Oct 29
Mobile Phone Virtualization -- II
SOSP Talk (Video) & Slides

Nov 5
JVM/Dalvik: Tinting and Object Tracing
Dalvik Internals
Tainting/Object Tracing in Android
Aurasium Andoid Security (ppt)d
Backgroud Material: Million Watchpoints
Early Tainting Paper (Chow)
Newer Papers: DroidScope
2014 Thesis expanding TaintDroid

Nov 12
Virtual Data Center: OpenStack
Large Number of Slides

Nov 19
Hacking Day -- No Class

Nov 26
Storage Virutalization, Beaker

Dec 3
The future of Virtualization
Slides with notes
PetaScale Ocean Virt
ARM Virtualization Future
Some Past Predictions
Naive Cloud Predictions


Grades are based problem sets, a midterm and final project. The weighting will be:
Class Participation10%
Problem Sets30%
Final Project30%

This is a graduate level class, so after mastering and understanding the basic technology, the final project will be doing something novel with virtual machines, such as: creating a mock-device driver to protect personal information, protecting against buffer-overflow attacks, identifying which job is running, intelligent checkpoint-restart, capturing messages before they are encrypted, and deceptive information dispersal.

The midterm will be given on Oct 22.

Projects can be done in groups but all presentations will be given to the class. Nov 26 Class (Thanksgiving Eve) will depend on the number of presentations.

Problem Sets (Usually involves programming) are due two weeks after assigned.

Extra credit given for telling the class about current news articles concerning virtualization.

Computer Accounts and Mailman Mailing List

See also

Academic integrity policy: