1 / 23

Windows Virtualization Architecture

Windows Virtualization Architecture. Mark Kieffer Group Program Manager Windows Virtualization markkie @ microsoft.com Microsoft Corporation. Session Outline. Current virtualization uses and benefits Uses for virtualization today Microsoft’s current virtualization offerings

rangle
Download Presentation

Windows Virtualization Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows Virtualization Architecture Mark Kieffer Group Program Manager Windows Virtualizationmarkkie @ microsoft.com Microsoft Corporation

  2. Session Outline • Current virtualization uses and benefits • Uses for virtualization today • Microsoft’s current virtualization offerings • Windows Virtualization Architecture • Hypervisor • Virtualization stack • Device virtualization

  3. Session Goals • Attendees should leave this session with the following: • A solid architectural overview of Microsoft’s virtualization work • A better understanding of the interaction between hardware and software virtualization

  4. Current Virtualization Uses and Benefits • Workloads that are enabled by virtualization • Server Consolidation • Efficient software development and test • Dynamic data centers • Resource Management • Application re-hosting • Application compatibility • High availability partitions • Many others

  5. Microsoft’s Current Virtualization Offerings • Virtual PC 2004 • Being deployed in production environments • Application re-hosting • Demos, training, helpdesk • Being deployed in test and dev environments • Multiple test beds on a single piece of hardware • Virtual Server 2005 • Released Q4 2004 • Well received in the industry • Used for production server consolidation • Remote management of virtual machine operations • Great perf gains and functionality enhancement in SP1 • 64-bit host support, PXE support, and others

  6. Microsoft's Next Gen Virtualization Architecture • Introducing Windows virtualization for servers • Hypervisor-based • Separate, small management partition (parent) • Takes device virtualization to the next level • Targeting availability in the Longhorn wave • Definition of a couple of terms • Parent partition: a partition that manages its children • Child partition: any number of partitions that are started, managed, and shut down by their parent • Virtualization Stack: The collection of components that runs in the parent partition for VM management

  7. Windows Virtualization for Servers • Some proposed features • 32-bit and 64-bit guests • x64-only hosts • Guest multiprocessing • Virtualized devices • WMI management and control API • Save & restore • Snapshotting • CPU and I/O resource controls • Tuning for NUMA • Dynamic resource addition & removal • Live migration

  8. The Hypervisor • Very thin layer of software • Highly reliable • Much smaller Trusted Computing Base (TCB) • No built-in driver model • Leverage the large base of Windows drivers • Drivers run in a partition • Will have a well-defined, published interface • Allow others to create support for their OS’s as guests • Hardware virtualization assists are required • Intel Virtualization Technology • AMD “Pacifica”

  9. VMM Arrangements Type-2 VMM Hybrid VMM Type-1 VMM(Hypervisor) Guest 1 Guest 2 VMM Guest 1 Guest 2 Guest 1 Guest 2 Host OS Host OS VMM VMM Hardware Hardware Hardware Examples: JVMCLR Examples: Virtual PC & Virtual Server Examples:Windows Virtualization What we have today What we’re buildingfor the future

  10. Monolithic vs. Microkernelized Monolithic hypervisor Simpler than a modern kernel, but still complex Contains its own drivers model Microkernelized hypervisor Simple partitioning functionality Increase reliability and minimize TCB No third-party code Drivers run within guests Drivers Drivers Drivers Drivers Drivers Drivers Drivers Drivers Drivers Drivers Drivers Drivers VM 1 (“Admin”) VM 2 VM 3 VM 2 (“Child”) VM 3 (“Child”) VM 1(“Parent”) Virtual- ization Stack Hypervisor Hypervisor Hardware Hardware

  11. The Hypervisor • Thin layer of software running on the hardware • Supports creation of partitions • Each partition is a virtual machine • Each partition has one or more virtual processors • Partitions can own or share hardware resources • Software running in partition is called a guest • Enforces memory access rules • Enforces policy for CPU usage • Virtual processors are scheduled on real processors • Enforces ownership of other devices • Provides simple inter-partition messaging • Messages appear as interrupts • Exposes simple programmatic interface called “hypercalls” Parent Partition (Minimum Footprint Windows) Hypervisor Hard Drive Ethernet NIC CPU RAM

  12. Virtualization Stack • Will run within a parent partition • Stand alone in a small footprint OS (MinWin) • Full Windows OS • Multiple virtualization stacks could co-exist

  13. Virtualization Stack • Collection of user-mode & kernel-mode components • Runs within a partition on top of a (minimal) OS • Contains all VM support not in the hypervisor • Interacts with hypervisor • Calls the hypervisor to perform certain actions • Responds to messages from the hypervisor or from other partitions • Creates and manages a group of “child partitions” • Manages memory for child partitions • Virtualizes devices for child partitions • Exposes a management interface VM Worker Process VM Worker Process VM Service WMI Provider VM Worker Process VirtualizationInfrastructureDriver VMBus Bus Driver Hypervisor API & Message Library Parent Partition Child Partition 1 Child Partition 2 Hypervisor

  14. Device Virtualization • Provides a method for sharing hardware efficiently • Physical devices are still managed by their device drivers • Definitions • Virtualization Service Providers (VSPs) & Clients (VSCs) • VSP = provider, VSC = consumer • VSP typically run in a partition that “owns” a hardware resource • VSP/VSC pair per device type (storage, network, etc.) • May expose bandwidth resource controls • Protocol is specific to device type, but is generally OS-agnostic

  15. Device Virtualization • Standard VSPs • Storage: parses VHDs, supports difference drive chains • Network: provides virtualized network mechanism • Video: 2D for servers • USB: allows a USB device to be assigned to a partition • Input: keyboard & mouse • Time: virtualization for RTC hardware

  16. Device Virtualization • Physical devices • Managed by traditional driver stacks • Virtualization service providers (VSPs) • Virtualize a specific class of device (e.g. networking, storage, etc.) • Expose an abstract device interface • Run within the partition that owns the corresponding physical device • Virtualization service clients (VSCs) • Consume virtualized hardware service • VMBus • Software “bus” (enumeration, hot plug, etc.) • Enables VSPs and VSCs to communicate efficiently • Uses memory sharing and hypervisor IPC messages Storage VSP Storage Stack Storage Stack Storage VSC Port Driver Parent Partition VMBus VMBus Hypervisor Disk

  17. Windows Enlightenments • Enlightenments • Modifications to an OS to make it aware that it’s running within a VM • Windows codenamed “Longhorn” enlightenments • Optimizations in memory manager (MM) • Win32 and kernel API: Am I running on a virtual machine? • Looking at additional enlightenments in the future

  18. Some System Requirements • Must support hardware virtualization • Intel’s Virtualization Technology • AMD’s “Pacifica” • We are not planning on supporting any other implementations • Must support x64 extensions

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

  20. Additional Community Resources • Community Sites • http://www.microsoft.com/communities/default.mspx • List of Newsgroups • http://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx • Attend a free chat or webcast • http://www.microsoft.com/communities/chats/default.mspx • http://www.microsoft.com/seminar/events/webcasts/default.mspx • Locate a local user group(s) • http://www.microsoft.com/communities/usergroups/default.mspx • Non-Microsoft Community Sites • http://www.microsoft.com/communities/related/default.mspx

  21. Additional Resources • Email: msvirtex @ microsoft.com • Web Resources • http://www.microsoft.com/windowsserversystem/virtualserver • http://www.microsoft.com/windowsxp/virtualpc • Related Sessions • Virtualization Technology for AMD Architecture • Virtualization Technology for Intel Architecture

  22. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

More Related