VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D



Similar documents
Full and Para Virtualization

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...

Virtualization for Cloud Computing

Virtualization. Jukka K. Nurminen

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Virtualization. Pradipta De

The Future of Virtualization Technology. Stephen Alan Herrod VP of Technology VMware

Virtualization. Types of Interfaces

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

COS 318: Operating Systems. Virtual Machine Monitors

Distributed Systems. Virtualization. Paul Krzyzanowski

Virtualization Technology. Zhiming Shen

Virtualization. ! Physical Hardware. ! Software. ! Isolation. ! Software Abstraction. ! Encapsulation. ! Virtualization Layer. !

Virtualization Overview

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Basics of Virtualisation

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtual machines and operating systems

Enterprise-Class Virtualization with Open Source Technologies

Nested Virtualization

International Journal of Advancements in Research & Technology, Volume 1, Issue6, November ISSN

Intel Virtualization Technology Overview Yu Ke

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Virtualization. Dr. Yingwu Zhu

Virtualization. Michael Tsai 2015/06/08

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Introduction to Virtual Machines

Chapter 14 Virtual Machines

Chapter 5 Cloud Resource Virtualization

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Virtualization. Explain how today s virtualization movement is actually a reinvention

Virtualization. Jia Rao Assistant Professor in CS

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Virtualization VMware Inc. All rights reserved

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Cloud Computing CS

IOS110. Virtualization 5/27/2014 1

Xen and the Art of. Virtualization. Ian Pratt

Jukka Ylitalo Tik TKK, April 24, 2006

Virtualization and the U2 Databases

Knut Omang Ifi/Oracle 19 Oct, 2015

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

9/26/2011. What is Virtualization? What are the different types of virtualization.

COM 444 Cloud Computing

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

Cloud Computing. Up until now

Virtualization with Windows

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

Virtual Machines.

Virtualization benefits Introduction to XenSource How Xen is changing virtualization The Xen hypervisor architecture Xen paravirtualization

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

Multi-core Programming System Overview

kvm: Kernel-based Virtual Machine for Linux

The Microsoft Windows Hypervisor High Level Architecture

A Comparison of VMware and {Virtual Server}

Data Centers and Cloud Computing

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Virtualization in Linux KVM + QEMU

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization Technologies

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Cloud Computing #6 - Virtualization

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Hypervisors and Virtual Machines

Introduction to Virtual Machines

<Insert Picture Here> Oracle Database Support for Server Virtualization Updated December 7, 2009

Virtualization is set to become a key requirement

Virtualization and Other Tricks.

Virtual Machines. Virtual Machine (VM) Examples of Virtual Systems. Types of Virtual Machine

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Virtualization Technology

Performance tuning Xen

Architecture of the Kernel-based Virtual Machine (KVM)

Cloud^H^H^H^H^H Virtualization Technology. Andrew Jones May 2011

Distributed and Cloud Computing

Using VMware Player. VMware Player. What Is VMware Player?

The Xen of Virtualization

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

Cooperation of Operating Systems with Hyper-V. Bartek Nowierski Software Development Engineer, Hyper-V Microsoft Corporation

Models For Modeling and Measuring the Performance of a Xen Virtual Server

Windows Server Virtualization & The Windows Hypervisor

OS Virtualization Frank Hofmann

Developing a dynamic, real-time IT infrastructure with Red Hat integrated virtualization

The XenServer Product Family:

The Art of Virtualization with Free Software

Cloud Computing. Dipl.-Wirt.-Inform. Robert Neumann

2972 Linux Options and Best Practices for Scaleup Virtualization

How To Virtualize A Computer System

Windows Server 2008 R2 Hyper V. Public FAQ

Transcription:

ware and CPU Virtualization Technology Jack Lo Sr. Director, R&D

This presentation may contain ware confidential information. Copyright 2005 ware, Inc. All rights reserved. All other marks and names mentioned herein may be trademarks of their respective companies.

Overview Emerging technologies that impact CPU virtualization Hardware assist (VT-x/Pacifica) 64-bit computing OS assist (paravirtualization) Today s talk: Share our perspective on emerging technologies

Agenda CPU virtualization technology overview Virtualizing the x86 architecture Trend No. 1: Hardware assist VT-x and Pacifica Trend No. 2: 64-bit computing Benefits of 64-bit architecture 64-bit guest support Trend No. 3: OS assist ware and paravirtualization

Full Virtualization Software Stack VirtualCenter Management and Distributed Virtualization Services otion Provisioning Backup DRS DAS Distributed Services Third-party Solutions Third- Party Agents Service Console SDK / VirtualCenter Agent X ESX Server X X I/O Stack Device Drivers Resource Management CPU Scheduling Memory Scheduling Storage Bandwidth Network Bandwidth X M M Distributed Virtual Machine File System Storage Stack M Device Drivers kernel Hardware Interface M Virtual NIC and Switch Network Stack Virtual Machine Monitor Enterprise Class Virtualization Functionality Hardware

