Virtual Machine Overview

Similar documents
Full and Para Virtualization

Virtualization. Types of Interfaces

Virtualization. Pradipta De

COS 318: Operating Systems. Virtual Machine Monitors

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

IOS110. Virtualization 5/27/2014 1

Virtualization for Cloud Computing

Xen and the Art of. Virtualization. Ian Pratt

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

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

Virtualization. Jukka K. Nurminen

Virtualization. Jia Rao Assistant Professor in CS

Virtualization. Dr. Yingwu Zhu

Virtualization with Windows

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

The Xen of Virtualization

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Enabling Technologies for Distributed Computing

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

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

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

Compromise-as-a-Service

Distributed and Cloud Computing

Enabling Technologies for Distributed and Cloud Computing

Cloud Computing #6 - Virtualization

OPEN SOURCE VIRTUALIZATION TRENDS. SYAMSUL ANUAR ABD NASIR Warix Technologies / Fedora Community Malaysia

kvm: Kernel-based Virtual Machine for Linux

VMware Server 2.0 Essentials. Virtualization Deployment and Management

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

Basics of Virtualisation

Servervirualisierung mit Citrix XenServer

COS 318: Operating Systems. Virtual Machine Monitors

Chapter 14 Virtual Machines

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

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

Cloud Computing CS

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

Hybrid Virtualization The Next Generation of XenLinux

Introduction to Virtualization & KVM

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

COM 444 Cloud Computing

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

Virtual Machines. COMP 3361: Operating Systems I Winter

Installing & Using KVM with Virtual Machine Manager COSC 495

Enterprise-Class Virtualization with Open Source Technologies

Introduction to Virtual Machines

Virtualization with VMWare

Virtualization. Michael Tsai 2015/06/08

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Virtualization Technologies. Embrace the new world of healthcare

What is virtualization

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

Business Continuity Management BCM. Welcome to the Matrix The Future of Server Virtualization

Hypervisors and Virtual Machines

Comparing Virtualization Technologies

The Art of Virtualization with Free Software

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Nested Virtualization

SCO Virtualization Presentation to Customers

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

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

Virtual Computing and VMWare. Module 4

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

Virtualization Technology. Zhiming Shen

Virtualizare sub Linux: avantaje si pericole. Dragos Manac

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

VIRTUALIZATION, The next step for online services

Virtualization Technologies (ENCS 691K Chapter 3)

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

Networking for Caribbean Development

A quantitative comparison between xen and kvm

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

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

2009 AAMGA Automation Conference

Chapter 2 Addendum (More on Virtualization)

VMware Virtual Infrastucture From the Virtualized to the Automated Data Center

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

Comparing Free Virtualization Products

Virtualization Technologies

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

nanohub.org An Overview of Virtualization Techniques

Virtual machines and operating systems

Virtualization and the U2 Databases

Definitions. Hardware Full virtualization Para virtualization Hosted hypervisor Type I hypervisor. Native (bare metal) hypervisor Type II hypervisor

The XenServer Product Family:

Parallels Virtuozzo Containers

Virtual Machines. Virtualization

Regional SEE-GRID-SCI Training for Site Administrators Institute of Physics Belgrade March 5-6, 2009

Server and Storage Virtualization. Virtualization. Overview. 5 Reasons to Virtualize

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

The future is in the management tools. Profoss 22/01/2008

A cure for Virtual Insanity: A vendor-neutral introduction to virtualization without the hype

OS Virtualization Frank Hofmann

Multi-core Programming System Overview

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

Virtualization Technology

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Virtualization and Other Tricks.

Transcription:

Virtual Machine Overview

What's Virtual Machine? Virtual machine (VM) A software implementation of a machine (computer) that executes programs like a physical machine. Types of virtual machine categories: System virtual machines - Hardware virtual machine VMWare, Xen, KVM, VirtualBOX Application virtual machine Citrix XenApp, Microsoft App-V, VMWare ThinApp (From Wikipedia) 2

Virtual Architecture Traditional Architecture Virtual Architecture ( Quote from VMware ) 3

How Can Virtualization Help us? Server consolidation Server Migration Ease of management Multiple OS & Application Supports Test before we go Increase hardware utilization: Rapid provisioning, dynamic fault tolerance.. Fault/performance Isolation Better utilization of multicore 4

Virtualization Tradeoffs There is a performance trade-off Applications that used to own the whole processor must now share it Hypervisor adds some runtime overhead too Full virtualization without hardware support means software emulation Increase in management complexity Old scenario: two software stacks + two hardware systems New scenario: two software stacks + one hardware system + one host kernel More abstraction, more software layers, more complexity... More bugs Increases size of Trusted Computing Base Increases impact of (unpredicted) hardware failure 5

Why Virtualization? Mainly for servers Too many servers for too little work Server consolidation Saves space and power consumption server1 VMM server2 CPU CPU CPU server3 CPU 6

Why Virtualization? Mainly for servers Too many servers for too little work Server consolidation Saves space and power consumption Dynamic load balancing server1 server2 server3 CPU CPU CPU 7

Why Virtualization? Mainly for servers Too many servers for too little work Server consolidation Saves space and power consumption Dynamic load balancing Isolation, and thus security Honey pot for security VMM Honeypot Logging, Replaying, Analyzing VM Honeypot VM Logger & Analyzer 8

Why Virtualization? Mainly for servers Too many servers for too little work Server consolidation Saves space and power consumption Dynamic load balancing Isolation, and thus security Honey pot for attackers VM s are isolated Safe! VM1 VMM VM2 Hardware 9

