27.10.2014 Views

GenIVI Virtualization - The Linux Foundation

GenIVI Virtualization - The Linux Foundation

GenIVI Virtualization - The Linux Foundation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>GenIVI</strong> <strong>Virtualization</strong>


Does virtualization make<br />

<strong>Linux</strong> based IVI systems<br />

flexible and secure?<br />

2 Copyright OpenSynergy 2012


Infotainment today<br />

Head Unit<br />

ECU with most CPU<br />

power<br />

Largest memory<br />

Huge amount of<br />

software (2/3 of car)<br />

Prerequisite for<br />

additional functions is<br />

given<br />

3 Copyright OpenSynergy 2012


Functions of a Head Unit today<br />

• Personal Information Manager (PIM)<br />

• Media (Music, DVD)<br />

• Tuner / Radio<br />

• Navigation<br />

• Telephony<br />

• Online services<br />

Interface (HMI) to the driver<br />

• Display<br />

• Interface (Touch, Buttons, Jog Shuttle)<br />

4 Copyright OpenSynergy 2012


Can a software architecture be designed<br />

that incorporates additional functions<br />

into the head unit<br />

in a safe and secure way?<br />

5 Copyright OpenSynergy 2012


Function Allocation<br />

Phone<br />

Music<br />

App<br />

PIM<br />

Radio<br />

Navigation<br />

HVAC 1<br />

Rear<br />

View<br />

Camera<br />

3G WiFi<br />

Bluetooth<br />

MMI<br />

interface<br />

Display<br />

CAN<br />

CE<br />

Automotive<br />

6 Copyright OpenSynergy 2012<br />

1<br />

Heating Ventilation Air Conditioning<br />

Separation


Requirements of a Head Unit<br />

Fast boot:<br />


Head Unit example architecture<br />

CE functions<br />

Automotive<br />

functions<br />

In-vehicle<br />

network<br />

Hardware<br />

One CPU with virtualization<br />

8 Copyright OpenSynergy 2012


Head Unit example architecture<br />

<strong>Linux</strong>/Android <strong>GenIVI</strong> AUTOSAR<br />

Web<br />

Music<br />

Apps<br />

Internet<br />

Navigation<br />

Radio<br />

HVAC control<br />

Rear View Cam<br />

Online Services<br />

CAN network<br />

Power Mgmt<br />

3G,<br />

USB…<br />

shared<br />

Display & Audio<br />

CAN & Power<br />

One CPU with virtualization<br />

9 Copyright OpenSynergy 2012


Function Example: HVAC control<br />

<strong>GenIVI</strong><br />

AUTOSAR<br />

CAN network<br />

HVAC control<br />

Display<br />

CAN<br />

One CPU with virtualization<br />

10 Copyright OpenSynergy 2012


Function Example:<br />

Remote Door Lock / Unlock and remote A/C<br />

<strong>Linux</strong>/Android Security AUTOSAR<br />

Internet<br />

Secunet<br />

Protection Unit<br />

CAN network<br />

Power Mgmt<br />

3G<br />

CAN & Power<br />

One CPU with virtualization<br />

11 Copyright OpenSynergy 2012


Head Unit and Cluster integration<br />

<strong>Linux</strong>/Android <strong>GenIVI</strong> AUTOSAR<br />

<strong>GenIVI</strong><br />

Web<br />

Music<br />

Apps<br />

Internet<br />

Navigation<br />

Radio<br />

HVAC<br />

Seat Adjust<br />

Rear View<br />

CAN network<br />

Power Mgmt<br />

Cluster<br />

3G,<br />

USB…<br />

shared<br />

Display & Audio<br />

CAN & Power<br />

Cluster<br />

Display<br />

Warning lamp<br />

One CPU with virtualization<br />

12 Copyright OpenSynergy 2012


Can it withstand security concerns?<br />

15 Copyright OpenSynergy 2012


What is separation?<br />

• Controlled memory access<br />

• Assigned CPU processing time (configured scheduler)<br />

• Inter-partition communication<br />

16 Copyright OpenSynergy 2012


Safety<br />

