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



Similar documents
HIPEAC Segregation of Subsystems with Different Criticalities on Networked Multi-Core Chips in the DREAMS Architecture

Mixed-Criticality: Integration of Different Models of Computation. University of Siegen, Roman Obermaisser

XtratuM hypervisor redesign for LEON4 multicore processor

Mixed-Criticality Systems Based on Time- Triggered Ethernet with Multiple Ring Topologies. University of Siegen Mohammed Abuteir, Roman Obermaisser

Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics

Industrial Application of MultiPARTES

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

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

Multicore partitioned systems based on hypervisor

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Experience with the integration of distribution middleware into partitioned systems

The Microsoft Windows Hypervisor High Level Architecture

The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture

Software Engineering for Real- Time Systems.

Design and Implementation of the Heterogeneous Multikernel Operating System

COS 318: Operating Systems. Virtual Machine Monitors

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

Memory Isolation in Many-Core Embedded Systems

evm Virtualization Platform for Windows

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

Full and Para Virtualization

Virtualization. Dr. Yingwu Zhu

Embedded Virtualization & Cyber Security for Industrial Automation HyperSecured PC-based Control and Operation

ARINC-653 Inter-partition Communications and the Ravenscar Profile

Operating Systems 4 th Class

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

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Embedded Real-Time Systems (TI-IRTS) Safety and Reliability Patterns B.D. Chapter

Developing software for Autonomous Vehicle Applications; a Look Into the Software Development Process

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

Flight Processor Virtualization

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek

A quantitative comparison between xen and kvm

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Applying Multi-core and Virtualization to Industrial and Safety-Related Applications

Types Of Operating Systems

Leveraging Thin Hypervisors for Security on Embedded Systems

Chapter 5 Cloud Resource Virtualization

NoHype: Virtualized Cloud Infrastructure without the Virtualization

SOCWIRE: A SPACEWIRE INSPIRED FAULT TOLERANT NETWORK-ON-CHIP FOR RECONFIGURABLE SYSTEM-ON-CHIP DESIGNS

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

COS 318: Operating Systems. Virtual Machine Monitors

Spacecraft Computer Systems. Colonel John E. Keesee

ORK+/XtratuM: An Open Partitioning Platform for Ada

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

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Virtualization for Cloud Computing

SAN Conceptual and Design Basics

Oracle Database Scalability in VMware ESX VMware ESX 3.5

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

XtratuM: a Hypervisor for Safety Critical Embedded Systems

Virtualization. Pradipta De

AN4664 Application note

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

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

BASIC CONCEPTS AND RELATED WORK

Welcome to the IBM Education Assistant module for Tivoli Storage Manager version 6.2 Hyper-V backups. hyper_v_backups.ppt.

Distributed Systems Lecture 1 1

Introduction to the NI Real-Time Hypervisor

Chapter 14 Virtual Machines

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

KVM in Embedded Requirements, Experiences, Open Challenges

Computer Science 4302 Operating Systems. Student Learning Outcomes

Aperiodic Task Scheduling

Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software

Linux A multi-purpose executive support for civil avionics applications?

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Availability Digest. Stratus Avance Brings Availability to the Edge February 2009

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

EECatalog SPECIAL FEATURE

Title: XtratuM: a Hypervisor for Safety Critical Embedded Systems. Authors:M. Masmano, I. Ripoll, A. Crespo and J.J. Metge

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

Best Practices for Virtualised SharePoint

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

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

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

Cloud Computing and Robotics for Disaster Management

Load Balancing and Maintaining the Qos on Cloud Partitioning For the Public Cloud

White Paper. Recording Server Virtualization

Embedded & Real-time Operating Systems

Multifaceted Resource Management for Dealing with Heterogeneous Workloads in Virtualized Data Centers

TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS

Hypervisors and Virtual Machines

Principles and characteristics of distributed systems and environments

The MILS Component Integration Approach To Secure Information Sharing

Architectures for Distributed Real-time Systems

Secure Containers. Jan Imagination Technologies HGI Dec, 2014 p1

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

Software engineering for real-time systems

WIND RIVER SECURE ANDROID CAPABILITY

Transcription:

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

Contents Analysis of scheduling approaches Virtualization of devices Dealing with heterogeneous cores Fault hypothesis Security policy & security model

Analysis of scheduling approaches Embedded systems often have tasks with real-time requirements periodic or sporadic execution hard or soft deadlines Scheduling the execution of the tasks on the available processor is crucial in order to guarantee the timing requirements especially in high-integrity systems Two aspects of scheduling decide which tasks run at every time analyze feasibility of real-time requirements 3

