Jukka Ylitalo Tik-79.5401 TKK, April 24, 2006



Similar documents
Intel Virtualization Technology and Extensions

Volume 10 Issue 03 Published, August 10, 2006 ISSN X DOI: /itj Virtualization Technology

Full and Para Virtualization

Virtualization. Jukka K. Nurminen

Chapter 5 Cloud Resource Virtualization

Intel Virtualization Technology Overview Yu Ke

Hardware Assisted Virtualization Intel Virtualization Technology

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

Intel Virtualization Technology (VT) in Converged Application Platforms

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

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

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

Basics of Virtualisation

Virtualization. Pradipta De

Hardware virtualization technology and its security

Hybrid Virtualization The Next Generation of XenLinux

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

Virtualization. Dr. Yingwu Zhu

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

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

Virtualization: Concepts, Applications, and Performance Modeling

Virtualization for Cloud Computing

Virtualization VMware Inc. All rights reserved

Distributed Systems. Virtualization. Paul Krzyzanowski

Virtual machines and operating systems

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

COS 318: Operating Systems. Virtual Machine Monitors

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

Enhanced Virtualization on Intel Architecturebased

Clouds, Virtualization and Security or Look Out Below

Virtualization. Jia Rao Assistant Professor in CS

Virtualization Technology. Zhiming Shen

Cloud Computing #6 - Virtualization

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

Virtualization. Types of Interfaces

Virtualization in Linux KVM + QEMU

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

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013

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

Nested Virtualization

A Unified View of Virtual Machines

Intel Virtualization Technology FlexMigration Application Note

evm Virtualization Platform for Windows

Introduction to Virtualization

System Virtual Machines

Intel Virtualization Technology Processor Virtualization Extensions and Intel Trusted execution Technology

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

IOS110. Virtualization 5/27/2014 1

Page Modification Logging for Virtual Machine Monitor White Paper

Data Centers and Cloud Computing

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Chapter 14 Virtual Machines

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

Hypervisors and Virtual Machines

FRONT FLYLEAF PAGE. This page has been intentionally left blank

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Distributed and Cloud Computing

The Xen of Virtualization

Computing in High- Energy-Physics: How Virtualization meets the Grid

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

Security Overview of the Integrity Virtual Machines Architecture

How To Understand The Power Of A Virtual Machine Monitor (Vm) In A Linux Computer System (Or A Virtualized Computer)

Introduction to Virtualization & KVM

Volume 10 Issue 03 Published, August 10, 2006 ISSN X DOI: /itj Virtualization Technology

Brian Walters VMware Virtual Platform. Linux J. 1999, 63es, Article 6 (July 1999).

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

Virtual Machine Security

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

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

x86 ISA Modifications to support Virtual Machines

COM 444 Cloud Computing

Intel Virtualization Technology

Compromise-as-a-Service

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

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

Virtualization and the U2 Databases

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

New Virtualization Techniques. Lic. Matías Zabaljáuregui

Securing your Virtual Datacenter. Part 1: Preventing, Mitigating Privilege Escalation

VMware Server 2.0 Essentials. Virtualization Deployment and Management

How To Virtualize A Computer System

Virtualization Technologies

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Machines.

Virtualization Technology. Zhonghong Ou Data Communications Software Lab, Aalto University

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

Virtualization. Michael Tsai 2015/06/08

Cloud Computing CS

KVM Security Comparison

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

Transcription:

Rich Uhlig, et.al, Intel Virtualization Technology, Computer, published by the IEEE Computer Society, Volume 38, Issue 5, May 2005. Pages 48 56. Jukka Ylitalo Tik-79.5401 TKK, April 24, 2006

Outline of the Presentation Introduction Virtualization Usage Models Challenges to virtualizing Intel architectures Overview of the Intel Virtualization Technology Solving the Virtualization Challenges Conlusions

Introduction Intel Virtualization Technology provides hardware support for processor virtualization. It enables simplifications of virtual machine monitor software. VMMs can support a wider range of legacy and future operating systems while maintaining high performance.

Virtual Machine Monitor Full virtualization of all system makes it possible to run multiple operating systems on a single physical platform. In a nonvirtualized system, a single OS controls all hardware platform resources. A virtualized system includes a new layer of software, the Virtual Machine Monitor (VMM). The VMM s principal role is to arbitrate accesses to the underlying physical host platform s resources so that multiple operating system (which are guests of the VMM) can share them. The VMM presents to each guest OS a set of virtual platform interfaces that constitute a virtual machine (VM)

Virtualization Usage Models (1)

Virtualization Usage Models (2) Workload isolation Virtualization can improve overall system security and reliability by isolating multiple software stacks in their own VMs. Workload consolidation Corporate data centers are challenged by the proliferation of large numbers of heterogeneous and underutilized servers that run single-os and singleapplication workloads Workload migration Discussed already in previous presentation (Xen)

Virtualization Methods a) Nonvirtualized system with OS operating at level 0 and all software applications running at level 3 b) The 0/1/3 model for ring deprivileging c) The 0/3/3 model for ring deprivileging d) System using VT-x or VT-i instead of deprivileging to constrain guest software.

Challenges to virtualizing Ring aliasing Intel architectures (1) Ring aliasing refers to problems that arise when software is run at a privilege level other than the level for which it was written. Address-space compression The term refers to the challenges of protecting the portions of the VMMs virtual-address space and supporting guest accesses to them.

Challenges to virtualizing Intel architectures (2) Nonfaulting access to privileged state Privilege-based protection prevents unprivileged software from accessing certain components of CPU state Adverse impacts on guest transitions. Ring deprivileging can interfere with the effectiveness of facilities in the IA-32 and Itanium architectures that accelerate the delivery and handling of transitions to OS software.

