PC Virtualization


Let MindShare Bring Virtualization to Life for You

Virtualization is one of the hot, exciting areas in the PC industry today, generating significant revenue, and solving critical problems in the PC data center. This class is to explain what virtualization is, and what IT problems it solves, and also the IT problems that it does not solve. You will learn how virtualization is implemented, along with the overhead and performance issues with the implementations.

MindShare Courses On Virtualization:

Course Name

Virtual Classroom

Comprehensive PC Virtualization
4 days

5 days

Show Me
Fundamentals of PC Virtualization
1 day

1 day
Intro to Virtualization Technology    
Show Me
Intro to PCI Express IO Virtualization    
Show Me

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

Comprehensive PC Virtualization Course Info

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 and AMD have 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 in use today.
  • How memory and I/O virtualization will change with the new hardware assists, to solve these problems.

Course Length: 4 days

Who Should Attend?

Virtualization is a topic that covers both hardware and software. This course is suitable for hardware engineers who desire to understand the full picture of how the hardware is used, and is suitable for software engineers who desire to understand how to implement the required software.

Course Outline:

  • Introduction to virtualization, its history and uses
    • Explanation of what virtualization is, with a demonstration
    • Explores how virtualization can be used
    • Looks at current revenue generating uses, and offers predictions on where the growth is
    • More detailed use cases are added throughout the class as the subject areas are explored
  • Virtualization theory classical trap and emulate
  • Implementation of software virtualization techniques
    • Paravirtualization. How paravirtualization is implemented, the advantages of it, and why it is growing 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 new processor enhancements by Intel and AMD
  • Details of Intel VT hardware virtualization assists (codename Vanderpool)
    • New instructions, new operating mode
    • New processor data structures
    • New MSRs
    • Multi-processor, multi-core and virtualization
    • Intel VT enhancements
  • Details of AMD-V hardware virtualization assists (codename Pacifica)
    • New instructions, new operating mode
    • New processor data structures
    • New MSRs
  • Virtualization of interrupts and the APIC
    • How interrupts and exceptions are handled, and how this affects performance.
  • Memory handling to implement virtualization
    • Shadow page tables
    • Hardware paging assists from AMD (nested paging/Rapid Virtualization Indexing) and from Intel (Extended Page Tables)
    • Paging optimizations and issues
    • Memory and device virtualization
  • Advantages and disadvantages of the new hardware assists
    • Exploring how well the first generation Intel-VT and AMD-V work, and the performance issues
    • Product demonstration to assist with the performance discussion
  • Virtualization products
    • Overview of virtualization products in the marketplace
    • Focus on VMWare, Microsoft and Xen.
  • I/O Virtualization
    • Current software techniques, the advantages of them, and the issues
    • 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
    • AMD's IOMMU implementation of ATS
    • PCI Express single root virtualization
    • PCI Express multi-root virtualization
    • Network virtualization
    • Issues with time
  • Security features related to virtualization
    • Intel TXT
    • AMD security features

Recommended 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.

Supplied Materials:

MindShare will supply an electronic version of the presentation slides.