Xen. past, present and future. Stefano Stabellini

Similar documents
Xen on ARM. How fast is it, really? Stefano Stabellini. 18 August 2014

Xen on ARM. Stefano Stabellini

Xen is not just paravirtualization

Xen on ARM ARMv7 with virtualization extensions

Transforming XenServer into a proper open-source project

Linux Virtualization Update

SFO17-403: Optimizing the Design and Implementation of KVM/ARM

To EL2, and Beyond! connect.linaro.org. Optimizing the Design and Implementation of KVM/ARM

Virtualization with XEN. Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California

Nested Virtualization Update From Intel. Xiantao Zhang, Eddie Dong Intel Corporation

Interrupt Coalescing in Xen

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

The only open-source type-1 hypervisor

Xen VT status and TODO lists for Xen-summit. Arun Sharma, Asit Mallick, Jun Nakajima, Sunil Saxena

Data Center Virtualization: Xen and Xen-blanket

Virtualization in the Cloud Lars Kurth Xen Community Manager

Performance Evaluation of Live Migration based on Xen ARM PVH for Energy-efficient ARM Server

Xen Summit Spring 2007

My VM is Lighter (and Safer) than your Container

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

Xenrelay: An Efficient Data Transmitting Approach for Tracing Guest Domain

Optimizing and Enhancing VM for the Cloud Computing Era. 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong

Introduction to Oracle VM (Xen) Networking

Towards a configurable and slimmer x86 hypervisor

Using Xen For Router Virtualisation

Index. 3D support, 257. Boot firmware, 47 Boot trampoline, 40 Booting, 27 Borrowed virtual time scheduler, 219 Breakpoints, , 27

ARM Virtualization: Performance and Architectural Implications. Christoffer Dall, Shih-Wei Li, Jin Tack Lim, Jason Nieh, and Georgios Koloventzos

Scheduling in Xen: Present and Near Future

Fairness Issues in Software Virtual Routers

Virtualization in the Cloud: Featuring Xen Lars Kurth Xen Community Manager

Tackling the Management Challenges of Server Consolidation on Multi-core System

I/O and virtualization

Keeping up with the hardware

SUSE An introduction...

XEN and KVM in INFN production systems and a comparison between them. Riccardo Veraldi Andrea Chierici INFN - CNAF HEPiX Spring 2009

Virtualization Introduction

The Price of Safety: Evaluating IOMMU Performance

Making Nested Virtualization Real by Using Hardware Virtualization Features

Xen Network I/O Performance Analysis and Opportunities for Improvement

Hostless Xen Deployment

1 Virtualization Recap

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Nested Virtualization and Server Consolidation

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

Xen and the Art of Virtualiza2on

Nested Virtualization on ARM

Virtualization, Xen and Denali

KVM Weather Report. Red Hat Author Gleb Natapov May 29, 2013

Support for Smart NICs. Ian Pratt

viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017

Virtualisation: The KVM Way. Amit Shah

CSC 5930/9010 Cloud S & P: Virtualization

Chapter 5 C. Virtual machines

Advanced Exploitation: Xen Hypervisor VM Escape

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

Xen/paravirt_ops upstreaming Jeremy Fitzhardinge XenSource 04/18/07

Module 1: Virtualization. Types of Interfaces

Multi-Hypervisor Virtual Machines: Enabling An Ecosystem of Hypervisor-level Services

Vendor: Oracle. Exam Code: 1Z Exam Name: oracle VM 2 for x86 Essentials. Version: Demo

VT-d Posted Interrupts. Feng Wu, Jun Nakajima <Speaker> Intel Corporation

Virtualization Food Fight. Rik van Riel

Shadow2. Xen Technical Summit, Summer Tim Deegan (XenSource) & Michael Fetterman (U of Cambridge, Intel) Guilty parties:

Virtual Machine Security

DOUG GOLDSTEIN STAR LAB XEN SUMMIT AUG 2016 ATTACK SURFACE REDUCTION

The Convergence of Storage and Server Virtualization Solarflare Communications, Inc.

Hardware assisted Virtualization in Embedded

New Approach to OVS Datapath Performance. Founder of CloudNetEngine Jun Xiao

Xenwatch Multithreading

Xenoprof overview & Networking Performance Analysis

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System

A Userspace Packet Switch for Virtual Machines

Comprehensive Kernel Instrumentation via Dynamic Binary Translation

SUSE Linux Enterprise Server: Supported Virtualization Technologies

Advanced Operating Systems (CS 202) Virtualization

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

FOSDEM 2019

64-bit ARM Unikernels on ukvm

CS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II

viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017

SR-IOV support in Xen. Yaozu (Eddie) Dong Yunhong Jiang Kun (Kevin) Tian

Virtualized SISCI. Extending Virtual Machines With a Shared Memory API Utilizing PCIe Networking. Halvor Kielland-Gyrud Master s Thesis Spring 2017

Re-architecting Virtualization in Heterogeneous Multicore Systems

Intel Virtualization Technology Roadmap and VT-d Support in Xen

Benchmark Tests of Asterisk as a B2BUA

CHAPTER 16 - VIRTUAL MACHINES

Netchannel 2: Optimizing Network Performance

Virtualization and Performance

Changpeng Liu. Senior Storage Software Engineer. Intel Data Center Group

Nested Virtualizationon ARM

Virtualization Guide. opensuse Leap 42.2

Xen Project Status Ian Pratt 12/3/07 1

Lecture 5: February 3

Painless switch from proprietary hypervisor to QEMU/KVM. Denis V. Lunev

F5 BIG-IQ Centralized Management and Linux Xen Project: Setup. Version 5.0

Unleashing the Power of Unikernels with Unikraft