Today s Focus VirtualCenter Management and Distributed Virtualization Services otion Provisioning Backup DRS DAS Distributed Services Third-party Solutions Third- Party Agents Service Console SDK / VirtualCenter Agent X ESX Server X X I/O Stack Device Drivers Resource Management CPU Scheduling Memory Scheduling Storage Bandwidth Network Bandwidth X M M Distributed File System Storage Stack M Device Drivers kernel Hardware Interface M Virtual NIC & Switch Network Stack Virtual Machine Monitor Enterprise Class Virtualization Functionality Hardware

Virtualization SW Terminology M M M Base Functionality (e.g. scheduling) Hypervisor Enhanced Functionality Virtual Machine Monitor (M) SW component that implements virtual machine hardware abstraction Responsible for running the guest OS Hypervisor Software responsible for hosting and managing virtual machines Run directly on the hardware Functionality varies greatly with architecture and implementation

CPU Virtualization Three components to classical virtualization techniques Many virtualization technologies focus on handling privileged instructions Privileged instruction virtualization Memory virtualization Device and I/O virtualization De-privileging or ring compression to handle privileged instructions Memory partitioning and allocation of physical memory Routing I/O requests between virtual devices and physical hardware

Handling Privileged Instructions In traditional systems OS runs in privileged mode OS owns the hardware Application code has less privilege M needs highest privilege level for isolation and performance Traditional M relies on ring compression or de-privileging Run privileged guest OS code at user-level Apps Guest OS Apps Guest OS M Privileged instructions trap, and emulated by M Ring 3 Ring 0 Ring 3 Ring 0

Virtualizing x86 Architecture De-privileging not possible with x86! Some privileged instructions have different semantics at user-level: non-virtualizable instructions ware uses direct execution and binary translation (BT) BT for handling privileged code Direct execution of user-level code for performance Any unmodified x86 OS can run in virtual machine

Protecting the M Need to protect M and ensure isolation Protect virtual machines from each other Protect M from virtual machines ware relies on segmentation hardware to protect the M M lives at top of guest address space Segment limit checks catch writes to M area M 0 4GB

Agenda CPU virtualization technology overview Virtualizing the x86 architecture Trend No. 1: Hardware assist Trend No. 2: 64-bit computing Trend No. 3: OS assist

Trend No. 1: Hardware Assist CPU vendors are embracing virtualization Intel Virtualization Technology (VT-x) AMD Pacifica These CPU technologies are a series of enhancements to aid virtualization SW Initially focused on handling non-virtualizable instructions Use a trap-and-emulate model Alternative to using binary translation But hardware assist does not eliminate need for ware technology

VT-x/Pacifica Overview Key feature is new CPU execution mode (root mode) M executes in root mode Allows x86 virtualization without binary translation or paravirtualization Guest state stored in Virtual Machine Control Structures (VT-x) or Virtual Machine Control Block (Pacifica) Apps Guest OS exit enter Apps Guest OS Virtual Machine Monitor (M) Ring 3 Ring 0 Non-root mode Root mode

Limitations of Hardware Assist Initial VT-x/Pacifica hardware does not include all components of CPU virtualization solution VT-x requires small emulator for real mode code Memory virtualization support lacking Not in VT-x; implementation-dependent for Pacifica Memory virtualization is key to performance! No device virtualization support Privileged instructions Memory virtualization Device and I/O virtualization Hardware Assist Yes No No

Future of Hardware Assist CPU vendors will add more hardware capabilities in future Memory virtualization (Nested paging, EPT) ware software will evolve to incorporate support for these new technologies Adopt technologies as they enable new capabilities Hardware Solution Privileged instructions Memory virtualization Devices and I/O VT-x, Pacifica Extended Page Tables/Nested Paging Intelligent Devices

Trend No. 2: 64-bit Computing Progression of the x86 architecture 16-bit: 8086/8088 (1978) 32-bit: 80386 (1985) 64-bit: x86-64 (2003): a.k.a. AMD64, x64 x86-64 architecture brings 64-bit computing to industry-standard systems Provides compatibility mode to run 32-bit x86 applications Extensions to x86 architecture

64-bit Transition Has Already Begun Apps exhausting limits of 32-bit address space Consuming 1 bit of address space / year Databases, Java app servers, other threaded applications Most new CPUs are 64-bit enabled AMD64, EM64T Major OSes have been ported Windows, Linux, Solaris 10, etc. Applications are being ported Databases, app servers, development tools, games, etc.

