Let MindShare Bring Intel PC Virtualization to Life for You
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.
MindShare Courses On Virtualization Related To Intel Platforms:
All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.
Intel 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 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 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.
- 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)
- 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
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.
MindShare will supply an electronic version of the presentation slides.