<strong>Linux</strong>/Android <strong>GenIVI</strong> AUTOSAR<br />

<strong>GenIVI</strong><br />

Web<br />

Music<br />

Apps<br />

Internet<br />

Navigation<br />

Radio<br />

Seat Adjust<br />

Rear View<br />

CAN network<br />

Power Mgmt<br />

Cluster<br />

B<br />

C<br />

D<br />

D<br />

Micro Kernel<br />

D<br />

3G,<br />

USB…<br />

shared<br />

Display & Audio<br />

CAN & Power<br />

Cluster<br />

Display<br />

Warning lamp<br />

Safety Level<br />

One CPU with virtualization<br />

17 Copyright OpenSynergy 2012


Does virtualization impact the systems performance?<br />

Native <strong>Linux</strong> vs. virtualized <strong>Linux</strong><br />

Tested<br />

feature<br />

CPU + I/O<br />

Memory+<br />

Cache<br />

Benchmark Native Virtualized Overhead<br />

(%)<br />

encode-mp3 [s] 502.3 509.9 1.50<br />

encode-flac [s] 168.6 171.8 1.95<br />

Read [MB/s] 375.4 374.2 -0.31<br />

Write [MB/s] 774.2 757.5 -2.16<br />

Read/Modify/Write [MB/s] 421.3 417.4 -0.92<br />

18 Copyright OpenSynergy 2012


Some technical details on<br />

Para-virtualisation…<br />

19 Copyright OpenSynergy 2012


Para-<strong>Virtualization</strong><br />

<strong>GenIVI</strong><br />

Navigation<br />

Radio<br />

Seat Adjust<br />

Rear View<br />

1. Separation of partitions<br />

2. Safe Micro Kernel<br />

3. Only micro kernel in system space<br />

4. <strong>GenIVI</strong> („guest OS“) is prepared<br />

Para-virtualized<br />

<strong>Linux</strong> Driver<br />

Integration<br />

Micro kernel<br />

20 Copyright OpenSynergy 2012


Para-virtualization concept for <strong>Linux</strong>/Android<br />

Fully Virtualized Kernel<br />

Kernel with Selective Direct<br />

Hardware Access<br />

<strong>Linux</strong> “user-land”<br />

<strong>Linux</strong> Kernel<br />

software APIs<br />

µOS<br />

CPU<br />

<strong>Linux</strong> “user-land”<br />

<strong>Linux</strong> Kernel<br />

software APIs<br />

Drive<br />

r<br />

µOS<br />

CPU<br />

Device<br />

21 Copyright OpenSynergy 2012


Fully Virtualized <strong>Linux</strong> Kernel<br />

A fully virtualized Kernel is implemented as a port of <strong>Linux</strong> to a new architecture.<br />

User-Land<br />

User-Land<br />

Kernel Generic parts<br />

Separate Kernel Address Space<br />

Memory<br />

Management<br />

Kernel Architecture-specific parts<br />

I/O Resource<br />

Managemnet<br />

Exception<br />

Handling<br />

Interrupt<br />

Handling<br />

Proxy Drivers e.g.:<br />

-access to virtual<br />

Ethernet<br />

-access to virtual<br />

serial connection<br />

software APIs<br />

µOS<br />

22 Copyright OpenSynergy 2012


<strong>Linux</strong> Kernel with Selective Direct Hardware Access<br />

<strong>The</strong> Fully Virtualized Kernel can be extended to include drivers that directly interact with selected<br />

hardware.<br />

User-Land<br />

User-Land<br />

Kernel Generic parts<br />

Architecture-specific parts<br />

Memory<br />

Management<br />

I/O Resource<br />

Management<br />

Exception<br />

Handling<br />

Interrupt<br />

Handling<br />

BSP<br />

and<br />

<strong>Linux</strong><br />

Drivers<br />

Some aspects of the<br />

BSP need to be ported<br />

µOS<br />

CPU<br />

Device<br />

µOS configured for selective<br />

hardware access<br />

23 Copyright OpenSynergy 2012


AUTOSAR: Architecture<br />

