Xen on ARM. Stefano Stabellini

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

Xen on ARM ARMv7 with virtualization extensions

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

Xen. past, present and future. Stefano Stabellini

Heterogeneous Real-Time SoC Software Architecture

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

The only open-source type-1 hypervisor

Real Safe Times in the Jailhouse Hypervisor Unrestricted Siemens AG All rights reserved

Prof. Daniel Rossier, PhD

Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo

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

Xen is not just paravirtualization

Support for Smart NICs. Ian Pratt

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

Introduction to Oracle VM (Xen) Networking

Transforming XenServer into a proper open-source project

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

UEFI ARM Update. UEFI PlugFest March 18-22, 2013 Andrew N. Sloss (ARM, Inc.) presented by

HW isolation for automotive environment BoF

ARM-KVM: Weather Report Korea Linux Forum

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

DOUG GOLDSTEIN STAR LAB XEN SUMMIT AUG 2016 ATTACK SURFACE REDUCTION

The Price of Safety: Evaluating IOMMU Performance

Linux Virtualization Update

Rethinking Machine Types

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

CSE543 - Computer and Network Security Module: Virtualization

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

Scheduling in Xen: Present and Near Future

KVM/ARM. Marc Zyngier LPC 12

64-bit ARM Unikernels on ukvm

Hypervisors on ARM Overview and Design choices

SCSI support improvement

libvirt integration and testing for enterprise KVM/ARM Drew Jones, Eric Auger Linaro Connect Budapest 2017 (BUD17)

OpenXT Project in 2016

Hardware assisted Virtualization in Embedded

Xen VGA passthrough. 1.1 VGA passthrough. 1 Introduction. 2 Xen architecture. 2.1 Structure

CSE543 - Computer and Network Security Module: Virtualization

Hostless Xen Deployment

ARMv8 port of the Jailhouse hypervisor

SCALE 14X. The Bare-Metal Hypervisor as a Platform for Innovation. By Russell Pavlicek Xen Project Evangelist

My VM is Lighter (and Safer) than your Container

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

Security and Performance Benefits of Virtualization

Virtual Machine Security

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

Xenwatch Multithreading

Xen Project Status Ian Pratt 12/3/07 1

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

ACRN: A Big Little Hypervisor for IoT Development

I/O and virtualization

How to abstract hardware acceleration device in cloud environment. Maciej Grochowski Intel DCG Ireland

Nested Virtualization and Server Consolidation

Xen Network I/O Performance Analysis and Opportunities for Improvement

Netchannel 2: Optimizing Network Performance

Zdeněk Kubala Senior QA

Silver Bullet of Virtualization. Challenges and Concerns. May 27, 2013 v1.0

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

Red Hat Enterprise Virtualization Hypervisor Roadmap. Bhavna Sarathy Senior Technology Product Manager, Red Hat

Xen Project Overview and Update. Ian Pratt, Chairman of Xen.org, and Chief Scientist, Citrix Systems Inc.

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

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Originally prepared by Lehigh graduate Greg Bosch; last modified April 2016 by B. Davison

GRNET Cloud Services

Virtualization, Xen and Denali

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

Operating Systems 4/27/2015

Module 1: Virtualization. Types of Interfaces

Tooling Linux for the Future of Embedded Systems. Patrick Quairoli Director of Alliance and Embedded Technology SUSE /

Porting bhyve on ARM. Mihai Carabas, Peter Grehan BSDCan 2016 University of Ottawa Ottawa, Canada June 10 11, 2016

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

LINUX Virtualization. Running other code under LINUX

EC H2020 dredbox: Seminar School at INSA Rennes

Xenoprof overview & Networking Performance Analysis

Serenity Virtual Station 2004

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

Virtualization Overview NSRC

Device Passthrough to Driver Domain in Xen

Cloud Computing Virtualization

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

Pre-virtualization internals

Operating System Security

Virtualization Introduction

Xen Summit Spring 2007

double split driver model

DPDK Roadmap. Tim O Driscoll & Chris Wright Open Networking Summit 2017

10 Steps to Virtualization

Devicetree Specification

Live Migration with Mdev Device

Virtual Leverage: Server Consolidation in Open Source Environments. Margaret Lewis Commercial Software Strategist AMD

SUSE Linux Enterprise Server: Supported Virtualization Technologies

Virtualisation: The KVM Way. Amit Shah

Chapter 5 C. Virtual machines

Porting Linux to a new SoC

KVM on Embedded Power Architecture Platforms

KVM on POWER Status update & IO Architecture