Other Reasons VM(OS) monitoring High availability through replication of server Flexible hardware emulation Testing/quality assurance Software migration - live update Instant provisioning.. Main VM Cloned VM Process Process Process Process New Kernel Kernel 10

Embedded Systems Mobile phones, DTV,.. Motivations Run Linux or MS Windows while running RTOS securely Problems Real time hypervisor is needed Microcontrollers do not have memory protection and user/kernel mode Less need for full-virtualization Para-virtualization is applicable and sufficient 12

Embedded Virtualization Workload consolidation Flexible resource provisioning License barrier Legacy software support Especially important with dozens or hundreds of embedded operating systems, commercial and home-brew Improve reliability Improve security 13

Embedded System Dilemmas If I die in the field I am 10M lines of code Don t believe me main service conver -gence 3 rd party application I don t like this OS my device driver has bugs operating system hardware I need EDF I am not fully tested Soon, I will be upgraded 14

Eldorado Main VM Phone Module RTOS Kernel Banking Module Protected Section Isolation Device VM Flash driver 802.11g driver Lightweight Kernel 3 rd Party VM Messenger Diary Game GPOS Kernel Virtual Machine Monitor RT Scheduler Security Module Maintenance Module Hardware 15

Types of VMM Depending on what sits right on HW Type-1: VMM on HW Type-2: Host OS on HW Guest VM Guest VM Host OS Guest VM Guest VM Guest OS VMM Guest OS Guest OS VMM Guest OS HW HW Xen, VMware ESX server, Hyper-V Mostly for server, but not limited VMM by default OS-independent VMM KVM, VMware Workstation, VirtualBox Mostly for client devices, but not limited VMM on demand OS-dependent VMM 18

VM Implementations Full-virtualization No guest OS modification Without HW supports, it is a little tricky More CPU s are adding HW supports Para-virtualization Modify OS for supporting virtualization What if you don t have the OS source code? Better performance Better functionality 19

Hardware Supports Efficient virtualization requires hardware support Goal: minimize performance overhead and modifications to guests Architecture support High-end x86 (Intel VT, AMD SVM) High-end PowerPC (PowerPC 970) Embedded PowerPC virtualization architecture announced ARM virtualization extension 20

21

Full Virtualization x86 Rings in x86 CPU A range of protection levels Ring 0 has the highest level privilege Operating system kernel normally runs. Called system space, kernel mode or supervisor mode. All other code such as applications operate in less privileged rings, typically Ring 3. 22

Rings in Virtualization Traditional systems Operating system runs in privileged mode in Ring 0 and owns the hardware Applications run in Ring 3 with less privileges Virtualized systems VMM runs in privileged mode in Ring 0 Guest OS inside VMs are fooled into thinking they are running in Ring 0 Privileged instructions are trapped and emulated by the VMM Newer CPUs (AMD-V/Intel-VT) use a new privilege level called Ring -1 for the VMM to reside allowing for better performance as the VMM no longer needs to fool the Guest OS that it is running in Ring 0. 23

Para-virtualization - CPU Arch Xen/x86 Critical instructions are replaced with Xen hypercalls Avoid scanning/patching and fault trapping Xen runs in ring 0 Ring 1/2 for guest OS, 3 for user apps. Prevent guest OS from directly executing privileged instructions Jump to Xen in ring 0 by hypercalls Guest OS may install fast trap handler Direct ring user-space to guest OS system calls 24

MMU MMU virtualization : shadow vs. direct Using shadow pages (in VMware) 25

MMU Direct-mode (Xen) Guest OSes allocate and manage own page-tables Hypercall to change page-table base Xen must validate page table update before use Update may be queued and batch processed Validation rules Guest may only map pages it owns Page-table pages may only be mapped read-only 26

MMU Direct-mode (Xen) 27

MMU MMU Performance 1.1 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 L X V U Page fault (µs) L X V U Process fork (µs) lmbench results on Linux (L), Xen (X), VMWare Workstation (V), and UML (U) 28

Nested/Extended Page Tables Hardware-supported MMU virtualization 29

I/O Asynchronous I/O ring 30

I/O Device channel 31

I/O TCP results 32

Xen Architecture FE: front-end, BE: back-end 33

Xen Strengths/Features Rich server features Migration, CPU/memory hotplug, I/O virtualization Secure isolation, QoS control Multiple architecture supports Viable Linux solution RedHat, Novel, XenSource, VirtualIron,... Thin hypervisor Better client support is under development 34

VMware Product Family VMware VI3 ESX ESXi Enterprise Desktop View (formerly VDI) ThinApp ACE Hosted products Workstation Server Fusion Player 35

Bare-metal products ESX & ESXi run on the bare metal (type I) Higher performance: 83-98% Runs on a narrower range of hardware. Used for server consolidation for Data Centers High performance and scalability Many advanced features for resource management, high availability and security Supports more VMs per physical CPU then hosted products do. 36

Hosted Products (type-ii) Workstation/Server/Fusion/Player Requires a host operating system (Windows/Linux/Mac), installs like an application Virtual machines can use all the hardware resources that the host can see Maximum hardware compatibility as the operating system supplies all the hardware device drivers 37

Hosted Products Overhead of a full general-purpose operating system between the virtual machines and the physical hardware results in performance 70-90-% of native 38

VMware, Xen, KVM 40 40

KVM Architecture 41

KVM Strengths/Features Inherits Linux features and HW support Power management SMP scalability and schedulers Developer base Limited Complexity due to VMX dependency 10K lines in drivers/kvm Small enough to be understood by me A guest is a Linux process Native Linux admin tools work Requires a modified QEMU 42