SW-C 1<br />

…<br />

SW-C N<br />

RTE<br />

DEM<br />

DCM<br />

CANTP<br />

COM<br />

OS<br />

ACF<br />

(CDD)<br />

…<br />

PDUR<br />

CanSM<br />

CanIf<br />

Can<br />

Can Trcv<br />

µOS<br />

Hardware<br />

24 Copyright OpenSynergy 2012


AUTOSAR: Concrete example of series project<br />

AR<br />

SW-C<br />

1<br />

…<br />

AR<br />

SW-C<br />

N<br />

...<br />

<strong>Linux</strong><br />

apps<br />

<strong>Linux</strong><br />

with<br />

ACF<br />

AR<br />

OS<br />

ACF<br />

(CDD)<br />

µOS<br />

AR RTE<br />

complete AUTOSAR BSW<br />

package from Vector<br />

Informatik<br />

drivers CAN<br />

existing BSW can be<br />

plugged-in without<br />

modifications<br />

Vector Informatik<br />

has ported CAN<br />

Driver to COQOS<br />

flash<br />

boot-loader<br />

hardware<br />

delivered<br />

by OpenSynergy<br />

delivered by Vector<br />

Informatik<br />

third-party<br />

modules<br />

25 Copyright OpenSynergy 2012


AUTOSAR: Inter-Partition Communication with ACF<br />

C/C++ API<br />

for <strong>Linux</strong><br />

applications<br />

API for ANDROID<br />

JAVA<br />

app<br />

AR<br />

SW-C<br />

1<br />

AUTOSAR<br />

AR RTE BSW<br />

LINUX<br />

ANDROID<br />

AR<br />

OS<br />

ACF<br />

(CDD)<br />

µOS<br />

CPU<br />

ACF = Automotive Communication Framework<br />

• Provides AUTOSAR communication semantics (sender/receiver across partitions)<br />

• Best solution for automotive information that is typically on the CAN-bus<br />

• Configured with AUTOSAR-like mechanisms<br />

26 Copyright OpenSynergy 2012


Summary<br />

<strong>Virtualization</strong> adds flexibility<br />

<strong>Virtualization</strong> allows distributed development<br />

<strong>Virtualization</strong> reduces complexity and dependencies<br />

<strong>Virtualization</strong> saves hardware costs<br />

Questions?<br />

OpenSynergy provides:<br />

• COQOS virtualization solution based on microkernel<br />

• AUTOSAR partition with OS, RTE and CAN Stack<br />

• <strong>Linux</strong>, <strong>GenIVI</strong> and Android partitions (already para-virtualized)<br />

• Inter-partition communication via virtual Ethernet and ACF<br />

• Shared drivers for Display, Audio, Storage, Ethernet etc<br />

Thank you !<br />

27 Copyright OpenSynergy 2012


Contact<br />

OpenSynergy GmbH<br />

Rotherstraße 20 9<br />

D-10245 Berlin<br />

Germany<br />

tel tel +49 30 30 // 60 6098 9854 540 0 - -0<br />

0<br />

fax fax +49 30 30 / / 60 6098 9854 540 0 - -99<br />

99<br />

mail info@opensynergy.com<br />

OpenSynergy, COQOS, Qonformat and and other other OpenSynergy products and and services<br />

mentioned herein herein as as well well as as their their respective logos logos are are trademarks or or registered<br />

trademarks of of OpenSynergy GmbH GmbH in in Germany and and in in several several other other countries all all over over<br />

he he world. world. All All other other products and and services names names mentioned are are the the trademarks of of their their<br />

respective companies. <strong>The</strong>se <strong>The</strong>se materials are are subject subject to to change change without notice. notice. <strong>The</strong>se <strong>The</strong>se<br />

materials are are provided by by OpenSynergy GmbH GmbH for for informational purposes only, only, without<br />

representation or or warranty of of any any kind kind and and OpenSynergy GmbH GmbH shall shall not not be be liable liable for for<br />

errors errors or or omissions with with respect respect to to the the materials.<br />

28 Copyright OpenSynergy 2012

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!