Docstoc

Understanding Intel Virtualization Technology

Document Sample
Understanding Intel Virtualization Technology Powered By Docstoc
					Understanding Intel® Virtualization Technology (VT)
Narendar B. Sahgal Director, Initiative Planning
Digital Enterprise Group Intel Corporation

Dion Rodgers Sr. Principal Engineer

Session Outline
Virtualization
Capabilities and usage models

Intel® Virtualization Technology (VT)
Challenges of IA CPU virtualization today VT eliminates challenges by design VT-x technical overview

VT Roadmap Call to Action

Virtual Machine Monitors (VMMs)
VM0
App0

VM1

App1

VMn

Appn

Virtual Machines (VMs)

Guest OS0

Guest OS1

...

Guest OSn

Virtual Machine Monitor (VMM)

Platform HW
Memory Processor/CS I/O Devices

VMM is a layer of system software
Enables multiple VMs to share platform hardware Allows Apps to run without modifications

Virtualization Capabilities
Workload Isolation
App1 OS App2 App1 OS App2 OS

Workload Consolidation
App1
OS1

App2
OS2

App1
OS1

App2

OS2

HW

VMM HW

HW 1

HW 2

VMM HW

Workload Migration
App OS App

Workload Embedding
App App

OS

OS1

OS2

VMM HW 1

VMM HW 2

VMM HW 1

VMM HW 2

VMM HW

Virtualization has powerful capabilities

Virtualization Usage Models
Legacy SW Support Training/QA Activity Partitioning Manageability …
Server Consolidation Failover infrastructure Flexible Datacenter Manageability …
Consolidation Consolidation Isolation Isolation Migration Embedding

CLIENT

SERVER

Consolidation

Migration
Migration

Isolation Migration Embedding

Virtualization has a broad range of usages

What is Intel® Virtualization Technology ?
Formerly known by the codenames Vanderpool* & Silvervale*

VT is a set of hardware enhancements to Intel server and client platforms VT is designed to simplify virtualization software Virtualization brings new end user value and new differentiation opportunities VT-x and VT-i are the first in the VT series of Intel processor and chipset innovations
VT-x refers to IA-32 CPU virtualization enhancements VT-i refers to IPF CPU virtualization enhancements

"We are on record as saying that VT is the most significant change to PC architecture this decade"
Martin Reynolds, Gartner Senior Analyst – eWeek September 9, 2004

Challenges of Running a VMM
OS and Apps in a VM don't know that the VMM exists or that they share CPU resources with other VMs

VM0
App App

VM1 ...
App App App

...

App

VMM should isolate Guest SW stacks from one another
VMM should run protected from all Guest software

Guest OS0

...
VM Monitor

Guest OS1

Platform Hardware

VMM should present a virtual platform interface to Guest SW

SW Solution: Guest Ring Deprivileging
Run Guest OS above Ring-0 and have privileged instructions generate faults...

Run VMM in Ring-0 as a collection of fault handlers

VM0
App App

VM1 ...
App App App

...

App

Guest OS0

...
VM Monitor

Guest OS1

Top IA Virtualization Holes : • Ring Aliasing • Non-trapping instructions • Excessive Faulting • Interrupt Virtualization Issues • CPU state context switching • Addr Space Compression

Platform Hardware

Complex Software Techniques : • Source guest OS Modifications • Binary guest OS Modifications

Virtualization of current IA CPUs requires complex software workarounds

Intel® Virtualization Technology

VM0
App App

VM1 ...
App App App

Guest SW runs deprivileged in a new operating mode:
...
App

Guest OS0

...
VM Monitor

Guest OS1

• Apps run deprivileged in ring 3 • OS runs deprivileged in ring 0 • VMM runs in new mode with full privilege

Platform Hardware

VMM preempts execution of Guest SW via new HW-based transition mechanism

By design, VT eliminates virtualization holes and the need for complex software workarounds

VT-x Overview
Operating modes Guest SW  VMM Transitions Virtual-machine control structure Principal causes of VM Exits Benefits

Operating Modes
VMX root operation:
Fully privileged, intended for VM monitor

VMX non-root operation:
Not fully privileged, intended for guest software Reduces Guest SW privilege w/o relying on rings Solution to Ring Aliasing and Ring Compression

VM Entry and VM Exit
VM Entry
Transition from VMM to Guest Enters VMX non-root operation Loads Guest state and Exit criteria from VMCS VMLAUNCH instruction used on initial entry VMRESUME instruction used on subsequent entries

VM Exit
VMEXIT instruction used on transition from Guest to VMM Enters VMX root operation VM0 VM1 Saves Guest state in VMCS ... Loads VMM state from VMCS ...
App App App App

