Understanding Intel® Virtualization Technology (VT) Narendar B. Sahgal Director, Initiative Planning Digital Enterprise Group Intel Corporation Dion Rodgers Sr.
Download ReportTranscript Understanding Intel® Virtualization Technology (VT) Narendar B. Sahgal Director, Initiative Planning Digital Enterprise Group Intel Corporation Dion Rodgers Sr.
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 Virtual Machines (VMs) App0 Guest OS0 VM1 VMn App1 Guest OS1 ... Appn 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 App2 App1 OS OS Workload Consolidation App2 App1 App2 App1 App2 OS OS1 OS2 OS1 OS2 HW1 HW2 VMM HW HW Workload Embedding Workload Migration App App App OS OS OS1 VMM HW1 VMM HW2 VMM HW1 VMM HW VMM HW2 App OS2 VMM HW Virtualization has powerful capabilities CLIENT Legacy SW Support Training/QA Activity Partitioning Manageability … SERVER Virtualization Usage Models Server Consolidation Failover infrastructure Flexible Datacenter Manageability … Consolidation Consolidation Isolation Isolation Migration Embedding 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 VM1 App ... App Guest OS0 App ... VM Monitor Platform Hardware App ... App Guest OS1 VMM should isolate Guest SW stacks from one another VMM should run protected from all Guest software 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... VM0 App Run VMM in Ring-0 as a collection of fault handlers VM1 App ... App Guest OS0 App ... App ... App Guest OS1 Top IA Virtualization Holes : • Ring Aliasing • Non-trapping instructions • Excessive Faulting • Interrupt Virtualization Issues • CPU state context switching • Addr Space Compression VM Monitor 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 Guest SW runs deprivileged in a new operating mode: VM1 App ... App Guest OS0 App ... VM Monitor Platform Hardware App ... App Guest OS1 • Apps run deprivileged in ring 3 • OS runs deprivileged in ring 0 • VMM runs in new mode with full privilege 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 App App ... App App Loads VMM state from VMCS ... Guest OS0 VM Exit App ... App Guest OS1 VM Entry Physical Host Hardware VM Monitor VT-x Operations VM 1 VMX Non-root Operation VM Exit VMX Root IA-32 Operation VM 2 VM n Ring 3 Ring 3 Ring 0 Ring 0 Ring 0 VMCS 1 VMCS 2 VMCS n Ring 3 VMRESUME VMLAUNCH VMXON Ring 0 ... Ring 3 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 2 Socket Millington / DP Montvale Intel® 8870, Enabled Dual Core, MT, Foxton, Pellston, VT 2005 - 2006 ≥ 4 Socket Montecito / Montvale Intel® 8870 / Enabled MT, Foxton, Pellston, VT 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