Virtualization And x86-64 Potential questions about 64-bit transition Do my apps run in 64-bit OS? Have drivers been ported? Are the 64-bit OSes robust? The solution: virtualization! Applications 32-bit or 64-bit Host OS Great aid for 64-bit transition Easy way to evaluate new OSes 64-bit Hardware Can run 64-bit guest OSes on 32-bit host OS on 64-bit hardware)! 32- bit M 64- bit M64

Challenges of Virtualizing x86-64 Initial AMD64 architecture did not include segmentation in 64-bit mode Segmentation also missing from EM64T How do we protect the M? 64-bit guest support requires additional hardware assistance Segment limit checks available in 64-bit mode on newer AMD processors VT-x can be used to protect the M on EM64T Requires trap-and-emulate approach instead of BT

Flexible M Architecture Flexible multi-mode M architecture Separate M per virtual machine 32-bit: BT M 64-bit: BT or VT/Pacifica M depending on hardware Select mode that achieves best workloadspecific performance Same M architecture for ESX Server, GSX Server, Workstation and ACE BT/VT M64 BT M32 BT/VT M64...... BT M32

64-bit Guests And WS 5.5 Workstation 5.5 enables 64-bit guests Currently in beta Simultaneously run 32-bit and 64-bit guests Runs on 32-bit and 64-bit host OSes Applications 32-bit or 64-bit Host OS 32- bit M 64- bit M64 64-bit Hardware

Requirements For 64-bit Guests Newer hardware required for 64-bit guest support AMD Opteron Rev. E or later AMD Athlon64 Rev. D or later Intel VT-enabled processor How to determine that you have a 64-bit capable system? Workstation 5.5 will automatically check to see if your CPU meets the requirements CPU check utility also available for download on WS5.5 beta web page http://www.vmware.com/products/beta/ws/

Trend No. 3: OS Assist Three alternatives for handling non-virtualizable instructions Binary translation Hardware assist OS assist or paravirtualization Compatibility Performance M sophistication Binary Translation Excellent Good High Hardware Assist Excellent Average Average Paravirtualization

Paravirtualization Paravirtualization can address same problem as hardware assist Modify the guest OS to remove non-virtualizable instructions Export a simpler architecture to OS Cannot support unmodified OSes (e.g. Windows 2000/XP) Paravirtualization not limited to CPU virtualization Higher performance possible Relatively easy to add paravirtualization support: very difficult to add binary translation Compatibility Performance M sophistication Binary Translation Excellent Good High Hardware Assist Excellent Average Average Paravirtualization Poor Excellent Average

Paravirtualization Challenges XenoLinux paravirtualization approach unsuitable for enterprise use Relies on separate kernel for native and in virtual machine Guest OS and hypervisor tightly coupled Tight coupling inhibits compatibility Changes to the guest OS are invasive Inhibits maintainability and supportability Guest kernel must be recompiled when hypervisor is updated How can we deliver paravirtualization for enterprise customers?

I Paravirtualization API ware proposal: Virtual machine Interface API I provides maintainability & stability API supports low-level and higher-level interfaces Allows same kernel to run natively and in a paravirtualized virtual machine: transparent paravirtualization Allows for replacement of hypervisors without a guest recompile Preserve key virtualization functionality: page sharing, otion, etc. We are gathering feedback on the API from many kernel developers and OSVs http://www.vmware.com/vmi http://www.vmware.com/standards/hypercalls.html

I Paravirtualization I approach to paravirtualization improves compatibility API need not compromise performance compared to invasive paravirtualization Binary Translation Hardware Assist Paravirtualization Compatibility Excellent Excellent Good Performance Good Average Excellent M sophistication High Average Average

ware Paravirtualization Performance Performance Relative to Native Bigger is Better 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 compile Dbench/1client [cpu microbenchmark] Dbench/1client HIGHMEM [cpu microbenchmark] Database kernel Xen2 Xen3-devel ware-para

ware And Paravirtualization ware will support paravirtualized Linux OSes Another guest type when such OS s commercially available Flexible architecture Use most efficient technique for the guest OS type BT, VT/Pacifica, or paravirtualization Distributed File System Storage Stack Virtual NIC & Switch Network Stack Para- M Device Drivers M32 Resource Management ESX Server M64 M64 Hardware

Summary 64-bit transition happening now Virtualization can assist with transition 64-bit guests supported in WS5.5 ware provides flexible architecture to support emerging virtualization technologies Multi-mode M utilizes binary translation, hardware assist and paravirtualization Select best operating mode for the workload ware will support paravirtualized guests as they appear in enterprise distributions I offers superior maintainability/flexibility Performs as well as invasive paravirtualization

PAC346 ware and CPU Virtualization Technology Jack Lo Sr. Director, R&D

Backup slides

Performance of Binary Translation BT provides many performance optimization opportunities Fault elimination Avoid costs of repeated virtual machine exits Binary translator identifies faulting instructions and replaces them with special translations Jump directly to appropriate handlers without an expensive fault Guest and M share an address space: reduces context switch costs