The Quest-V Separation Kernel

Similar documents
Nested Virtualization

Full and Para Virtualization

Virtualization in Linux KVM + QEMU

Intel Virtualization Technology Overview Yu Ke

Virtualization Technology. Zhiming Shen

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

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

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

Chapter 14 Virtual Machines

Scaling in a Hypervisor Environment

Virtual Machines. COMP 3361: Operating Systems I Winter

Chapter 5 Cloud Resource Virtualization

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

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

VxWorks Guest OS Programmer's Guide for Hypervisor 1.1, 6.8. VxWorks GUEST OS PROGRAMMER'S GUIDE FOR HYPERVISOR

2972 Linux Options and Best Practices for Scaleup Virtualization

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

COS 318: Operating Systems. Virtual Machine Monitors

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

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

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Brian Walters VMware Virtual Platform. Linux J. 1999, 63es, Article 6 (July 1999).

Virtual Machines. Virtual Machine (VM) Examples of Virtual Systems. Types of Virtual Machine

Virtualization. Types of Interfaces

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

Architecture of the Kernel-based Virtual Machine (KVM)

Distributed Systems. Virtualization. Paul Krzyzanowski

Hybrid Virtualization The Next Generation of XenLinux

Hypervisors and Virtual Machines

Enterprise-Class Virtualization with Open Source Technologies

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

Nested Virtualization

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Flight Processor Virtualization

Knut Omang Ifi/Oracle 19 Oct, 2015

Virtualization. Jia Rao Assistant Professor in CS

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

Cloud Computing CS

Virtual machines and operating systems

COS 318: Operating Systems. Virtual Machine Monitors

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Enabling Technologies for Distributed Computing

Intel Virtualization Technology

Enabling Technologies for Distributed and Cloud Computing

Data Centers and Cloud Computing

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

Masters Project Proposal

Virtualization. Pradipta De

Xen and the Art of. Virtualization. Ian Pratt

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

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

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

Performance tuning Xen

Compromise-as-a-Service

Intel Virtualization Technology Processor Virtualization Extensions and Intel Trusted execution Technology

evm Virtualization Platform for Windows

Virtualization. Jukka K. Nurminen

RED HAT ENTERPRISE VIRTUALIZATION & CLOUD COMPUTING

The Microsoft Windows Hypervisor High Level Architecture

Basics of Virtualisation

kvm: Kernel-based Virtual Machine for Linux

Virtualization and the U2 Databases

Real- Time Mul,- Core Virtual Machine Scheduling in Xen

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

9/26/2011. What is Virtualization? What are the different types of virtualization.

Virtualization for Cloud Computing

Practical Applications of Virtualization. Mike Phillips IAP 2008 SIPB IAP Series

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

DPDK Summit 2014 DPDK in a Virtual World

Windows Server Virtualization & The Windows Hypervisor

Intel Embedded Virtualization Manager

The MIPS architecture and virtualization

Jukka Ylitalo Tik TKK, April 24, 2006

Enabling Intel Virtualization Technology Features and Benefits

Virtualizing Performance-Critical Database Applications in VMware vsphere VMware vsphere 4.0 with ESX 4.0

Using Linux as Hypervisor with KVM

Virtualization VMware Inc. All rights reserved

EE282 Lecture 11 Virtualization & Datacenter Introduction

EECatalog SPECIAL FEATURE

Scaling Microsoft Exchange in a Red Hat Enterprise Virtualization Environment

Real-time KVM from the ground up

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

KVM KERNEL BASED VIRTUAL MACHINE

A Comparison of VMware and {Virtual Server}

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

Developing a dynamic, real-time IT infrastructure with Red Hat integrated virtualization

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

Hypervisor Memory Forensics

12. Introduction to Virtual Machines

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

White Paper Amit Aneja Platform Architect Intel Corporation. Xen* Hypervisor Case Study - Designing Embedded Virtualized Intel Architecture Platforms

Large-scale performance monitoring framework for cloud monitoring. Live Trace Reading and Processing

Intel Virtualization Technology (VT) in Converged Application Platforms

Kernel Virtual Machine

ELI: Bare-Metal Performance for I/O Virtualization

Oracle Database Scalability in VMware ESX VMware ESX 3.5

Transcription:

The Quest-V Separation Kernel Richard West richwest@cs.bu.edu Computer Science

Goals Develop system for high-confidence (embedded) systems Mixed criticalities (timeliness and safety) Predictable real-time support Resistant to component failures & malicious manipulation Self-healing Online recovery of software component failures 2

