EECS 700 - Virtual Machines
Prasad Kulkarni
EECS Department
University of Kansas

Course Time: TR 1:00PM - 2:15PM
Course Location: Learned 1136

Office: Eaton 2030
Office Hours: Tuesday and Thursday: 2:30PM - 4:00PM
                (or by appointment)

  1. Starting Notes
  2. Chapter 1 slides | review questions
  3. Chapter 2 slides | review questions
  4. Chapter 3 slides | review questions
  5. Chapter 4 slides | review questions
  6. Chapters 5 and 6 slides | review questions
  7. Chapters 8 slides | review questions
  1. 04/02: Adam, Justin, and Mike
    Optimizing an ANSI C interpreter with superoperators |
    Context Threading: A Flexible and Efficient Dispatch Technique for Virtual Machine Interpreters |
    Virtual machine showdown: stack versus registers (Newer journal version for more details, results)
  2. 04/07: Jamie, Josh, and Yang
    Dynamic Compilation: The Benefits of Early Investing |
    JIT Compilation Policy for Modern Machines |
    Performance Potential of Optimization Phase Selection During Dynamic JIT Compilation (Only Section 4 to complement the information in the first two papers).
  3. 04/09: Bharath, Mahitha, and Zia
    Quantifying the performance of garbage collection vs. explicit memory management |
    Garbage collection without paging
  4. 04/14: Hyma, Nagabhushan, and Sathya Dynamo: a transparent dynamic optimization system | Valgrind: a framework for heavyweight dynamic binary instrumentation
  5. 04/21: Arijit and Rohit: Lares: An Architecture for Secure Active Monitoring Using Virtualization
    Tyler: Native Client: A Sandbox for Portable, Untrusted x86 Native Code
  6. 04/23: Harshith, Ravali, and Satya:
    A study of concurrent real-time garbage collectors | Mostly parallel garbage collection
  7. 04/28: Praveen and Siva Ram: The pauseless GC algorithm | C4: the continuously concurrent compacting collector
    Mark: Overshadow: a virtualization-based approach to retrofitting protection in commodity operating systems
  8. 04/30: Gowtham, Ranjith, and Sreenivas:
    Design of the Java HotSpot client compiler for Java 6 | Maxine: An approachable virtual machine for, and in, java
  9. 05/05: Sasanka: The impact of optional type information on jit compilation of dynamically typed languages
    Hadeel: Exploring VM Introspection: Techniques and Trade-offs
  10. 05/07: Pramod, Prasanth, and Pratap: Hardware Virtualization: the Nuts and Bolts | The evolution of an x86 virtual machine monitor
  11. 05/11 (1:30pm) Arjun, Nazma: A Virtual Machine Introspection Based Architecture for Intrusion Detection
    Jiaxiang: Xen and the art of virtualization
Reading List

  1. Useful conference links:
    Internation Conference on Virtual Execution Environments |
    International Symposium on Code Generation and Optimization |
  2. Guides on giving a good conference talk:
    Link 1 | Link 2 | Link 3