Virtualization and Shared Graphics on i.mx6

Similar documents
Mentor Embedded IVI Solutions

Mentor Embedded Automotive Solutions

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

Customer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions

Infotainment and Telematics Solutions with Renesas R-Car Course ID: 0C18I

Android on i.mx Applications Processors

Android Virtualization from Sierraware. Simply Secure

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

AUTOSAR and Linux Single chip solution Implementation of Automotive Multipurpose ECU Prototype system using hypervisor solution

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

ARM Processors and the Internet of Things. Joseph Yiu Senior Embedded Technology Specialist, ARM

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Secure Containers. Jan Imagination Technologies HGI Dec, 2014 p1

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

Embedded Linux Platform Developer

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Going Linux on Massive Multicore

AN INTEL COMPANY WIND RIVER AUTOMOTIVE SOLUTIONS

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

Virtualization for Cloud Computing

Experience with the integration of distribution middleware into partitioned systems

WIND RIVER SECURE ANDROID CAPABILITY

Configuring and Managing a Private Cloud with Enterprise Manager 12c

Lean and Easy Ways to Adopt MOST Technology

Sierraware Overview. Simply Secure

ITG Software Engineering

Security Security by Separation

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

Simplify rich applications & hard real-time

Intel Graphics Virtualization Technology Update. Zhi Wang,

AUTOSAR Safety Solutions for Multicore ECUs and ADAS Systems. Robert Leibinger 5 th June 2015

Mobile Operating Systems Lesson 05 Windows CE Part 1

Enabling Technologies for Distributed Computing

STLinux Software development environment

System Software and TinyAUTOSAR

Enabling Technologies for Distributed and Cloud Computing

SMARTDEVICELINK CONNECTIVITY FROM THE CAR S POINT OF VIEW

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

Flight Processor Virtualization

Mobile Operating Systems. Week I

Example of Standard API

Enterprise-Class Virtualization with Open Source Technologies

Application Framework: Apertis Hands-on

Introduction to the NI Real-Time Hypervisor

Running Windows 8 on top of Android with KVM. 21 October Zhi Wang, Jun Nakajima, Jack Ren

DOWNLOAD COURSE PRESENTATIONS. Scan to download course presentations

Android Auto PoC. October Oct-15. Maxim Ovchinnikov Architect Harman

SABRE Lite Development Kit

Multi-core Programming System Overview

Real-Time Virtualization How Crazy Are We?

Introduction to Android

VELOCITY LAB TM Embedded Development Ecosystem

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

An Introduction to Android. Huang Xuguang Database Lab. Inha University

SNAPPIN.IO. FWR is a Hardware & Software Factory, which designs and develops digital platforms.

Electrics & Electronics

ANDROID OPERATING SYSTEM

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

ARM Processors for Computer-On-Modules. Christian Eder Marketing Manager congatec AG

Standardized software components will help in mastering the. software should be developed for FlexRay were presented at

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

Inside Android's UI Embedded Linux Conference Europe 2012 Karim

Video/Cameras, High Bandwidth Data Handling on imx6 Cortex-A9 Single Board Computer

Cloud Computing. Adam Barker

Research and Design of Universal and Open Software Development Platform for Digital Home

EXPLORING LINUX KERNEL: THE EASY WAY!

Do AUTOSAR and functional safety rule each other out?

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

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

Make the green IP switch Low-energy semiconductor solutions for VoIP

Standardization with ARM on COM Qseven. Zeljko Loncaric, Marketing engineer congatec

Industrial Application of MultiPARTES

Before we can talk about virtualization security, we need to delineate the differences between the

Useful USB Gadgets on Linux

<Insert Picture Here> Oracle VM and Cloud Computing

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

Virtualization and the U2 Databases

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

APx4 Wireless System-on-Module 5/8/2013 1

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

WIND RIVER HYPERVISOR

NI Real-Time Hypervisor for Windows

Chapter 14 Virtual Machines

SCSK s Automotive Software Business

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

About Us. Technology Solutions & Services Company. Turn Innovative Ideas into Real Products & Software, Efficiently

ZigBee Technology Overview

Mobile Phones Operating Systems

High Performance or Cycle Accuracy?

Transcription:

Virtualization and Shared Graphics on i.mx6

