VtRES 2013. Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC. ESRG Embedded Systems Research Group



Similar documents
Microkernels, virtualization, exokernels. Tutorial 1 CSC469

evm Virtualization Platform for Windows

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

Virtualization. Pradipta De

Virtualization. Dr. Yingwu Zhu

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Introduction to the NI Real-Time Hypervisor

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

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

COS 318: Operating Systems. Virtual Machine Monitors

System Virtual Machines

Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs. Jim Ready September 18, 2012

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

Full and Para Virtualization

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

UNIT 4 Software Development Flow

ARM Cortex-R Architecture

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Hardware accelerated Virtualization in the ARM Cortex Processors

Virtualization. Jukka K. Nurminen

The Xen of Virtualization

Operating Systems. Lecture 03. February 11, 2013

CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel

Distributed Systems. Virtualization. Paul Krzyzanowski

Chapter 5 Cloud Resource Virtualization

Virtualization for Cloud Computing

Achieving Real-Time Performance on a Virtualized Industrial Control Platform

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG , Moscow

Broadcom Ethernet Network Controller Enhanced Virtualization Functionality

COS 318: Operating Systems. Virtual Machine Monitors

EECatalog SPECIAL FEATURE

Cloud Computing #6 - Virtualization

Leveraging Thin Hypervisors for Security on Embedded Systems

Virtualization. Types of Interfaces

The MIPS architecture and virtualization

COM 444 Cloud Computing

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

A hypervisor approach with real-time support to the MIPS M5150 processor

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

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

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

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

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

12. Introduction to Virtual Machines

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

VMware vsphere 5.0 Boot Camp

Distributed and Cloud Computing

IOMMU: A Detailed view

Codesign: The World Of Practice

What is virtualization

IOS110. Virtualization 5/27/2014 1

x86 ISA Modifications to support Virtual Machines

Nested Virtualization

The Benefits of Virtualizing Citrix XenApp with Citrix XenServer

Memory Isolation in Many-Core Embedded Systems

Bare-Metal, RTOS, or Linux? Optimize Real-Time Performance with Altera SoCs

Double-Take Replication in the VMware Environment: Building DR solutions using Double-Take and VMware Infrastructure and VMware Server

Virtual machines and operating systems

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

White Paper. Recording Server Virtualization

A Superior Hardware Platform for Server Virtualization

What is best for embedded development? Do most embedded projects still need an RTOS?

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

An Oracle White Paper April Oracle VM Server for SPARC Enabling a Flexible, Efficient IT Infrastructure

Microsoft Exchange Solutions on VMware

HRG Assessment: Stratus everrun Enterprise

KVM in Embedded Requirements, Experiences, Open Challenges

Chapter 14 Virtual Machines

Model-based system-on-chip design on Altera and Xilinx platforms

MultiPARTES. Virtualization on Heterogeneous Multicore Platforms. 2012/7/18 Slides by TU Wien, UPV, fentiss, UPM

PFP Technology White Paper

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

7a. System-on-chip design and prototyping platforms

Hardware Virtualization on. ARM Cortex-A Low-Cost Building automation

Intel Virtualization Technology (VT) in Converged Application Platforms

Networked I/O for Virtual Machines

Hybrid Virtualization The Next Generation of XenLinux

Hyper-V R2: What's New?

Windows Server 2008 R2 Hyper V. Public FAQ

Introduction to Virtual Machines

AMD 64 Virtualization

Virtual Machines.

Evading Android Emulator

Top 5 Reasons to choose Microsoft Windows Server 2008 R2 SP1 Hyper-V over VMware vsphere 5

Virtualization Overview

Virtualization. Jia Rao Assistant Professor in CS

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtualization Technologies (ENCS 691K Chapter 3)

Security Overview of the Integrity Virtual Machines Architecture

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

White Paper. Freescale s Embedded Hypervisor for QorIQ P4 Series Communications Platform

Hypervisors and Virtual Machines

High Performance or Cycle Accuracy?

Better virtualization of. XenApp and XenDesktop with XenServer

Pivot3 Reference Architecture for VMware View Version 1.03

Transcription:

Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC VtRES 2013 P. Garcia, T. Gomes, F. Salgado, J. Monteiro, A. Tavares

Summary 1. Current landscape in 2. Embedded Virtualization Use-Cases 3. The case for Hardware support to Virtualization 4. The development platform: why an ARM SoC? 5. Hardware-Based Virtualization extensions 6. Results, Conclusions and Research Roadmap

1-Current Landscape in Contradicting Requirements Low Cost (size, power consumption) Reliability (fault tolerance, hard real-time) Feature-Richness (touch-screen graphical interfaces) Design solutions: Application Specificity Technologies for separation of concerns

1-Current Landscape in Traditionally: COTS solutions: easy to get up and running, short development time Application specific: big engineering effort, long time-to-market Nowadays: Use COTS products to develop application-specific solutions

1-Current Landscape in Proven IP hardware Proven software stacks Hypervisor

2-Embedded Virtualization Use-Cases Consolidation Legacy software stacks with modern, feature-rich OSs Co-existence GPOSs and RTOSs Functionality and Temporal Partitioning Security and Safety concerns, verification effort