Unit 2. VMMs and hypervisors 2966-Network and Services Virtualisation First semester Assistant professor: Katja Gilly Departament: Physics

Measuring Disk Performance with Bonnie++ Application Benchmarks httperf: A Load Generator for HTTP Servers Another Application Benchmark: POV-Ray

CSE543 - Computer and Network Security Module: Virtualization

A Big Little Hypervisor for IoT Development February 2018

Transcription:

Xen on ARM Stefano Stabellini

What is Xen? a type-1 hypervisor small footprint (less than 90K LOC)

Xen: Open Source GPLv2 with DCO (like Linux) Diverse contributor community

Xen: Open Source source: Mike Day http://code.ncultra.org

Xen: the gears of the cloud large user base more than 10 million individuals users power the largest clouds in production not just for servers

Xen Architecture Dom0 DomU DomU DomU PV backends PV Frontends PV Frontends PV Frontends HW drivers Xen Hardware

Xen Architecture: driver domains Dom0 Disk Driver Domain Network Driver Domain DomU BlockBack NetBack BlockFront Toolstack Disk Driver Network Driver NetFront Xen Hardware

Xen Architecture: driver domains disaggregation and componentization security and isolation resilience hardware vendors can run their drivers in separate VMs could run in a RTOS environment hidden from the user media codecs, crypto keys, etc.

Xen on ARM: not just a port a lean and simple architecture removed cruft accumulated during the years no emulation, no QEMU use PV drivers for IO as early as possible one type of guest exploit the hardware as much as possible a very good match for the hardware clean architecture = small code base

Xen on ARM architecture

Xen on ARM architecture

Code size sometimes smaller is better Common ARMv7 ARMv8 Total xen/arch/arm 5,122 1,969 821 7,912 C 5,023 406 344 5,773 ASM 99 1,563 477 2,139 xen/include/asm-arm 2,315 563 666 3,544 TOTAL 7,437 2,532 1,487 11,456 X86_64-bit: ~120,000LOC (~4,000 ASM) ARM code ~= 1/10 x86_64 code

Achievements of one year Xen support for ARM upstream in Linux 3.7 Xen 64-bit on ARM64 Xen support for ARM64 upstream in Linux 3.11 11/11 08/12 09/12 11/12 01/13 03/13 06/13 07/13 You are here Part-time Xen ARM hacking starts Xen running on real ARM hardware Citrix announces that will be joining Linaro Xen 4.3 released with ARM and ARM64 support First Xen on ARM talk at Xen Summit 2012

A growing community Xen-devel ARM traffic from August 2012: 4685 emails: 360 emails per month! 39% of which are not from Citrix

Hardware support Upstream: Versatile Express Cortex A15 Arndale board ARMv8 FVP In progress: Cubieboard2 Calxeda Midway Applied Micro Mustang Broadcom Brahma-B15 OMAP5

Porting Xen to a new board Xen only relies on GIC and GT platform specific code in Xen is reduced to: secondary cpus bring up UART drivers any platform specific bootup quirks (ideally none)

Upstream features Xen v4.3: basic lifecycle operations memory ballooning scheduler configurations and vcpu pinning Linux v3.11: dom0 and domu support 32-bit and 64-bit support SMP support PV disk, network and console

Android on Xen on ARM Android is based on the Linux kernel Jelly Bean uses Linux 3.4, when it updates to 3.7 will get Xen on ARM support out of the box Additional work needed to support client devices (compass, GPS, etc.) on multiple VMs easy to export 1 device to 1 VM otherwise each type of device needs a PV drivers pair

PV Protocols Backend Request Producer Frontend Request Consumer Response Consumer Response Producer

PV Protocols shared ring protocol software interrupts AKA event channels consensual memory sharing: grant table easy to write plenty of examples network, block, console, PCI, keyboard, mouse, framebuffer, sound, SCSI, USB,

Porting other OSes to Xen on ARM No invasive modifications needed only some new drivers: grant table, xenbus and event channels PV drivers for network, block, console, etc. BSD drivers already exist in NetBSD and FreeBSD, can they be reused? FreeBSD port to Xen on ARM in progress

Coming in Xen 4.4 64-bit guest support live-migration SWIOTLB

A look into the future IOMMU support in Xen device assignment UEFI booting ACPI support

Xen for automotive: why? type-1 small footprint small codebase no QEMU, no emulation driver domains / service VMs componentization security support for legacy drivers supports Linux out of the box easy to port other OSes to Xen on ARM

More Information http://www.xenproject.org Xen on ARM @wiki.xenproject.org goo. gl/fknxe http://lists.xen.org/mailman/listinfo/xen-devel

Questions?