Heterogeneous Real-Time SoC Software Architecture

Similar documents
Xen on ARM. Stefano Stabellini

Hypervisors on ARM Overview and Design choices

Xen on ARM. How fast is it, really? Stefano Stabellini. 18 August 2014

ARMv8 port of the Jailhouse hypervisor

Heterogeneous Software Architecture with OpenAMP

Integrating ROS and ROS2 on mixed-critical robotic systems based on embedded heterogeneous platforms

Xen on ARM ARMv7 with virtualization extensions

Xen Project Automotive and Embedded Overview

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

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

Xen and the Art of Virtualization

The only open-source type-1 hypervisor

Prof. Daniel Rossier, PhD

HKG : OpenAMP Introduction. Wendy Liang

Real-Time Systems and Intel take industrial embedded systems to the next level

Use ZCU102 TRD to Accelerate Development of ZYNQ UltraScale+ MPSoC

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

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

Virtualization in Multicore Real-Time Embedded Systems for Improvement of Interrupt Latency

PVHVM Linux guest why doesn't kexec work? Vitaly Kuznetsov Red Hat Xen Developer Summit, 2015

Hardware assisted Virtualization in Embedded

Server Virtualization Approaches

SFO17-403: Optimizing the Design and Implementation of KVM/ARM

A Big Little Hypervisor for IoT Development February 2018

Module 1: Virtualization. Types of Interfaces

EMC2. Prototyping and Benchmarking of PikeOS-based and XTRATUM-based systems on LEON4x4

Virtualization for Embedded Systems

Making Full use of Emerging ARM-based Heterogeneous Multicore SoCs

Red Hat Enterprise Virtualization and KVM Roadmap. Scott M. Herold Product Management - Red Hat Virtualization Technologies

10 Steps to Virtualization

WHY SHOULD I USE OVM. For Oracle Databases By Francisco Munoz Alvarez Oracle Professional Services Manager

KVM/ARM. Marc Zyngier LPC 12

Xen Project Status Ian Pratt 12/3/07 1

Virtualization, Xen and Denali

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

I/O and virtualization

System Virtual Machines

Introduction to Oracle VM (Xen) Networking

Software Design Challenges for heterogenic SOC's

Performance Evaluation of Live Migration based on Xen ARM PVH for Energy-efficient ARM Server

SCALE 14X. The Bare-Metal Hypervisor as a Platform for Innovation. By Russell Pavlicek Xen Project Evangelist

By the end of the class, attendees will have learned the skills, and best practices of virtualization. Attendees

Linux Virtualization Update

Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo

LINUX CONTAINERS. Where Enterprise Meets Embedded Operating Environments WHEN IT MATTERS, IT RUNS ON WIND RIVER

Porting bhyve on ARM. Mihai Carabas, Peter Grehan BSDCan 2016 University of Ottawa Ottawa, Canada June 10 11, 2016

Xen. past, present and future. Stefano Stabellini

G Xen and Nooks. Robert Grimm New York University

Distributed Systems COMP 212. Lecture 18 Othon Michail

A So%ware Developer's Journey into a Deeply Heterogeneous World. Tomas Evensen, CTO Embedded So%ware, Xilinx

Virtualization with XEN. Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California

Dramatically Accelerate 96Board Software via an FPGA with Integrated Processors

Optimizing and Enhancing VM for the Cloud Computing Era. 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong

Secure Partitioning (s-par) for Enterprise-Class Consolidation

Cloud Computing Virtualization

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

Virtual Machine Security

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition

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

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

Lecture 5: February 3

Automotive BoF Can Linux and Functional Safety Mix? (Take 2) Robin Randhawa ARM

System Virtual Machines

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors

Xen Summit Spring 2007

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

RodosVisor - an object-oriented and customizable hypervisor: The CPU virtualization

ODP Relationship to NFV. Bill Fischofer, LNG 31 October 2013

Back To The Future: A Radical Insecure Design of KVM on ARM

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

Software Verification for Low Power, Safety Critical Systems

Quobyte The Data Center File System QUOBYTE INC.

