Networked I/O for Virtual Machines



Similar documents
How To Make A Minecraft Iommus Work On A Linux Kernel (Virtual) With A Virtual Machine (Virtual Machine) And A Powerpoint (Virtual Powerpoint) (Virtual Memory) (Iommu) (Vm) (

The Price of Safety: Evaluating IOMMU Performance Preliminary Results

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

Toward Exitless and Efficient Paravirtual I/O

Advanced Computer Networks. Network I/O Virtualization

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

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization. Pradipta De

Bare-Metal Performance for x86 Virtualization

Virtual Machines. Virtualization

Cloud Computing #6 - Virtualization

Masters Project Proposal

Full and Para Virtualization

Machine Virtualization: Efficient Hypervisors, Stealthy Malware

Virtualization for Future Internet

kvm: Kernel-based Virtual Machine for Linux

Virtualization Technology. Zhiming Shen

ELI: Bare-Metal Performance for I/O Virtualization

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

ELI: Bare-Metal Performance for I/O Virtualization

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

The Turtles Project: Design and Implementation of Nested Virtualization

Virtualization. Types of Interfaces

Virtual Switching Without a Hypervisor for a More Secure Cloud

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

Virtualization. Dr. Yingwu Zhu

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

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

IOS110. Virtualization 5/27/2014 1

Virtualization. Jia Rao Assistant Professor in CS

Virtual Machines. COMP 3361: Operating Systems I Winter

Introduction to Virtual Machines

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

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

kvm: the Linux Virtual Machine Monitor

Enabling Intel Virtualization Technology Features and Benefits

KVM KERNEL BASED VIRTUAL MACHINE

COM 444 Cloud Computing

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

SR-IOV Networking in Xen: Architecture, Design and Implementation Yaozu Dong, Zhao Yu and Greg Rose

RUNNING vtvax FOR WINDOWS

Chapter 5 Cloud Resource Virtualization

Using IOMMUs for Virtualization in Linux

Virtualization: Concepts, Applications, and Performance Modeling

The MIPS architecture and virtualization

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

Distributed and Cloud Computing

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

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

Knut Omang Ifi/Oracle 19 Oct, 2015

Resource usage monitoring for KVM based virtual machines

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Hypervisors and Virtual Machines

Nested Virtualization

nanohub.org An Overview of Virtualization Techniques

Virtualization for Cloud Computing

Virtualization Technologies (ENCS 691K Chapter 3)

Enabling Technologies for Distributed Computing

Using Linux as Hypervisor with KVM

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

36 January/February 2008 ACM QUEUE rants:

KVM Virtualized I/O Performance

Network Interface Virtualization: Challenges and Solutions

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

Virtualization Technologies

COS 318: Operating Systems. Virtual Machine Monitors

The Xen of Virtualization

Installing & Using KVM with Virtual Machine Manager COSC 495

Virtualization. Jukka K. Nurminen

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Infrastructure as a Service (IaaS)

Virtual Machine Security

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

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

KVM on S390x. Revolutionizing the Mainframe

Enabling Technologies for Distributed and Cloud Computing

Networking for Caribbean Development

Leveraging Thin Hypervisors for Security on Embedded Systems

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

Toward a practical HPC Cloud : Performance tuning of a virtualized HPC cluster

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

How To Create A Cloud Based System For Aaas (Networking)

VON/K: A Fast Virtual Overlay Network Embedded in KVM Hypervisor for High Performance Computing

Cloud Computing CS

A B S T R A C T I. INTRODUCTION

12. Introduction to Virtual Machines

Performance Comparison of VMware and Xen Hypervisor on Guest OS

Xen and the Art of Virtualization

Clouds Under the Covers. Elgazzar - CISC Fall

High Performance VMM-Bypass I/O in Virtual Machines

Beyond the Hypervisor

Intel Virtualization Technology Overview Yu Ke

OS Virtualization Frank Hofmann

High-performance vnic framework for hypervisor-based NFV with userspace vswitch Yoshihiro Nakajima, Hitoshi Masutani, Hirokazu Takahashi NTT Labs.

Bridging the Gap between Software and Hardware Techniques for I/O Virtualization

Virtual machines and operating systems

Virtual Software Routers: A Performance and Migration Study

Servervirualisierung mit Citrix XenServer

Virtual Machines.

Transcription:

Networked I/O for Virtual Machines Approaches and Challenges Muli Ben-Yehuda, Ben-Ami Yassour, Orit Wasserman {muli,benami,oritw}@il.ibm.com IBM Haifa Research Lab Networked I/O for Virtual Machines p. 1/17

Table of Contents Virtualization Networked I/O for virtual machines Approaches Pass-through device access IOMMUs Challenges Networked I/O for Virtual Machines p. 2/17

Virtualization For foundations, see [Popek74]. This talk deals mainly with the open-source hypervisors Xen [Barham03] and KVM [Kivity07]. Networked I/O for Virtual Machines p. 3/17

Network I/O is tough High packet rate (1GE 10GE) Data must often be copied on receive High bandwidth, high throughput, low latency Figure 1: Xen network CPU utilization vs. Linux [Santos07] Networked I/O for Virtual Machines p. 4/17

Virtual Machine I/O Virtual machines use three models for I/O Emulation Para-virtualized drivers Pass-through access Networked I/O for Virtual Machines p. 5/17

Emulation Hypervisor emulates real I/O devices [Sugerman01] Virtual machine uses its standard drivers Hypervisor traps device accesses (MMIO, PIO) Hypervisor emulates interrupts and DMA Interface limited to low-level, real device interface! Which is not a good fit for software emulation = High compatibility but low performance. Networked I/O for Virtual Machines p. 6/17

Para-virtualization Hypervisor and VM cooperate for more efficient I/O [Barham03] Hypervisor specific drivers installed in the VM Network device level or higher up the stack = Low compatibility but better performance [Santos08]. Networked I/O for Virtual Machines p. 7/17

Pass-through Give VM direct access to a hardware device Without any software intermediaries between the virtual machine and the device Examples: Legacy adapters [Ben-Yehuda06] Self-virtualizing adapters [Liu06], [Willman07] = Best performance but at a price.. Networked I/O for Virtual Machines p. 8/17

Pass-through security Untrusted VM programs a device, without any supervision. Device is DMA capable (all modern devices are). Which means the domain can program the device to overwrite any memory location.... including where the hypervisor lives... game over. Networked I/O for Virtual Machines p. 9/17

Pass-through memory addressing VM is not aware of host physical memory. VM is only aware of its own guest physical memory. Device DMAs need to end at the right place (host, not guest physical memory). VM programs device with guest physical addresses DMAs end up at the wrong place! Networked I/O for Virtual Machines p. 10/17

IOMMU to the rescue IOMMU think MMU for I/O devices separate address spaces, protection from malicious devices! IOMMUs enable pass-through access for para-virtualized and fully-virtualized VMs. Intra-VM vs. Inter-VM protection [Willman08] But: IOMMUs have costs too [Ben-Yehuda07] Networked I/O for Virtual Machines p. 11/17

Pass-through network throughput Msg size < 1024: throughput as much as 45% less. Msg size >= 1024: throughput barely affected. Networked I/O for Virtual Machines p. 12/17

Pass-through network CPU utilization Pass-through CPU utilization is up to 40% 60% more! Networked I/O for Virtual Machines p. 13/17

Live VM migration host a host b VM Networked I/O for Virtual Machines p. 14/17

Tying it all together How can we get the same performance as bare metal? Throughput and CPU utilization... on 10GbE How can we get the performance of bare-metal with the benefits of virtual drivers? (e.g., live migration) A hybrid approach? [Willman07] Custom-made devices? [Liu07] Networked I/O for Virtual Machines p. 15/17

Bibliography Barham03: Xen and the Art of Virtualization, SOSP 03 Ben-Yehuda06: Utilizing IOMMUs for Virtualization in Linux and Xen, OLS 06 Ben-Yehuda07: The Price of Safety: Evaluating IOMMU Performance, OLS 07 Liu06: High Performance VMM-Bypass I/O in Virtual Machines, USENIX 06 Liu07: Nomad: migrating OS-bypass networks in virtual machines, VEE 07 Kivity07: kvm: The Kernel-Based Virtual Machine for Linux, OLS 07 Networked I/O for Virtual Machines p. 16/17

Bibliography cont. Popek74: Formal Requirements for Virtualizable Third Generation Architectures, CACM 17(7), 74 Santos08: Bridging the Gap between Software and Hardware Techniques for I/O Virtualization, USENIX 08 Sugerman01: Virtualizing I/O Devices on VMware Workstation s Hosted Virtual Machine Monitor, USENIX 01 Willman07: Concurrent Direct Network Access for Virtual Machine Monitors, HPCA 07 Willman08: Protection Strategies for Direct Access to Virtualized I/O Devices, USENIX 08 Networked I/O for Virtual Machines p. 17/17