GenIVI Virtualization - The Linux Foundation
GenIVI Virtualization - The Linux Foundation
GenIVI Virtualization - The Linux Foundation
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