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

Course Time: MWF 2:00PM - 2:50PM
Course Location: Learned 1136

Office: Eaton 2001F
Office Hours: Tuesday and Thursday: 1:30PM - 2:30PM
                (or by appointment)

  1. Starting Notes
  2. Chapter 1 slides
  3. Chapter 2 slides
  4. Chapter 3 slides
  5. Chapters 5 and 6 slides
  6. Chapter 8 slides
  1. 04/08 -- Michael Bechtel: System virtualization
    Xen and the art of virtualization | Hardware-Accelerated Cross-Architecture Full-System Virtualization
  2. 04/10 -- Waqar Ali: System Virtualization - 2
    RT-Zen: Real-Time Virtualization Based on Xen
  3. 04/12 -- Naveed Mahmud: Hardware virtualization
    Hardware Virtualization: the Nuts and Bolts | The evolution of an x86 virtual machine monitor
  4. 04/15 -- Dustin Wendt: Operating System Containers and Solaris Zones
    Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors
  5. 04/17 -- Apoorv Ingle: Docker (Linux Containers), Kubernetes and Bring-Your-Own-Device (BOYD)
  6. 04/19 -- Ruturaj Vaidya: Interpreter optimizations
    Optimizing an ANSI C interpreter with superoperators | Context Threading: A Flexible and Efficient Dispatch Technique for Virtual Machine Interpreters
  7. 04/22 -- Idhaya Elango: JIT compiler design
    Design of the Java HotSpot client compiler for Java 6
  8. 04/24 -- Dhwani Pandya: JIT Compiler design - 2
    Maxine: An approachable virtual machine for, and in, Java
  9. 04/26 -- TJ Barclay: JIT compilation and dynamic languages
    The impact of optional type information on jit compilation of dynamically typed languages
  10. 04/29 -- Shambo Ghosh: Feedback-directed optimizations
    A Survey of Adaptive Optimization in Virtual Machines
  11. 05/01 -- Brian McClannahan: Dynamic binary translators and instrumenters
    Dynamo: a transparent dynamic optimization system | Valgrind: a framework for heavyweight dynamic binary instrumentation
  12. 05/03 -- Lyndon Meadow: Concurrent or Real-Time Garbage collection
    A study of concurrent real-time garbage collectors | C4: the continuously concurrent compacting collector
  13. 05/06 -- Dalton Hahn: VM Security
    Lares: An Architecture for Secure Active Monitoring Using Virtualization | Native Client: A Sandbox for Portable, Untrusted x86 Native Code
  14. Software diversity with runtime systems
    SoK: Automated Software Diversity | Adaptive just-in-time code diversification
  15. Staged Compilation and Dynamic Optimizations
    Dynamic Compilation: The Benefits of Early Investing | Compilation Policy for Modern Machines
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