PC Virtualization

Duration: 4 days

Course Image

PC Virtualization eLearning Course

Course Image

IO Virtualization for Intel Platforms eLearning Course

Overview

Virtualization is one of the fascinating and complex areas in the PC industry, generating significant revenue, and solving critical problems in the PC data center. Virtualization technology is used across a wide range of platforms, from embedded to data center. This class is to explain what virtualization is, and what IT problems it solves, and also the problems that it does not solve. You will learn how Intel virtualization is implemented, along with the overhead and performance issues with the implementations.

 

All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.

What You Will Learn

  • What virtualization is, and the revenue generating uses for virtualization.
  • The theory of virtualization, dating back to the IBM mainframes of the 60s and 70s, and how that mainframe technology is relevant to PC virtualization today.
  • How Intel has enhanced their processors to help implement classical virtualization.
  • How memory and I/O virtualization is achieved today.
  • The major sources of overhead with the virtualization techniques.

Course Outline

  • Introduction to virtualization, its history and uses
    • Explanation of what virtualization is, with a demonstration (VMWare workstation)
    • Explores how virtualization can be used
    • Looks at revenue generating uses
  • Virtualization theory classical trap and emulate
  • Implementation of software virtualization techniques
    • Paravirtualization. How paravirtualization is implemented, the advantages of it, and why it continues in importance moving forwards
    • Ring aliasing. How the processor hardware is setup to assist software virtualization
    • Binary translation. Implementation details, and comparison with binary translation.
  • Issues with x86 processor virtualization
    • Exploration of issues with the x86 instruction set and x86 architecture that make the software techniques complex
    • A background to the processor enhancements by Intel
  • Details of Intel VT hardware virtualization assists (codename Vanderpool) – VMCS / VMX
    • Instructions and operating modes (root and non-root)
    • Processor data structures (VMCS)
    • MSRs
    • Multi-processor, multi-core and virtualization
    • Enhancements beyond the initial implementations, such as preemption timer
    • Nested virtualization (VMCS shadowing)
    • Virtualization Exception and the importance of its use
  • Virtualization of interrupts and the APIC
    • How interrupts and exceptions are handled, and how this affects performance
    • Delivery of interrupts to the hypervisor
    • Hardware APIC virtualization, to deliver interrupts directly to guests, and even to non-running guests
  • Memory handling to implement virtualization
    • Shadow page tables
    • Intel hardware paging assists (Extended Page Tables)
    • Paging optimizations and issues
    • Memory and device virtualization
  • Advantages and disadvantages of the hardware assists
    • Discussion of the Intel-VT performance issues
    • Product demonstration to assist with the performance discussion (KVM)
  • I/O Virtualization
    • Software techniques, the advantages of them, and the issues
    • Network virtualization
    • The rational and problems with the hardware assists intended to assist with the software techniques
    • PCI Express enhancements - ATS
    • Intel's VT-d implementation of ATS
    • Intel’s VT-d implementation of interrupt remapping
    • SVN and PASID
    • PCI Express single root virtualization
    • PCI Express multi-root virtualization
  • Virtualization products
    • Overview of some of the virtualization products in the marketplace, VMWare, Microsoft, KVM
  • Other minor topics
    • Issues with time
    • Security features related to virtualization, Intel TXT

Training Materials

  • PDF of course slides

Prerequisites

A solid background in PC architecture will assist the students in understanding the material. We cannot understand how to virtualize a particular function unless we understand that function! Each section will include a brief review of the appropriate PC architecture to help fill in any holes in the students' background knowledge, but this class is not intended to be a complete PC architecture class.

Related Courses

Course NamePDFClassroomVirtual ClassroomeLearning
IO Virtualization for ARM Platforms4 days8 half-days
PC Virtualization4 days8 half-days Show Me
IO Virtualization for Intel Platforms4 days8 half-days Show Me

IO Virtualization for ARM Platforms

Class: 4 days

Virtual Classroom: 8 half-days

ELEARNING:

PC Virtualization

Class: 4 days

Virtual Classroom: 8 half-days

ELEARNING: Show Me

IO Virtualization for Intel Platforms

Class: 4 days

Virtual Classroom: 8 half-days

ELEARNING: Show Me

Related Items

Live Training Courses