Challenges to virtualizing Intel architectures (3) Interrupt virtualization Providing support for external interrupts, especially regarding interrupt masking,presents some specific challenges to VMM design. Both the IA-32 and Itanium architectures provide mechanisms for masking external interrupts, preventing their delivery when the OS is not ready for them. Intercepting every guest attempt to do so could significantly affect system performance.

Challenges to virtualizing Intel architectures (4) Ring compression The guest OS will run at the same privilege level as guest applications and will not be protected from them. Access to hidden state Some components of IA-32 CPU state are not represented in any software accessible register.

Paravirtualization Xen is an examples of a VMM that uses sourcelevel modifications in a technique called paravirtualization. Developers of these VMMs modify a guest-os kernel and its device drivers to create an interface that is easier to virtualize. Paravirtualization offers high performance and does not require making changes to guest applications. A disadvantage of paravirtualization is that it limits the range of supported operating systems. For example, Xen cannot currently support an operating system that its developers have not modified, such as Microsoft Windows.

Binary translation techniques A VMM can support legacy operating systems by making modifications directly to guest-os binaries. VMMs that use such binary translation techniques include those developed by VMware4 as well as Virtual PC and Virtual Server from Microsoft. Such VMMs support a broader range of operating systems, albeit with higher performance overheads, than VMMs that use paravirtualization.

Intel Virtualization Technology A central design goal for Intel Virtualization Technology is to eliminate the need for CPU paravirtualization and binary translation techniques. Enables the implementation of VMMs that can support a broad range of unmodified guest operating systems while maintaining high levels of performance. VT-x and VT-i virtualization architectures

VT-x Architecture Overview VT-x augments IA-32 with two new forms of CPU operation 1) VMX root operation 2) VMX non-root operation VMM itself runs in VMX root operation VMM runs its guests in VMX non-root operation Both forms of operation support all four privilege levels Allows a guest OS to run at its intended privilege level Provides a VMM with the flexibility to use multiple privilege levels VMX root operation is similar to IA-32 without VT-x. Software running in VMX non-root operation is deprivileged in certain ways, regardless of privilege level.

Two new transitions for IA-32 A transition from VMX root operation to VMX non-root operation From VMM to guest; called a VM entry A transition from VMX non-root operation to VMX root operation from guest to VMM; called a VM exit. The virtual-machine control structure (VMCS) is a new data structure that manages VM entries and VM exits and processor behavior in VMX nonroot operations. The VMCS is logically divided into sections, two of which are the guest-state area and the host-state area. These areas contain fields corresponding to different components of processor state. VM entries load processor state from the guest-state area. VM exits save processor state to the guest-state area and then load processor state from the host-state area.

VT-i Architecture Overview VT-i consists of extensions to the Itanium processor hardware and the processor abstraction layer (PAL) firmware. The principal hardware extension is the addition of a new bit (vm) in the processor-status register (PSR). VMM runs with PSR.vm = 0 VMM it runs its guests with PSR.vm = 1. All four privilege levels can be used regardless of the value of PSR.vm Guest software can run at its intended privilege level, and a VMM has the flexibility to use multiple privilege levels. When PSR.vm = 0, processor operation is similar to operation without VT-i. When PSR.vm = 1, all privileged instructions and some nonprivileged instructions cause a new virtualization fault.

Solving Virtualization Challenges with VT-x AND VT-i VT-x and VT-i solve virtualization challenges in part by allowing guest software to run at its intended privilege level. Guest software is constrained, not by privilege level, but because for VT-x, it runs in VMX non-root operation for VT-I with PSR.vm = 1

Back to Virtualization Methods a) Nonvirtualized system with OS operating at level 0 and all software applications running at level 3 b) The 0/1/3 model for ring deprivileging c) The 0/3/3 model for ring deprivileging d) System using VT-x or VT-i instead of deprivileging to constrain guest software.

Address-space compression VT-x and VT-i provide two different techniques With VT-x, every transition between guest software and the VMM can change the linear-address space Allowes the guest software full use of its own address space. The VMX transitions are managed by the VMCS, which resides in the physical-address space, not the linear-address space. With VT-i, the VMM has a virtual-address bit that guest software cannot use. A VMM can conceal hardware support for this bit by intercepting guest calls to the PAL procedure that reports the number of implemented virtual-address bits. As a result, the guest will not expect to use this uppermost bit, allowing the VMM exclusive use of half of the virtual-address space.

Ring Aliasing and Ring Compression VT-x and VT-i eliminate ring-aliasing problems, because they allow a VMM to run guest software at its intended privilege level.

Nonfaulting access to privileged state VT-x and VT-i avoid problems of nonfaulting accesses to privileged state in two ways: by adding support that causes such accesses to transition to a VMM and by adding support that causes the state accessed to become unimportant to a VMM

Guest transitions Guest software cannot use the IA-32 instructions SYSENTER and SYSEXIT if the guest OS runs outside privilege level 0. With VT-x, a guest OS can run at privilege level 0, allowing use of these instructions. With VT-i, a guest software can read or write the interruption-control registers without invoking the VMM on each access.

Interrupt virtualization VT-x and VT-i both provide explicit support for the virtualization of interrupt masking.

Conclusions VT-x and VT-i offer solutions to the problems inherent in IA-32 and Itanium processor virtualization They enable simpler, and more secure VMM software The VMMs can support a wider range of legacy and future operating systems while maintaining high levels of performance.

Thank you! Any Questions?