Deflating the hype: Embedded Virtualization in 3 steps

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

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Virtualization. Michael Tsai 2018/4/16

The Price of Safety: Evaluating IOMMU Performance

Virtualizaton: One Size Does Not Fit All. Nedeljko Miljevic Product Manager, Automotive Solutions MontaVista Software

Server Virtualization Approaches

Virtualization. Pradipta De

Real-Time KVM for the Masses Unrestricted Siemens AG All rights reserved

CS370 Operating Systems

1 Virtualization Recap

Chapter 5 C. Virtual machines

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

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

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

CSE543 - Computer and Network Security Module: Virtualization

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

references Virtualization services Topics Virtualization

LINUX AND REALTIME 1

Performance Considerations of Network Functions Virtualization using Containers

CLOUD COMPUTING IT0530. G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University

Container Adoption for NFV Challenges & Opportunities. Sriram Natarajan, T-Labs Silicon Valley Innovation Center

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

CSE543 - Computer and Network Security Module: Virtualization

The failure of Operating Systems,

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

Nested Virtualization and Server Consolidation

Module 1: Virtualization. Types of Interfaces

Real Time Linux patches: history and usage

CSC 5930/9010 Cloud S & P: Virtualization

Chapter 3 Virtualization Model for Cloud Computing Environment

Hypervisors on ARM Overview and Design choices

Virtual Machine Security

10 Steps to Virtualization

Virtualization Overview NSRC

An overview of virtual machine architecture

Micro VMMs and Nested Virtualization

Lecture 09: VMs and VCS head in the clouds

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

Using MySQL in a Virtualized Environment. Scott Seighman Systems Engineer Sun Microsystems

CSE543 - Computer and Network Security Module: Virtualization

Performance of Kernels in Virtual Machines: An Introduction to KVM Hypervisor

EC H2020 dredbox: Seminar School at INSA Rennes

EECS 750: Advanced Operating Systems. 01/29 /2014 Heechul Yun

Multiprocessor Scheduling. Multiprocessor Scheduling

KVM on Embedded Power Architecture Platforms

Fast packet processing in the cloud. Dániel Géhberger Ericsson Research

A unified multicore programming model

Operating-System Structures

Knut Omang Ifi/Oracle 6 Nov, 2017

Supporting Time-sensitive Applications on a Commodity OS

Linux in ambito industriale, real-time, hypervisors e boot veloce

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

Performance & Scalability Testing in Virtual Environment Hemant Gaidhani, Senior Technical Marketing Manager, VMware

System Virtual Machines

Virtualization (II) SPD Course 17/03/2010 Massimo Coppola

Multicore Challenges and Choices: Deciding Which Solution Is Right for You

Xen Summit Spring 2007

Hypervisor Market Overview. Franz Walkembach. for GENIVI AMM, April 19 th, 2018 (Munich) SYSGO AG Public

Advanced Systems Security: Virtual Machine Systems

Advanced Cloud Infrastructures

Hardware assisted Virtualization in Embedded

Automatic NUMA Balancing. Rik van Riel, Principal Software Engineer, Red Hat Vinod Chegu, Master Technologist, HP

Dynamic Translator-Based Virtualization

VALE: a switched ethernet for virtual machines

EE 660: Computer Architecture Cloud Architecture: Virtualization

Security and Performance Benefits of Virtualization

Xen and the Art of Virtualization

Migrating Unicore Network Packet Processing Applications to Multicore

Comprehensive Kernel Instrumentation via Dynamic Binary Translation

NON SCHOLAE, SED VITAE

Advanced Systems Security: Virtual Machine Systems

Voltaire. Fast I/O for XEN using RDMA Technologies. The Grid Interconnect Company. April 2005 Yaron Haviv, Voltaire, CTO

RUNNING VTVAX FOR WINDOWS IN A VIRTUAL MACHINE ENVIRONMENT

Introduction to Operating Systems

military demands, this transition to NCW has created new uses for existing

Using a Hypervisor to Manage Multi-OS Systems Cory Bialowas, Product Manager

Virtualization. Dr. Yingwu Zhu

IOV hardware and software plumbing for VMware ESX - journey to uncompromised I/O Virtualization and Convergence.

A Survey on Virtualization Technologies

Data Path acceleration techniques in a NFV world

for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

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

HPC learning using Cloud infrastructure

ARMv8 port of the Jailhouse hypervisor

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Virtualization. Application Application Application. MCSN - N. Tonellotto - Distributed Enabling Platforms OPERATING SYSTEM OPERATING SYSTEM

I/O and virtualization

Single Root I/O Virtualization (SR-IOV) and iscsi Uncompromised Performance for Virtual Server Environments Leonid Grossman Exar Corporation

Advanced Operating Systems (CS 202) Virtualization

The only open-source type-1 hypervisor

CHAPTER 16 - VIRTUAL MACHINES

Virtualization Introduction

Leverage Vybrid's asymmetrical multicore architecture for real-time applications by Stefan Agner

Chapter 2: Operating-System Structures

CSE 120 Principles of Operating Systems

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

Live Migration of Direct-Access Devices. Live Migration

Cellular Platform Access

Distributed Systems COMP 212. Lecture 18 Othon Michail

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Transcription:

Deflating the hype: Embedded Virtualization in 3 steps Klaas van Gend MontaVista Software LLC For Embedded Linux Conference Europe 2010, Cambridge

Agenda Why multicore made the topic more relevant Partitioning Virtualization Containers The Three Steps Summary

Asymmetric Multiprocessing 1985 200x

Symmetric Multiprocessing 180cm 4 cm 2009 1993 80cm

System Architecture & Partitioning Management Decode TLS Connection Tracker Encode TLS Core1 Core2 Core3 Core4

RT and Throughput considerations PREEMPT_RT makes Linux real time Depending on HW and requirements RT Microkernels + Linux hybrid approach, 2 different environments Merging the bad properties of both But Linux has its drawbacks Complete IP stack not optimized for specific use cases Process Migration amongst CPUs BKL and scheduling overhead

Partitioning & AMP Dedicated code is faster than general purpose code Let's bypass Linux Assign cores to run without any blocking Let's bypass Linux But... you bypassed Linux You have to write new environment

The 100% Linux alternative RT Patch determinism, low latency UIO - direct hardware access from user space CPU affinity Scheduler improvements IRQ handling improvements You now have a process running in Linux which: has a core 100% to itself, can use most of Linux's regular APIs *, uses regular IPC* to talk to other processes Some secret sauce ingredients to the new Bare Metal Engine TM in MontaVista Carrier Grade Linux 6 *: don't use blocking APIs, duh!

Virtualization 2010 MontaVista Software - Confidential 9

Virtualization somewhat right: dual OS on one CPU (if you must) Reduce BOM Two OS'es: Linux for Applications RTOS for GSM base Single ARM9 CPU

OS/License/Security Isolation I want that IRQs MMU Hardware Hypervisor You can't have it But I will pass messages

Virtualization the right way: Server Hardware Consolidation In data centers: Mail server(s) Web server(s) Intranet server File server(s) Firewall All overdimensioned HW All usually below 10% load Combine into 1 box using virtualization

Virtualization & Performance Scripts Virtual Virtual Scripts Virtual Scripts Virtual Scripts Virtual Scripts Linux LinuxKernel Kernel Linux Kernel Linux Kernel Linux Kernel Linux Kernel Hardware Hardware Drivers Drivers

The Second Rule of Ready: No extra layer of software can make your system faster. Jim Ready, pioneer of VRTX and embedded Linux

Virtualization & Para-virtualization Virtual Scripts Linux Kernel Native Scripts Para virtualization: guest OS has knowledge of virtualization environment. Usually to prevent expensive operations Linux Kernel Hardware Drivers

Virtualization, Performance & Space Virtual Scripts Virtual Scripts Virtual Scripts Linux Kernel Linux Kernel Linux Kernel Linux Kernel Virtual Scripts Linux Kernel Hardware Hardware Drivers Drivers

Virtualization, Performance & Space Virtual Scripts Virtual Scripts Virtual Scripts Virtual Scripts Linux Kernel Linux Kernel Linux Kernel Linux Kernel What a waste of space and performance! Scripts Libs Linux Kernel

Containers Virtual Libs Virtual Libs Virtual Virtual Virtual Scripts Libs Libs Scripts More than chroot Allow custom libraries (glibc) Same across all: Udev, D-Bus, kernel Libs Linux Kernel

Containers, part II Interesting features: Use network bridging for multiple Ethernet interface Custom handling per container possible Integrates nicely with Cisco VRF Best feature: Resource usage limitations Partition CPU, network, disk bandwidth Also interesting: integration with SELinux Make a container really secure

The Three Steps 17 slide(i) = 3 steps i=1 2010 MontaVista Software - Confidential 20

Q #1 Multiple OSes or Bare Metal? Or: do you really need something besides Linux? Answer YES if: You need an RTOS, Bare Metal, Windows Answer NO if: You need multiple Linuxes or one Linux with tricks

Q#2a Reason for multiple OS'es? Do you have Legacy code And you don't want to port it? Do you require features that are not in Linux? Windows? RTOS? Bare Metal? You are now aware of the alternatives???

Q#2b Reasons for multiple Linuxes? No reason for virtualization if: you think you need multiple versions of tools or libraries you need multiple network ports You want to partition the resource usage Do you need kernel drivers that no longer work with current kernels? Hmmm... What are you getting yourself into?

Q#3 Really need non-linux? Legacy RTOS-type real time response Classic argument for microkernel + Linux PREEMPT_RT! GPL/Security shielding Much higher network performance than Linux kernel Use Asymmetric MultiProcessing? FreeScale QorIQ Cavium Octeon Netlogic XL* family Bare Metal Engine TM

The three steps in one diagram START I NEED VIRTUALIZATION Do you need multiple OS'es and/or bare metal? Yes No, just Linux. Reason? Reason? Legacy, Windows No OS at all Real time responsiveness, Throughput Really need non-linux? Yes, true RTOS required Yes, security/gpl Bare Metal Engine TM KVM Xen, VMWare True Hypervisor (OKLabs / Virtuallogix /TrustZone) Limit max resource use, security implications Really need non-linux? No Containers

Summary There's nothing new here There are obviously good examples of virtualization Linux features are underestimated by most Containers partitioning & resource limiting KVM true virtualization Simulate bare metal high performance without going to another environment using UIO & friends