2-Embedded Virtualization Use-Cases Simpler use-cases than for server/enterprise virtualization Most commonly, two partitions (RTOS or baremetal + GPOS) In the safety-critical domain, replicated partitions for N-Modular Redundancy Most likely, Type-0 Hypervisors suffice for most applications

3-The case for hardware support to Virtualization Type-0 Hypervisor is simple: lends itself well to hardware implementations Hardware implementations are (more) deterministic, higher performance Architectural features which merely expedite software functionality do not limit scalability Exploring application specificity allows designing custom Virtualized solutions

3-The case for hardware support to Virtualization Research goals Novel architectural and micro-architectural support to Virtualization Processor level and SoC level Expedite Virtualization requirements without sacrificing scalability/flexibility Research the feasibility of hardware-complete Hypervisor for application-specific solutions Methodology Implement Virtualization support on an FPGA-based ARM SoC

4-The development platform: why an ARM-SoC? ARM is ubiquitous in the embedded domain ARM Virtualization Extensions (VE) already provide (some) support to virtualization Implementing novel architectural support required an open-source processor Modifying key pipeline elements Adding internal registers

4-The development platform: why an ARM-SoC? An ATMEL AT91SAM9XE was cloned and implemented on an Xilinx Virtex 5 FPGA Implements the ARMv5TE architecture 16KB ICache 8KB DCache Memory Management Unit Periodic Interval Timer Advanced Interrupt Controller USART DDRII Controller SD Card controller

4-The development platform: why an ARM-SoC? The developed platform is (most likely) microarchitecturally different than the commercial ones Results will vary across different implementations, but will most likely result in minor variations Developed platform is 100% compatible with all ARM toolchains/software

5-Hardware Based Virtualization Extensions CPU Virtualization New processor mode (Hyper mode) Instruction to enter Hyper mode Traps to Hypervisor if executed by Guest OS Traps to Guest OS if executed by User application Banked Register File for Hypervisor Control Registers (partition ID, exception handling register) Controls if processor exceptions trap to Guest OS or Hypervisor CPU virtualization is (for now) nearly identical to ARM VE

5-Hardware Based Virtualization Extensions Memory Virtualization ARM VE supports two stage address translation For the embedded domain use-cases (small, fixed number of VMs) guest segmentation is likely to suffice Hypervisor registers to control guest memory access (segmentation) Less overhead than MMU double page table walk

5-Hardware Based Virtualization Extensions Peripheral and Interrupt Virtualization At this point, support has only been added to the PIT and AIC PIT was extended with an additional Timer/Counter, responsible for the VMM tick Accessible only to Hyper mode Can trigger an interrupt that bypasses AIC, causing transition to Hyper mode VMM Scheduler ISR PIT modified with update logic In Hyper mode, PIT updating performs hardware timekeeping

5-Hardware Based Virtualization Extensions

5-Hardware Based Virtualization Extensions Peripheral and Interrupt Virtualization The AIC was extended with an additional Interrupt Monitoring Register Interrupt behavior depends on Guest Interrupt Mask Register VMM Interrupt Monitoring Register

5-Hardware Based Virtualization Extensions Interrupt is intended to current partition only No Hypervisor invoked Interrupt Guest IMR Set Hyper IMR Clear

5-Hardware Based Virtualization Extensions Interrupt is intended to another partition No Hypervisor invoked Handled when respective partition is loaded Interrupt Guest IMR Clear Hyper IMR Clear

5-Hardware Based Virtualization Extensions Interrupt is intended to another partition Real Time Requirement Hypervisor partition scheduling vector invoked Interrupt Guest IMR Clear Hyper IMR Set

5-Hardware Based Virtualization Extensions Interrupt can be intended to several partitions Hypervisor software invoked to decide appropriate action Interrupt Guest IMR Set Hyper IMR Set

5-Hardware Based Virtualization Extensions Comparing to ARM VE. Either all interrupts trap to Hypervisor Additional latency in interrupt handling Or all interrupts trap to current Guest Unlikely case Presented approach offers higher flexibility in interrupt handling

6-Results, Conclusions and Research Roadmap Synthesis results on a Xilinx Virtex 5 FPGA

6-Results, Conclusions and Research Roadmap Performance results At this point, no system-level benchmarking has yet been performed Experiments were conducted upon Hypervisor microoperations

6-Results, Conclusions and Research Roadmap

6-Results, Conclusions and Research Roadmap Some features seem to be lacking in ARM VE Namely, finer granularity in how interrupts are handled The presented approach offers higher degree of control in interrupt handling Memory address translation (guest physical to host physical) can be simplified Decreasing translation latency in segmented memory models Experiments have demonstrated the performance increase offered by the Virtualization Extensions

6-Results, Conclusions and Research Roadmap Research roadmap System level benchmarking (Linux + FreeRTOS guests) Extensive VMM cycle-accurate characterization Identification of further limitations in ARM VE Experiment with hardware-complete Hypervisor Flexibility and scalability limitations Performance benefits Real Time benefits Hardware partition scheduling Peripheral-specific Virtualization techniques Memory hierarchy features for virtualization

Thank you for your attention More details on paper Questions?