Agenda 1. About OpenSynergy 2. Virtualization 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 2

Agenda 1. About OpenSynergy 2. Virtualization 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 3

About OpenSynergy Short Profile Located in Germany (Berlin Headquarter) and United States (San Diego) Worldwide customers and partners Focused on automotive embedded software Approximately 65 employees (Q1 2014) Excellent expertise in AUTOSAR, Infotainment, Car2I, Mobile device integration, Linux in automotive, Bluetooth software 4

List of Automotive Customers COQOS & Services Blue SDK 5

Challenge in Automotive: Integration amount of software-based functions cost per function number of ECUs time processor Pricing pressure requires multiple functions integrated on a single ECU 6

Agenda 1. About OpenSynergy 2. Virtualization a. Overview b. Technical details 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 7

Technology Behind COQOS 8 The product contains all orange modules. It is based on PikeOS technology.

Main features Infotainment framework Virtualized environment Linux Android AUTOSAR POSIX, bare metal Shared graphics (framebuffer, GPU, touch) Fast-booting rear-view camera (1.6s) Bluetooth stack Safety and security Real-time applications Certified hypervisor 9

COQOS Target Platforms Instrument Cluster Connectivity Box Driver Assistance Systems Infotainment Head Unit 10

COQOS Infotainment Head-Unit Solution COQOS is the best way to take advantage of Linux and still satisfy automotive requirements! ACF Early Apps e.g. Rear-View Camera ACF ACF Service Partition ECU State Management... Hypervisor Bootloader Physical Hardware Core 0 Core 1 Core 2 Core 3 The product contains all orange modules. It is based on PikeOS technology. 11

Cloud Services Solution RTE Lower layer stack ECU State M. Linux / Java - Framework ACF OS & ACF BSW Driver Hypervisor Hardware Eth MOST USB Hardware (single chip) DIO CAN 12 Single Chip for Application (Linux), CAN-Communication, Higher Layer Communication Best cost solution based on single SoC Open framework for online services in Linux Separation of software partitions for security ECU state management in separate partition for safety support AUTOSAR basic software for automotive integration Linux framework for middleware and applications Automotive communication framework (ACF) for inter-partition communication

Supported Platforms Hardware Platform Consumer OS Automotive OS Freescale i.mx 35 PDK Linux AUTOSAR CAN-Stack Freescale i.mx 53 SABRE Android 2.3 or Linux 2.6.35 / GenIVI AUTOSAR CAN-Stack Freescale i.mx 6D/Q (SABRE ai) Android 4.2 or Linux 3.0 AUTOSAR CAN-Stack Freescale i.mx 6 solo Linux AUTOSAR CAN-Stack 13

Agenda 1. About OpenSynergy 2. Virtualization a. Overview b. Technical details 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 14

Major hardware blocks Core 1 Core 2 Core 3 Core 4 CPU CPU processing time Memory Interrupts I/O Ethernet Graphics 15

Partitioning partitioning Linux other OS services AUTOSAR AUTOSAR BSW controlled communication hypervisor CPU 16

Hypervisor with multiple resource partitions CPU user mode CPU supervisor mode Linux guest OS #1 Linux guest OS #2 Service partition Linux Userland Linux Userland Watchdog Direct I/O Linux Kernel Secure I/O Linux Kernel Shared drivers Hypervisor System Software Configuration Data Hypervisor Kernel in supervisor mode CPU 17

Deterministic Scheduling Linux other OS hypervisor CPU AUTO AUTO SAR SAR BSW Global scheduling of the threads inside the partitions in the hypervisor through a real-time scheduler: time-partitioning mechanism (deterministic sharing of ECU between partitions) Pre-emptive priority-based scheduler (highest priority ready thread runs) within timepartition Part 0 Part 0 Linux AR OtherOS AR Linux AR OtherOS AR time 18

Multi-Core Scheduling SMP Linux Single core Linux System Partition AUTO SAR COQOS Core 0 Core 1 Core 2 Core 3 19

Agenda 1. About OpenSynergy 2. Virtualization 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 22

Challenge Linux other OS services AUTOSAR AUTOSAR BSW COQOS CPU Concurrent read, write, configure Hardware block e.g. Ethernet, CAN, Graphics 23

