May 2003

Virtual Machine Architectures, Implementations, and Applications 


Table of Contents

Instructor Information

Prof. James E. Smith

Office:             Modul D6-211
Office phone:   934017409

Course Information

        Selected papers available via the web


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


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)
 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)
    Staged optimization
    Superblock optimization
    Precise traps
    Case studies:  UQDBT,  HP Shogun, HP Dynamo

6. Co-Designed VMs (1 hour)
    Support for speculation
    Precise interrupts
    Case studies: Daisy, Crusoe
7. HLL VMs (1 hour)
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


Lecture Notes

Miscellaneous Links