Target Applications Healthcare Avionics Automotive Factory automation Robotics Space exploration Other safety-critical domains 3

Case Studies $327 million Mars Climate Orbiter Loss of spacecraft due to Imperial / Metric conversion error (September 23, 1999) 10 yrs & $7 billion to develop Ariane 5 rocket June 4, 1996 rocket destroyed during flight Conversion error from 64-bit double to 16-bit value 50+ million people in 8 states & Canada in 2003 without electricity due to software race condition 4

Approach Quest-V for multi-/many-core processors Distributed system on a chip Time as a first-class resource Cycle-accurate time accountability Separate sandbox kernels for system components Memory isolation using h/w-assisted memory virtualization Extended page tables (EPTs Intel) Nested page tables (NPTs AMD) Also need CPU, I/O, cache isolation, etc (later!) 6

Related Work Existing virtualized solutions for resource partitioning Wind River Hypervisor, XtratuM, PikeOS, Mentor Graphics Hypervisor Xen, Oracle PDOMs, IBM LPARs Muen, (Siemens) Jailhouse 7

Problem Traditional Virtual Machine approaches too expensive Require traps to VMM (a.k.a. hypervisor) to mux & manage machine resources for multiple guests e.g., ~1500 clock cycles VM-Enter/Exit on Xeon E5506 8

Traditional Approach (Type 1 VMM) VM VM VM VM... VM Type 1 VMM / Hypervisor Hardware (CPUs, memory, devices) 9

Contributions Quest-V Separation Kernel [WMC'13, VEE'14] Uses H/W virtualization to partition resources amongst services of different criticalities Each partition, or sandbox, manages its own CPU cores, memory area, and I/O devices w/o hypervisor intervention Hypervisor typically only needed for bootstrapping system + managing comms channels b/w sandboxes 10

Contributions Quest-V Separation Kernel Eliminates hypervisor intervention during normal virtual machine operations 11

Architecture Overview 12

Memory Partitioning Guest kernel page tables for GVA-to-GPA translation EPTs (a.k.a. shadow page tables) for GPA-toHPA translation EPTs modifiable only by monitors Intel VT-x: 1GB address spaces require 12KB EPTs w/ 2MB superpaging 13

Quest-V Linux Memory Layout 14

Quest-V Memory Partitioning 15

Memory Virtualization Costs Example Data TLB overheads Xeon E5506 4-core @ 2.13GHz, 4GB RAM 16

I/O Partitioning Device interrupts directed to each sandbox Use I/O APIC redirection tables Eliminates monitor from control path EPTs prevent unauthorized updates to I/O APIC memory area by guest kernels Port-addressed devices use in/out instructions VMCS configured to cause monitor trap for specific port addresses Monitor maintains device "blacklist" for each sandbox DeviceID + VendorID of restricted PCI devices 17

Quest-V I/O Partitioning Data Port: 0xCFC Address Port: 0xCF8 18

Monitor Intervention During normal operation only one monitor trap every 3-5 mins by CPUID No I/O Partitioning Exception (TF) I/O Partitioning (Block COM and NIC) 0 9785 502 497 VMCALL 2 2 I/O Instruction 0 11412 EPT Violation 0 388 XSETBV 1 1 CPUID Table: Monitor Trap Count During Linux Sandbox Initialization 19