App

...

App

Guest OS0 VM Exit VM Entry

Guest OS1 VM Monitor

Physical Host Hardware

VT-x Operations
VM 1 VM 2 VM n

VMX Non-root Operation
VM Exit

Ring 3
Ring 0

Ring 3
Ring 0

...

Ring 3
Ring 0

VMCS 1

VMCS 2

VMCS n

VMX IA-32 Root Operation

Ring 3
VMRESUME VMLAUNCH VMXON Ring 0

Virtual Machine Control Structure (VMCS)
VMCSs are Control Structures in Memory
Only one VMCS active per virtual processor at any given time

VMCS Payload:
VM execution, VM exit, and VM entry controls Guest and host state VM-exit information fields

VMCS Format not defined and may vary
VMPTRLD: Establishes a pointer to a desired VMCS VMREAD/VMWRITE: New VMCS Access instructions

Principal Causes of VMEXIT
Paging state exits allow page-table control
CR3 accesses, INVLPG cause exits Selectively exit on page faults CR0/CR4 controls allow exiting on changes to selected bits

State-based exits allow function virtualization
CPUID, RDMSR, WRMSR, RDPMC, RDTSC, MOV DRx

Selective exception and I/O exiting reduce unnecessary exits
32-entry exception bitmap, I/O-port access bitmap

Controls provided for asynchronous events
Host interrupt control allows delivery to VMM even when guest blocking interrupts

Detection of guest inactivity to support VM scheduling
HLT, MWAIT, PAUSE

Benefits: VT Helps Improve VMMs
VT Reduces guest OS dependency
Eliminates need for binary patching / translation Facilitates support for Legacy OS

VT improves robustness
Eliminates need for complex SW techniques Simpler and smaller VMMs Smaller trusted-computing base

VT improves performance
Fewer unwanted Guest  VMM transitions

VT Client Roadmap
2005 Lyndon*
Intel® Pentium® 4 Processor 945G Chipset HT, XD, EM64T, EIST, Intel AMT, VT

2006 Averill*
Intel Pentium 4 Processor & DC Broadwater Chipset 2005 features plus Intel AMT2, LT

2005 Intel Centrino™ Mobile Technology
Intel Pentium M Processor Intel 915 Chipset Family Intel PRO Wireless Network Connection 2915ABG & 2200BG, XD, EIST

2006 Napa*
Mobile Dual Core Processor code-named “Yonah” Chipset code-named “Calistoga” Wireless LAN solution code-named “Golan” 2005 features plus VT, Intel AM

VT Server Roadmap

2005 - 2006
Millington / DP Montvale Intel® 8870, Enabled Dual Core, MT, Foxton, Pellston, VT

2 Socket

2005 - 2006
Montecito / Montvale Intel® 8870 / Enabled MT, Foxton, Pellston, VT

≥ 4 Socket

2 Socket

2006 Bensley*, Glidewell*
Dempsey Blackford & Greencreek 2005 features plus VT, IAMT, I/OAT

VT Ecosystem
Intel plans to ship VT-based platforms as follows:
Intel® Desktop and Itanium® 2 platforms in 2005 Intel® Xeon™ and Intel® Centrino™ mobile platforms in 1H ’06

VT features require support from VMM providers and a few selected infrastructure vendors. Most ISVs won’t need to do anything for VT
All major VMM providers have embraced VT Intel working with Microsoft and others to enable the software ecosystem for VT

Call to Action:
VMM vendor/developer:
Learn how to harvest VT benefits Seek new business opportunities by teaming with OEMs/ISVs

PC/Server OEM:
Learn more about virtualization usage models Identify differentiation opportunities in your markets Prepare for productization of VT

Application, Service, or Solution provider:
Consider the implications and new opportunities to your product line and market Explore new business opportunities on a virtualized platform

Additional Resources
For specs / whitepapers / web resources: www.intel.com/technology/vt For discussions on VT opportunities: fernando.martins @ intel.com

Community Resources
Windows Hardware & Driver Central (WHDC)
www.microsoft.com/whdc/default.mspx

Technical Communities
www.microsoft.com/communities/products/default.mspx

Non-Microsoft Community Sites
www.microsoft.com/communities/related/default.mspx

Microsoft Public Newsgroups
www.microsoft.com/communities/newsgroups

Technical Chats and Webcasts
www.microsoft.com/communities/chats/default.mspx www.microsoft.com/webcasts

Microsoft Blogs
www.microsoft.com/communities/blogs


				
DOCUMENT INFO
Shared By:
Stats:
views:352
posted:4/23/2008
language:English
pages:23