Basic scheduling approaches Static table-driven scheduling schedule built off-line (e.g. cyclic executive) feasibility guaranteed by construction Static priority scheduling feasibility test off-line (e.g. FPPS/RTA) Dynamic planning-based scheduling on-line feasibility test, dynamic priorities Dynamic best-effort no feasibility test, no guarantees 4

Scheduling partitioned systems Temporal separation is needed Server-based approach a server is a container for a partition global scheduling of servers and tasks flexible but complex Hierarchical approach a global scheduler allocates processor time to partitions (e.g. with a static table-driven method) a local scheduler allocates processor time to tasks within a partition (e.g. with a FPPS method) 5

Multiprocessor/multicores No clear results for hard-real time systems scheduling & feasibility analysis NP-hard static allocation of hard real-time tasks to processors is commonly used More flexible approaches are possible for soft real-time systems global scheduling with task migration Mixed approaches are possible static allocation of partitions to processors static global scheduling of partitions local schedulers according to requirements 6

Virtualization of devices How can devices be shared by multiple partitions? Partition Partition Partition Device Device

Device Assignment A device is assigned to a partition Memory mapped region Interrupt line Direct device management Bypass hypervisor I/O Space or memory mapped device Partition XtratuM interrupt Device

Device Virtualization (Hypervisor) The hypervisor implements the device driver An interface is offered (hypercalls) Allows the use of the device by several partitions Complex devices not implemented inside XtratuM Only UART and console VGA Partition XtratuM device interface driver Device

Device Virtualization Architecture A device is assigned to a server partition The server implements and offers a virtual device to clients Virtual devices resemble multiplexers I/O Server Partition I/O Client Partition I/O Client Partition virtual device virtio driver virtio driver transport layer transport layer transport layer Device shared memory shared memory

Device Virtualization Examples Block device virtualization Network virtualization

Dealing with heterogeneous multi-core architectures Partitions on architecture A I/O Partitions Partitions on architecture B

Scheduling Communication

Scheduling Communication

Major Frame Synchronisation On-board cloc

Contents of the fault hypothesis Unit of failure Definition of Fault Containment Regions (FCRs) Failure modes e.g., fail crash, fail stop, symmetric, byzantine Total number of faults Rate of arrival 16

Fault Containment Region A fault containment region (FCR) can be defined as: a set of components that is considered to fail (a) as an atomic unit, and (b) in a statistically independent way with respect to other such FCRs A fault in an FCR has no direct impact on any other FCR The only possible propagation is via the specified interfaces between any FCRs (i.e. error propagation) 17

Error Containment Region Errors can propagate by an erroneous message of a faulty FCR to another FCR An Error Containment Region (ECR) contains errors of the constituting FCRs. It will either output a correct value, or will indicate that the output is incorrect An ECR has to consist of at least two FCRs (nobody can prove its own sanity) The failure modes of the FCRs influence the number of required FCRs in an ECR 18

FCRs in MultiPARTES We distinguish between two fundamentally different viewpoints according to the class of faults Systematic design faults Random hardware faults FCRs are defined differently for both classes 19

Systematic design faults Design faults in the application or guest operating system Each partition constitutes a single FCR The basic assumption is that the hardware and the hypervisor itself is free of design faults Hypervisor has the same certification requirements as the most critical partition! 20

Random hardware faults Faults that occur during system operation or the manufacturing process e.g., Single Event Upsets (SEUs) due to electromagnetic interference or radiation or aging Common mode failures cannot be avoided on a single die e.g., shared power supply, clock, package, spatial proximity For ultra-dependable systems the entire chip has to be considered as an FCR HW faults have to be tolerated by hardware redundacy 21

Example Traditional Design 10 Subsystems ECRs with Triple Modular Redundancy (TMR) 30 nodes in total required 22

Example MultiPARTES Approach 10 Subsystems ECRs with Triple Modular Redundancy (TMR) Subsystems share nodes Nodes are replicated 3 nodes in total required 23

Security Modeling Security Policy collection of requirements that describe entities and objects and the mapping of allowed actions between them Security Model mechanisms to enforce the security policy 24

MultiPARTES Security Policy The hypervisor has access to the whole memory area (including all data of the communication channels) and all devices Partitions are allowed access to their own memory areas, devices and access to communication channels with some specified other partitions Partitions constitute Intrusion Containment Regions (ICRs) Defined in analogy to FCRs 25

MultiPARTES Security Model The hypervisor is loaded by a secure boot process The hypervisor's memory content is protected by the MMU Processing resources are protected by virtualizing the hardware state and the cyclic scheduler By using the MMU and not sharing memory without an indirection through the hypervisor, partition's memory content is protected Devices are not directly shared by multiple partitions. If multiple partitions require access to a device, the access must be performed via the IPC mechanisms and a dedicated server partition 26