Drivers in local partition exclusive access Graphics Graphics Audio Audio Video Video USB USB Ethernet Ethernet Virtualized Linux with selective Direct Hardware Access Fully Virtualized Linux AUTOSAR CAN CAN Driver...... COQOS CPU... 24

Virtual drivers Ethernet Ethernet vethernet vethernet vethernet Service Partition Partition 1 Partition 2 Partition 3... COQOS CPU virtual Ethernet 25

Share through high-level frameworks Graphics Graphics SSD SSD Virtualized Linux with selective Direct Hardware Access Fully Virtualized Linux X Server NFS Server X Client NFS Client...... IP stack IP stack COQOS CPU virtual Ethernet 26

Share through low-level frameworks Partition 1 Partition 2 Partition 3 File Provider (Sharing Logic) Driver Driver Proxy File Client Driver Proxy File Client... COQOS CPU Device 27

Agenda 1. About OpenSynergy 2. Virtualization 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 28

Use Case: Cockpit Cluster 1 (Speed indicator) Cluster 2 (Information) Head Unit hypervisor SoC 29

Use Case: Multi Linux on Head Unit Navigation (Linux 1) Multimedia (Linux 2) hypervisor SoC 30

Shared Graphics: Use Cases Client Partition 1 Client Partition 2 Windowing/ Layering Control Use-Cases: run ADAS (e.g. rear-view camera) in its own fast-booting partition COQOS drive 2 displays (e.g. instrument cluster and central head-unit display) from a single SoC IPU combine critical (time-critical or safety-relevant) and uncritical information on a single display Display 1 Display 2 32

Shared graphics overview 1. Shared framebuffer 2. Shared GPU 3. Shared touch 33

Shared Frame-Buffer Client 1 (sees virtual framebuffer) Graphics client driver Client 2 (sees virtual framebuffer) Graphics client driver shared memory + events Graphics Server with Window Positioning/Layering Control COQOS IPU Display 2 34

Shared touch Capturing touch events from device (UART, SPI ) Decide on partion based on current window/layer setup Forward events active to partition Virtual touch driver in each partition Shared graphics Partition 1 Partition 2 Partition 3 COQOS Soc Touch screen 36

Agenda 1. About OpenSynergy 2. Virtualization 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 37

GPU sharing + framebuffer sharing Client Application using OpenGL Client App OpenGL-ES2 libraries OpenGL lib Access Control Windowing Control Linux Kernel Kernel Linux Kernel Virtual framebuffer Virtual GPU driver VFB VGPU GPU Server GFX Server COQOS shared memory + events i.mx6 GPU IPU 39

GPU sharing Linux Kernel Client Application using OpenGL OpenGL libraries Virtual framebuffer COQOS Virtual GPU driver Major reasons for the approach: User space remains untouched; applications, libraries (or even root fs) can be reused Better performance compared to userspace virtualization, uses DMA GPU vendor s IP of OpenGL libs is protected (no chance to legally modify anything there) Security: protected component to control the GPU server services (access and timing). GPU scheduler plug-in interface (driver level) for further improvements available. IPU GPU 40

Summary Hypervisor Linux / Android / AUTOSAR / POSIX / real-time partitions; system partition Multi-core / SMP separation Time partitioning & priorities; Fixed schedules, switchable Interpartition communication: shared memory, pipes, virtual Ethernet, ACF, etc Shared devices Ethernet, UART, storage Graphics (framebuffer, GPU, touch) Other or request Rear-view camera (RVC) Analog camera Based on boot-optimized linux partion API for guiding lines Fast-boot Hypervisor + AUTOSAR boot in <200ms Hypervisor + AUTOSAR + RVC boot in about <2s 41

Summary COQOS maturity In series production in a telematics unit Integrated into upcoming platforms at multiple Tier-1s Development projects for series production have just started Android based head-unit A-sample for an OEM Many PoC projects OpenSynergy Independent company Development & support in Berlin Automotive company 42

Agenda 1. About OpenSynergy 2. Virtualization 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 43

Demo on Freescale i.mx6q 44

Thank you! Questions? 45

Contact OpenSynergy GmbH Rotherstraße 20 D-10245 Berlin Germany tel +49 30 / 60 98 54 0-0 fax +49 30 / 60 98 54 0-99 mail info@opensynergy.com 46