Xen Community Update. Ian Pratt, Citrix Systems and Chairman of Xen.org

Enabling Fast, Dynamic Network Processing with ClickOS

KVM Weather Report. Amit Shah SCALE 14x

Development of I/O Pass-through: Current Status & the Future. Nov 21, 2008 Yuji Shimada NEC System Technologies, Ltd.

CSE543 - Computer and Network Security Module: Virtualization

Transcription:

Xen past, present and future Stefano Stabellini

Xen architecture: PV domains

Xen arch: driver domains

Xen: advantages - small surface of attack - isolation - resilience - specialized algorithms (scheduler)

Xen and the Linux kernel Xen was initially a university research project invasive changes to the kernel to run Linux as a PV guest even more changes to run Linux as dom0

Xen and the Linux kernel Xen support in the Linux kernel not upstream Great maintance effort on distributions Risk of distributions dropping Xen support

Xen and the Linux kernel - PV support went in Linux 2.6.26 - basic Dom0 support went in Linux 2.6.37 - Netback went in Linux 2.6.39 - Blkback went in Linux 3.0.0 A single 3.0.0 Linux kernel image boots on native, on Xen as domu, as dom0 and PV on HVM guest

Xen and Linux distributions 2010 - Fedora and Ubuntu dropped Xen support from their Linux kernels - Debian, Suse, Gentoo still provide Xen kernels - XenServer went Open Source with XCP Present - Fedora and Ubuntu are adding Xen support back in kernel in the next releases

Xen architecture: HVM domains

Xen architecture: stubdoms

Xen and Qemu - initially forked in 2005 - updated once every few releases - Xen support went in upstream Qemu at the beginning of 2011 - Upstream Qemu is going to be used as device model with Xen 4.2

New developments: Libxenlight Multiple toolstacks: - Xend, Xapi, XenVM, LibVirt, - code duplications, inefficiencies, bugs, wasted efforts Xend: - difficult to understand, modify and extend - significant memory footprint

Libxenlight What is Libxenlight: - a small lower level library in C - simple to understand - easy to modify and extend Goals: - provide a simple and robust API for toolstacks - create a common codebase to do Xen operations

XL - the unit testing tool for libxenlight - feature complete - a minimal toolstack - compatible with xm Do more with less!

XL: design principles - smallest possible toolstack on top of libxenlight - stateless CLI XL libxenlight EXIT

XL vs. Xend XL: pros - very small and easy to read - well tested - compatible with xm Xend: pros - provide XML RPC interface - provide managed domains

Libxenlight: the new world

Linux PV on HVM paravirtualized interfaces in HVM guests

Linux as a guests: problems Linux PV guests have limitations: - difficult different to install - limited set of virtual hardware Linux HVM guests: - install the same way as native - very slow

Linux PV on HVM: the solution - install the same way as native - PC-like hardware - access to fast paravirtualized devices - exploit nested paging

Linux PV on HVM: initial feats Initial version in Linux 2.6.36: - introduce the xen platform device driver - add support for HVM hypercalls, xenbus and grant table - enables blkfront, netfront and PV timers - add support to PV suspend/resume - the vector callback mechanism

Old style event injection

Receiving an interrupt do_irq handle_fasteoi_irq handle_irq_event xen_evtchn_do_upcall ack_apic_level >=3 VMEXIT

The new vector callback

Receiving a vector callback xen_evtchn_do_upcall

Linux PV on HVM: newer feats Later enhancements (2.6.37+): - ballooning - PV spinlocks - PV IPIs - Interrupt remapping onto event channels - MSI remapping onto event channels

Interrupt remapping

MSI remapping

PV spectrum ot quence HVM guests Classic PV on HVM Enhanced PV on HVM Hybrid PV on HVM PV guests emulated emulated emulated paravirtualize emory hardware hardware hardware paravirtualize errupts emulated emulated paravirtualized paravirtualize mers emulated emulated paravirtualized paravirtualize inlocks emulated emulated paravirtualized paravirtualize sk emulated paravirtualized paravirtualized paravirtualize etwork emulated paravirtualized paravirtualized paravirtualize vileged erations hardware hardware hardware paravirtualize

Benchmarks: the setup Hardware setup: Dell PowerEdge R710 CPU: dual Intel Xeon E5520 quad core CPUs @ 2.27GHz RAM: 22GB Software setup: Xen 4.1, 64 bit Dom0 Linux 2.6.32, 64 bit DomU Linux 3.0 rc4, 8GB of memory, 8 vcpus

PCI passthrough: benchmark PCI passthrough of an Intel Gigabit NIC CPU usage: the lower the better: 200 180 160 140 120 100 80 CPU usage domu CPU usage dom0 60 40 20 0 interrupt remapping no interrupt remapping

140 135 130 125 120 115 110 105 100 95 90 Kernbench Results: percentage of native, the lower the better PV on HVM 64 bit PV on HVM 32 bit HVM 64 bit HVM 32 bit PV 64 bit PV 32 bit

160 150 140 130 120 110 100 PBZIP2 Results: percentage of native, the lower the better PV on HVM 64 bit PV 64 bit PV on HVM 32 bit PV 32 bit

100 90 80 70 60 50 40 30 20 10 0 SPECjbb2005 Results: percentage of native, the higher the better PV 64 bit PV on HVM 64 bit

8 7 6 5 4 3 2 1 0 Iperf tcp Results: gbit/sec, the higher the better PV 64 bit PV on HVM 64 bit PV on HVM 32 bit PV 32 bit HVM 64 bit HVM 32 bit

Conclusions PV on HVM guests are very close to PV guests in benchmarks that favor PV MMUs PV on HVM guests are far ahead of PV guests in benchmarks that favor nested paging

Questions?