May 2003


Virtual Machine Architectures, Implementations, and Applications 

 

Table of Contents

Instructor Information

Prof. James E. Smith

Office:             Modul D6-211
Office phone:   934017409
Email:               jes@ece.wisc.edu

Course Information

        Selected papers available via the web
 

News

Co-Designed VM Slides Available May 21
HLL VM slides available May 21
OS VM slides avalable May 21
Dynamic Optimization Slides Available  May 19
ABI VM reading and slides available May 14
Web site created May 11 '03
 

Calendar

Class will meet on the following schedule.

May  13 & 15       Tues, Thurs
May  20, 22, 23     Tues,Thurs, Fri.

Course Outline

1. Introduction (1 hour)
 Motivation
 VM types and applications
 Translation, Optimization, Replication
  Summary of key design issues
  Course Roadmap

2. Computer Architecture (1 hour)
    Computer Architecture(s)
    Principal interfaces: ISA, ABI
    Managing and protecting hardware resources

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

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

5. Dynamic  Optmization (2 hours)
    Profiling
    Staged optimization
    Superblock optimization
    Precise traps
    Case studies:  UQDBT,  HP Shogun, HP Dynamo

6. Co-Designed VMs (1 hour)
    Microarchitecture
    Support for speculation
    Precise interrupts
    Case studies: Daisy, Crusoe
7. HLL VMs (1 hour)
    Java
8. System VMs (3 hours)
   OS management and protection of resources
   Virtualizing memory, processor, I/O
   Instruction set virtualizability
   Hosted VMs
   Whole System VMs
   Case studies: IBM VM/370, Intel x86 VMware, SimOS

Readings

Lecture Notes

Miscellaneous Links