Performance Evaluation of Virtualization Technologies

Introduction. COMP9242 Advanced Operating Systems 2010/S2 Week 1

How to abstract hardware acceleration device in cloud environment. Maciej Grochowski Intel DCG Ireland

PORTING OPERATING SYSTEMS TO RUN IN XEN VIRTUAL MACHINES

OpenAMP Discussion - Linaro2018HK. Copyright 2018 Xilinx

VMware vsphere 6.5 Boot Camp

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

Virtual Machine Monitors!

Virtualisation: The KVM Way. Amit Shah

System Support for Internet of Things

Virtualization. Michael Tsai 2018/4/16

Achieve Low Latency NFV with Openstack*

VMware vsphere with ESX 6 and vcenter 6

The Quest-V Separation Kernel for Mixed Criticality Systems

Oracle Solaris 11: No-Compromise Virtualization

Accelerating NVMe I/Os in Virtual Machine via SPDK vhost* Solution Ziye Yang, Changpeng Liu Senior software Engineer Intel

QuartzV: Bringing Quality of Time to Virtual Machines

Xen VT status and TODO lists for Xen-summit. Arun Sharma, Asit Mallick, Jun Nakajima, Sunil Saxena

BUD17-301: KVM/ARM Nested Virtualization. Christoffer Dall

The Quest-V Separation Kernel for Mixed Criticality Systems

Virtualizing Oracle 11g/R2 RAC Database on Oracle VM: Methods/Tips

Virtualization Overview NSRC

SR-IOV support in Xen. Yaozu (Eddie) Dong Yunhong Jiang Kun (Kevin) Tian

Microkernel Construction

1 Virtualization Recap

Partitioning of computationally intensive tasks between FPGA and CPUs

Deflating the hype: Embedded Virtualization in 3 steps

Virtualization Security & Audit. John Tannahill, CA, CISM, CGEIT, CRISC

Transcription:

Heterogeneous Real-Time SoC Software Architecture Presented By Stefano Stabellini Principal System Software Engineer

Introduction Stefano Stabellini Xen Project: Founder of the Xen on Arm effort in late 2011 Xen on ARM Maintainer and Committer, Linux Maintainer Develops Xen Project features on Zynq UltraScale+ MPSoC Xilinx: System Software Architect focusing on heterogeneous systems Upstreaming Xilinx support to Xen and OpenAMP projects

Virtualization Basics

Virtualization The Concept Virtualization The act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources. Allows the deployment of multiple operating systems and independent workloads on one or more processors Hypervisor A hypervisor or virtual machine monitor is computer software, firmware or hardware that creates and runs virtual machines. Why Virtualize? OS/Workload consolidation Lower system cost Lower power consumption Improved resource utilization Mixed Criticality Systems Fault tolerance Multi-tenancy Portability

Why Virtualize? RTOS Linux Hypervisor CPU CPU

Why Virtualize? RTOS Drivers Domain Linux Linux DomU Linux DomU Hypervisor CPU #0 CPU #1 CPU #2 CPU #3

Embedded Hypervisor Requirements Short Boot Times Real time Low, deterministic IRQ latency Real time schedulers Static CPU partitioning Device Virtualization Device Assignment Device Sharing Driver Domains VM to VM communication Security, Isolation and Partitioning Memory Devices CPU SLCRs Operating System Support Linux, bare-metal, other RTOS support Certifications Small code base Type-1

Xen Project

Xen Project Xen Project Open source hypervisor Small code base implementing a micro-kernel design Xen Project hosted by the Linux Foundation Broad, Customizable Feature Set From servers to embedded Out of box real time schedulers and enhancements Advanced device management, partitioning, assignment Independent user, control, and driver domains Linux, BSDs or other OSes used for bootstrap (dom0) Linux is the most widely used but other OSes are possible

Example Xen Architecture

Xen Project 4.11 Highlights Regression testing and hardware validation completed successfully Enormous work for the Meltdown and Spectre mitigations Configurable SErrors handling Many reliability fixes, especially in the interrupt handling path (GIC, vgic) SMCCC 1.1 Highlights (cont.) RTDS scheduler improvements "null" scheduler improvements: tracing, soft affinity VPL011 Mem_Access improvements new PV Drivers: PV Display, PV Audio, PVCalls, PV 9pfs Features and Status Xen Project 4.11 Feature List

