April/May 2005


Virtual Machine Architectures, Implementations, and Applications 

 

Table of Contents

Instructor Information

Prof. James E. Smith

Office:            
Office phone:   
Email:               jes@ece.wisc.edu

Course Information

       Virtual Machines: Architectures, Implementations, and Applications (draft version), J. E. Smith and Ravi Nair, to be published by Morgan Kaufmann, 2005.
 
          Projects that furhter the student's research are encouraged.

News

Web site created April 21, 2005
 

Calendar

Class will meet on the following schedule.

April 26, May 3   9am -- 12 noon
May 9, 11, 18     3pm -- 5pm
May 24, 31         9am -- 12 noon

Course Outline

1. Introduction (1 hour)
   Motivation
  Architecture, abstraction, virtualization
  VM types and applications
  Course Roadmap

2. Emulation: Interpretation and Binary Translation (3 hours)
     Decode-dispatch interpretation
     Threaded interpretation
     Translation chaining
     Design issues and alternatives
     Case Study: Shade

3. Process VMs (3 hours)
     VM Integration
     Code Cacheing
     Handling OS calls
     Case studies: FX!32, WABI

4. Dynamic  Optmization (3 hours)
     Profiling
     Staged optimization
     Superblock optimization
     Precise traps
     Condition codes
     Case studies:  IA-32 EL, HP Dynamo

5. Co-Designed VMs (4 hours)
     Microarchitecture
     Support for speculation
     Precise interrupts
     Superscalar processors
     Power/resource  management
     Case studies: Daisy, Crusoe, rePLay, AS/400
6. System VMs (3 hours)
   OS management and protection of resources
   Virtualizing memory, processor, I/O
   Instruction set virtualizability
   Hosted VMs  
   Case studies: IBM VM/370, Intel x86 VMware, Vanderpool

Reference Readings

Lecture Notes

Miscellaneous Links