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

Similar documents
kvm: Kernel-based Virtual Machine for Linux

Using Linux as Hypervisor with KVM

Full and Para Virtualization

Virtualization. Pradipta De

Architecture of the Kernel-based Virtual Machine (KVM)

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Machines.

kvm: the Linux Virtual Machine Monitor

KVM KERNEL BASED VIRTUAL MACHINE

Advanced Computer Networks. Network I/O Virtualization

KVM: Kernel-based Virtualization Driver

Virtual Machines. Virtualization

Virtualization. Dr. Yingwu Zhu

12. Introduction to Virtual Machines

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

Chapter 5 Cloud Resource Virtualization

Networked I/O for Virtual Machines

Hybrid Virtualization The Next Generation of XenLinux

Virtual Machine Security

Virtualization. Jia Rao Assistant Professor in CS

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

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

Basics of Virtualisation

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

The Xen of Virtualization

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

RED HAT ENTERPRISE VIRTUALIZATION

Virtual machines and operating systems

RUNNING vtvax FOR WINDOWS

Performance tuning Xen

Enabling Technologies for Distributed Computing

Nested Virtualization

Virtualization. Types of Interfaces

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

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

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

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

The MIPS architecture and virtualization

Enterprise-Class Virtualization with Open Source Technologies

Virtualization with Windows

Cloud Computing CS

Beyond the Hypervisor

Xen and the Art of. Virtualization. Ian Pratt

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

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

Enabling Technologies for Distributed and Cloud Computing

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

KVM in Embedded Requirements, Experiences, Open Challenges

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

Running vtserver in a Virtual Machine Environment. Technical Note by AVTware

2972 Linux Options and Best Practices for Scaleup Virtualization

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

Cloud Operating Systems for Servers

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

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: COMPETITIVE FEATURES

Virtualization for Cloud Computing

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

Hypervisors and Virtual Machines

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

Data Centers and Cloud Computing

VMkit A lightweight hypervisor library for Barrelfish

RED HAT ENTERPRISE VIRTUALIZATION & CLOUD COMPUTING

IOS110. Virtualization 5/27/2014 1

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

YOUR STRATEGIC VIRTUALIZATION ALTERNATIVE. Greg Lissy Director, Red Hat Virtualization Business. James Rankin Senior Solutions Architect

Virtualization Technology. Zhiming Shen

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

Virtualization Technologies

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

Nested Virtualization

Virtual Machines. COMP 3361: Operating Systems I Winter

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

Networking for Caribbean Development

Intro to Virtualization

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Virtual Switching Without a Hypervisor for a More Secure Cloud

Panoramica su Cloud Computing targata Red Hat AIPSI Meeting 2010

KVM Security Comparison

Virtualization: Know your options on Ubuntu. Nick Barcet. Ubuntu Server Product Manager

Distributed Systems. Virtualization. Paul Krzyzanowski

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

Virtualization. Jukka K. Nurminen

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

Virtual Private Systems for FreeBSD

COS 318: Operating Systems. Virtual Machine Monitors

VMware Server 2.0 Essentials. Virtualization Deployment and Management

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

<Insert Picture Here> Introducing Oracle VM: Oracle s Virtualization Product Strategy

The QEMU/KVM Hypervisor

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

Introduction to Virtualization & KVM

Red Hat Enterprise Virtualization 3.0 Live Chat Transcript Sponsored by Red Hat

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

INFO5010 Advanced Topics in IT: Cloud Computing

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

Cloud Computing with Red Hat Solutions. Sivaram Shunmugam Red Hat Asia Pacific Pte Ltd.

Transcription:

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

Virtualization Simulation of computer system in software Components Processor: register state, instructions, exceptions Memory Management: paging, protection, tlb I/O: Networking, storage, human interface Performance and fidelity are critical 2

Uses Server consolidation Testing, R&D Virtual Desktops

Virtualization basics Trap changes to privileged state Guest cannot access hardware Hide privileged state Guest cannot detect that the host is changing things behind its back Example: interrupt enable flag 4

A Look Back VMWare Just-in-time compilation of binaries Xen Paravirtualized guests

Virtualization Simulation of computer system in software Components Processor Management Memory Management IO Management Difference from emulation is emphasis on near-native performance 6

The KVM approach Reuse Linux code as much as possible Focus on virtualization, leave other things to respective developers Integrate well into existing infrastructure, codebase, and mindset

kvm process model task task guest task task guest kernel 8

KVM process model (cont'd) Guests are scheduled as regular processes Guests are processes that can execute in three modes: user mode, kernel mode, and guest mode kill(1), top(1) work as expected Guest physical memory is mapped into the task's virtual memory space Virtual processors in a VM are threads in the host process 9

KVM Execution Model Userspace Kernel Guest ioctl() Switch to Guest Mode Lightweight Exit Native Guest Execution Kernel exit handler Userspace exit handler 10

What's handled in the kernel? CPU virtualization (special instructions) MMU virtualization Local APIC, PIC, and IOAPIC (planned) paravirtualized network and block device (planned) paravirtualized guest kernel support code 11

KVM Initial Design Parameters x86 only Focus on full virtualization Zero modifications to host kernels 12

We were wrong! Support for new architectures is underway s390: the big daddy of virtualization PowerPC: for embedded/consumer electronics ia64: large machines Paravirtualization support Improves performance, timing accuracy Modifications to host to improve scheduling, add swapping 13

Oh yes, swapping KVM can swap guest memory Needed for untrusted guests Enables mmu games like page migration needed for good NUMA support

KVM is a full-spectrum hypervisor Servers Desktops/laptops Small/embedded boards Really large machines

KVM on servers Same management tools and infrastructure as Linux Supports virtual machines and regular processes side-by-side Useful for real-time server processing workloads Uses the Linux scheduler and I/O stack Live migration Integrates with cluster filesystems

KVM on desktops/laptops Will boot on anything Linux boots Normal desktop doesn't change Excellent power management Suspend/resume while virtual machines are running Swap idle VMs when not in use Passthrough devices USB PCI (planned)

KVM for embedded Board support is in Linux already Can make footprint as small as needed Real-time scheduling support

KVM and big iron Leverage many years of Linux scalability work NUMA Page migration Linux already supports 4096-processor machines Competitors can only dream of this

Paravirtualized device drivers virtio Common drivers for all hypervisors Hypervisor-specific backend KVM backend is in progress

Release philosophy Development snapshots every 1-2 weeks Release early and often Features introduces quickly Bugs fixed quickly Bugs added quickly... Allows developers and users to track and test the latest and greatest Stable releases part of Linux 2.6.x With bugfixes going into Linux 2.6.x.y

Differences between Xen and KVM No dom0 Removes scaling bottleneck Removes priority inversion problem Interrupts handled directly by host Xen requires the scheduler to dispatch interrupts Uses the Linux bootstrap Bringing up KVM on a new machine is trivial Uses well-known Linux environment Rich kernel APIs Large developer base

Status & plans Status Many supported guests Good cpu/mmu performance Good host scaling Plans Add more paravirtualization (both cpu and I/O) Improve guest scaling Add more hardware support (architectures, hardware features) Improve swapping

KVM pros Leverages Linux scheduler, memory management, I/O No scheduler involvement for I/O Uses existing Linux security model (can run VM as ordinary user) Uses existing management tools Power management Guest memory swapping Real-time scheduling Leverages Linux development momentum

Thank You