Mem_Access

PV Drivers Existing: net, block, console, keyboard, mouse, framebuffer New: 9pfs, PVCalls, Multi Touch, Sound, Display Prerequisites: xenstore, grant table and event channels support (BSD code available)

Static Partitioning Use-Case sched=null vwfi=native

Static Partitioning Use-Case sched=null vwfi=native 2.5 us

Static Partitioning Latency Xilinx Zynq Ultrascale+ MPSoC Physical Timer Xen with phys_timer patch vwfi=native dom0_mem=1g max_dom0_vcpus=2 1 vcpu TBM ctest

Xen Schedulers CPU CPU CPU CPU

Xen Schedulers sched=null vcpu vcpu vcpu vcpu CPU vcpu vcpu vcpu vcpu CPU vcpu vcpu sched=credit

Xen VM-to-VM communication mechanisms Libvchan Linux library Direct VM to VM communication channel based on a ring on shared memory libxenvchan_send and libxenvchan_recv PVCalls Socket API virtualization VM to VM communication mediated by the backend domain (typically dom0) "lo" becomes a inter-vms communication namespace V4V Linux library and hypercall, kernel space and user space VM to VM communication mediated by Xen Trivial to implemented on your own kernel Not fully upstream

Brand New Features Introduction Slide

Shared Memory Completely Configurable Support any memory attributes, including cacheable memory (default) No need for Xen support to use it Can export the memory to Linux userspace and use OpenAMP static_shm = ["id=id1, begin=0x40000000, size=0x1000, role=master"] static_shm = ["id=id1, offset=0, begin=0x48000000, size=0x1000, role=slave"] DomU OpenAMP DomU Xen

Reducing Code Size

Certifications

Dom0-less U-Boot loads into memory loads into memory Xen Dom0 / DomU DomU 1 DomU 2 >> 24 CPU0 CPU1 CPU2

Dom0-less U-Boot boots Xen boots Dom0 / DomU DomU 1 DomU 2 >> 25 CPU0 CPU1 CPU2

Xen Project "OSSTests" OSSTests: Xen Project official CI-loop Run 24/7 Commits move to master only after passing the CI-loop tests Based in Boston, MA Only accept off-the-shelf hardware Xilinx MPSoC ZCU102 coming to Xen Project! Will validate master on Xilinx hardware Every Xen release will be checked against Xilinx hardware Increase overall quality Reduce risks of rebasing Xen in Petalinux staging OSSTests master

"The best security process in the industry" A very transparent process Responsible disclosure Only few security issues for Xen on ARM Xen stable trees maintained for security for 3 years

Commercial Xen Support DornerWorks Xilinx Premier Design Services Partner Hardware, software and systems expertise Xilinx partner for Xen support and design customization services Community Support Free Community Support is available to the entire Zynq UltraScale+ MPSoC community. This support includes all software for Virtuosity, plus all supported configurations or workflows that are documented by the distribution. DornerWorks Xen commercial support Custom hardware porting New guest OS support Custom device drivers Programmable Logic integration System architecture design Scheduling and partitioning for ARINC 653 and FACE http://dornerworks.com/xen

Other Hypervisors

Jailhouse Open source hypervisor https://github.com/siemens/jailhouse Lightweight implementation Focus on resource partitioning and not on virtualization No schedulers, no PV devices, no Driver Domains, etc. Features Optimized for simplicity rather than feature richness Relatively new ARM64 support Linux used for bootstrap and control of partitions Commercially supported on Zynq UltraScale+ MPSoC by Enea

Commercial Hypervisors DornerWorks (Xen, sel4) General Dynamics Mission Systems (OKL4 Microvisor ) Green Hills Multivisor Lynx LynxSecure Mentor Embedded Hypervisor BlackBerry QNX Hypervisor Sysgo PikeOS Hypervisor Wind River Virtualization Profile