CPU Partitioning Scheduling local to each sandbox partitioned rather than global avoids monitor intervention Uses real-time VCPU approach for Quest native kernels [RTAS'11] 20

Predictability VCPUs for budgeted real-time execution of threads and system events (e.g., interrupts) Threads mapped to VCPUs VCPUs mapped to physical cores Sandbox kernels perform local scheduling on assigned cores Avoid VM-Exits to Monitor eliminate cache/tlb flushes 21

VCPUs in Quest(-V) Address Space Threads Main VCPUs I/O VCPUs PCPUs (Cores) 22

VCPUs in Quest(-V) Two classes Main for conventional tasks I/O for I/O event threads (e.g., ISRs) Scheduling policies Main sporadic server (SS) I/O priority inheritance bandwidthpreserving server (PIBS) 23

SS Scheduling Model periodic tasks Each SS has a pair (C,T) s.t. a server is guaranteed C CPU cycles every period of T cycles when runnable Guarantee applied at foreground priority background priority when budget depleted Rate-Monotonic Scheduling theory applies 24

PIBS Scheduling IO VCPUs have utilization factor, UV,IO IO VCPUs inherit priorities of tasks (or Main VCPUs) associated with IO events Currently, priorities are ƒ(t) for corresponding Main VCPU IO VCPU budget is limited to: TV,main* UV,IO for period TV,main 25

PIBS Scheduling IO VCPUs have eligibility times, when they can execute te = t + Cactual / UV,IO t = start of latest execution t >= previous eligibility time 26

Example VCPU Schedule 27

Sporadic Constraint Worst-case preemption by a sporadic task for all other tasks is not greater than that caused by an equivalent periodic task (1) Replenishment, R must be deferred at least t+t V (2) Can be deferred longer (3) Can merge two overlapping replenishments R1.time + R1.amount >= R2.time then MERGE Allow replenishment of R1.amount +R2.amount at R1.time 28

Example Replenishments amount, time VCPU 1 (C=20, T=50, Start=0) VCPU 0 (C=10, T=40, Start=1) 20,00 00,00 00,00 (A) 1 10 0 (B) 1 0 02,00 18,50 00,00 17 10 10 20 17 10 20 2 30 2 30 02,40 18,50 00,00 1 10 40 1 40 Replenishment Queue Element 18,50 02,90 00,00 1 50 10 02,50 02,90 16,100 16 60 21 70 17 50 60 02,80 02,90 16,100 80 21 70 10 80 IOVCPU (Utilization=4%) 02,90 16,100 16,100 02,130 02,130 02,140 12 90 10 8 100 110 17 90 100 110 Corrected Algorithm Premature Replenishment Interval [t=0,100] (A) VCPU 1 = 40%, (B) VCPU 1 = 46% 29

Utilization Bound Test Sandbox with 1 PCPU, n Main VCPUs, and m I/O VCPUs Ci = Budget Capacity of Vi Ti = Replenishment Period of Vi Main VCPU, Vi Uj = Utilization factor for I/O VCPU, Vj n 1 Ci + Ti i=0 m 1 n (2 Uj) Uj n ( 2 1) j=0 30

Cache Partitioning Shared caches controlled using color-aware memory allocator Cache occupancy prediction based on h/w performance counters E' = E + (1-E/C) * ml E/C * mo Enhanced with hits + misses [Book Chapter, OSR'11, PACT'10] 31

Linux Front End For low criticality legacy services Based on Puppy Linux 3.8.0 Runs entirely out of RAM including root filesystem Low-cost paravirtualization less than 100 lines Restrict observable memory Adjust DMA offsets Grant access to VGA framebuffer + GPU Quest native SBs tunnel terminal I/O to Linux via shared memory using special drivers 32

Quest-V Linux Screenshot 33

Quest-V Linux Screenshot 1 CPU + 512 MB No VMX or EPT flags 34

Quest-V Performance Overhead Measured time to play back 1080P MPEG2 video from the x264 HD video benchmark Mini-ITX Intel Core i5-2500k 4-core, HD3000 graphics, 4GB RAM mplayer Benchmark 35

Conclusions Quest-V separation kernel built from scratch Distributed system on a chip Uses (optional) h/w virtualization to partition resources into sandboxes Protected comms channels b/w sandboxes Sandboxes can have different criticalities Linux front-end for less critical legacy services Sandboxes responsible for local resource management avoids monitor involvement 36

Quest-V Status About 11,000 lines of kernel code 200,000+ lines including lwip, drivers, regression tests SMP, IA32, paging, VCPU scheduling, USB, PCI, networking, etc Quest-V requires BSP to send INIT-SIPI-SIPI to APs, as in SMP system BSP launches 1st (guest) sandbox APs VM fork their sandboxes from BSP copy 37

Future Work Online fault detection and recovery Technologies for secure monitors e.g., Intel TXT + VT-d Separation kernel support for: Accelerators / GPUs (time partitioning) NoCs Heterogeneous platforms (ala Helios satellite kernels) See www.questos.org for more details 38

Quest-V Demo Bootstrapping Quest native kernel (core 0) + Linux (core 1) Linux kernel + filesystem in RAM Secure comms channel b/w Quest SB & Linux SB using a pseudo-char device /dev/qsbx device for each sandbox x Triple modular redundancy (TMR) fault recovery for unmanned aerial vehicle (UAV) http://quest.bu.edu/demo.html 39

The Quest Team Richard West Ye Li Eric Missimer Matt Danish Gary Wong 40

Other (Current) Developments Port of Quest to Intel Galileo Arduino Quest RT-USB host controller stack [RTAS'13] 41

10+ Years On... Intelligent transportation systems V2V and V2I communications Driverless cars (e.g., Google, CMU, Stanford, Oxford RobotCar, etc) Humanoid robots Complex sensing + processing networks 42