SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Design and Implementation of Automotive
Virtualization Based on Xen
June 21, 2018
Xen Developer and Design Summit
Sung-Min Lee
sung.min.lee@samsung.com
1 / 21
Acknowledgement
Bokdeuk Jeong, Hanjung Park, Kiwoong Ha, Hyeongseop Shim,
Jinsub Sim, Byungchul So, Min Kang, Junbong Yu,
Hyeonkwon Cho, Sungjin Kim, Hakyoung Kim, Sangbok Han,
Vasily Leonenko, Dmitrii Martynov, Andrew Gazizov,
Sergey Grekhov, Ildar Ismagilov, Imran Navruzbekov,
and colleagues from S.LSI
Major Contributors
Contents
Why Virtualization
Key Requirements
Our Design and Implementation
Evaluation
Demo (Video Clip)
Ⅰ
Ⅱ
Ⅲ
Ⅳ
Ⅴ
3 / 21
Why Virtualization in Automotive Industry?
Easy Firmware Update for Automotive System
Enhanced In-Vehicle Security
Cost/Complexity Reduction
Virtualization?
4 / 21
Key Requirements for Automotive Virtualization
Fast Startup
Fault Recovery for Reliable In-Vehicle Services
High Performance Graphics Support for Guest OS
5 / 21
Overall Architecture
Xen
Dom0 (Cluster OS) DomU (IVI OS)
Virtual I/O Frontend Drivers
(Storage, N/W, Serial, Input, Audio,
Camera)
Virtual I/O Backend Drivers
(Storage, N/W, Serial, Input,
Audio, Camera)
Passthrough
I/O Drivers
Virtual Graphics Frontend
Virtual Graphics Backend
Fast Startup Fault Recovery
Native Device Drivers
Fault Recovery
IVI Platform (e.g., GDP)Cluster OS UI
Fault RecoveryXen Tools
PV Backend Drivers for
DomU Passthrough
(clocksource,regulator,pinctrl)
PV Frontend
Driver for
Passthrough
6 / 21
Fast Startup (1/3)
Xen Heap Initialization Static VM Memory Assignment
Reducing Memory Initialization Time
Open source Xen is based on
per-page xen heap insertion
Reduce the number of the init function
invocations and remove spinlocks by
implementing a new initialization function
Skip scrub_heap_pages()
Assign specific addresses and size for VMs in
device tree and exclude them for Xen Heap
insertion
The number of pages to initialize is reduced
and double definition overhead (init + VM
assigning) is disappeared
Xen Heap initialization range
Dom0 memory Dom1 memory
Double assignment
Dom0 Memory Dom1 Memory
Heap Initialization Range is reduced
Original ver
Samsung ver
Double assignment
disappeared
0x8000xxxx 0xFFFFxxxxPagePage
Page
Page
Xen Heap
Page
Page
Page
Page
Xen Heap
free_heap_pages fastboot_insert_page
Call init function
by the number
of total pages
times
Initialize total pages as heap
Don’t have to
call init function
many times
alloc_domheap_pages
domain_direct_assign_pages
Contiguous
Page Chunk
Order of 2
Original ver Samsung ver
7 / 21
Fast Startup (2/3)
Relocate DTB Nodes Improve DTB Creation Algorithm
Reducing DTB Lookup and Creation Time
Scanning all nodes in device tree takes
a lot when its size is large
Group scattered “chosen” and
“memory” nodes into one node and
relocate it at the head of device tree to
search faster
Creating device tree for control OS
takes most of time
FDT library uses the most naïve
algorithm when comparing strings
Replace it with better one, Boyer-
Moore algorithm with time complexity
O(m+n)
Flattened Device Tree Description
Grouped
information node
Chosen
node
Memory
node
Memory
node
Visit all nodes to find information nodes
Doesn't have to visit all nodes
Original ver
Samsung ver Special node “xen-early-scan-end”
8 / 21
Fast Startup (3/3)
Assign Big Core for Dom0 Creation Concurrent VM Creation
Assign Big Core and Concurrent VM Creation During the Xen Startup
Exynos8890 uses little core for boot
strap processor (CPU0)
Assign tasklet to sleeping big core to
create control OS
CPU0 waits until domain creation done
To shorten the time spent on XL for
DomU creation, Samsung moves its data
structure initialization to xen startup
Assign a guest OS creation tasklet to
another sleeping big core and create
simultaneously with control OS creation
CPU0
(little core)
CPU4
(Big core)
Scanning DTB, Heap init, Secondary core booting..
Domain creation
Schedule tasklet to Big core
ETC
Wait until dom creation
done…
Create domain
Notify that creation done
Scanning DTB, Heap init, Secondary core booting..
Domain creation
Schedule control OS tasklet to CPU4
ETC
Wait until dom(s)
creation done…
Create dom0
Notify that creation done
CPU0
(little core)
CPU4
(Big core)
CPU5
(Big core)
Schedule guest OS tasklet to CPU5
Create dom1
9 / 21
Fault Recovery (1/3)
First Sub-headingFault Recovery Scenario
Linux Kernel Linux Kernel
Xen
Watchdogd
Xen
Watchdog
Timer
Xen ToolsWatchdogd
HW
Watchdog
Timer
Xen Shutdown Manager
Samsung VM
Reset Manager
(Relaunch VMs)
HW Reset
XEN
CrashCrash
Exynos8
KickKick
Timeout
Timeout
1.Reset
Request
2.Execute
resetVM
void panic (const char *fmt, …)
 hypercall
HYPERVISOR_sched_op(SCHEDOP_
shutdown, &r);
void panic (const char *fmt, …)
 machine_restart
Set timeout/
notification period
Set timeout/
notification period
Dom0 DomU
10 / 21
Fault Recovery (2/3)
First Sub-headingConventional VM Restart vs Our VM Reset
VM Restart VM Reset
Destroy a domain
Create a new domain
Free/Allocate all resources
Use hypercalls for destroy domain
and create domain in xen
- XEN_DOMCTL_destroydomain
- XEN_DOMCTL_createdomain
Destroy devices only
Just reuse almost all
resources like vcpu structure,
shared_info, p2m table, etc
Reset the existing domain
Add a new hypercall for
reset domain in xen
- XEN_DOMCTL_samsung_reset
11 / 21
Fault Recovery (3/3)
First Sub-heading
XEN
Dom0 (Control domain)
XL
DomU
XS
domain_reset
- Reset grant table
- Reset vcpu, vgic, vtimer
- Reset shared_info page
- Reset p2m table
- Reset event channel
send_global_virq(VIRQ_DOM_EXC);
Release
Domain
Reset flags
setting
libxl_domain_reset
1. xs_release_domain
2. Destroy devices
fire
Hypercall:
XEN_DOMCTL_unpausedomain
DomU
unpause
Relaunching complete
②
③
④
⑤
domain_shutdown
(Xen Shutdown Manager)
- Set reason flags for shutdown
- Pause vcpus
initiate_domain_create
- Reload kernel binary
- Reload device tree from
memory
- Reset CPU registers
- xs_introduce_domain
Hypercall:
XEN_DOMCTL_samsung_reset
⑥
⑦
devices_destroy_cb
- Request domain reset
Xen Watchdog Timeout
①
VM Reset Procedure
Hypercall:
HYPERVISOR_sched
_op(SCHEDOP_shut
down,&r);
Crash
①
12 / 21
I/O Virtualization
First Sub-heading
DomU (IVI OS)Dom0 (Cluster OS) Dom0 (Cluster OS) DomU (IVI OS)
PV I/O Drivers Passthrough I/O Drivers
virtual clocksources, regulators and
pintcontrollers are provided to DomU
for device passthrough
Xen
Pass-thru Device Drivers
vClock
FE
vRegulator
FE
vPinctrl
FE
vNet, vStorage, vConsole : utilized existing
open source codes
vInput: provides touch
vCamera, vAudio : developed from scratch
Performance enhancement with direct
cache operations on foreign pages
vNet BE vBlock BE
vCamera BE
vAudio BE vConsole BE
vInput BE
vNet FE vBlock FE
vCamera FE
(as a V4L2 driver)
vAudio FE
(as an ALSA driver) vConsole FE
vInput FE
image
Native Device Drivers
(Pinctrl, Regulator, Clocksource)
vClock
BE
vRegulator
BE
vPinctrl
BE
I/O
device
Xen
I/O
device
13 / 21
Graphics Virtualization (1/3)
First Sub-headingOverall Architecture of Graphics Virtualization
Xen
Dom0 (Cluster OS) DomU (IVI OS)
Application
Display Server
SVGL FE (Library)
Kernel
vGPU FE
Graphics Control Manager (GCM) FE
Virtual
OpenGL ES FE
Virtual DRI (GBM, Wayland Buf)
Virtual GPU Command Buffer
Native
Display Server
Kernel
Native Graphics Library
Native Graphics
Driver
vGPU BE
Samsung Virtual Display Manager (SVDM)
Client
(Native
Window)
Samsung Virtual Graphics Library(SVGL) BE
Virtual EGL FE
GL Render
Virtual EGL BE
Virtual OpenGL ES BE
RenderThread
③
④⑤
⑥
①
②⑧
⑨
Encoded Graphics Data to
Shared Memory
Graphics
APIsVirtual Display
GLES APIs
and Data
EGL APIs
GCM BE
eglCreateWindowSurface [eglCreatePbufferSurface]
⑦
②
14 / 21
Graphics Virtualization (2/3)
DomU Kernel
vGPU FE
Key Features Adaptive Interrupt/Poll Processing
Key Features and Performance Optimization
Latest Graphics APIs Support
: OpenGL ES v3.2/EGL v1.5 Support
Shared Memory Between BE and FE
With Simple Protocol
Batch Processing for Transferring APIs
Selective APIs Transfer to BE
Adaptive Interrupt/Poll Processing in FE
Efficient Graphics Buffer Management
Dynamically Choosing Either Interrupt or Poll Based on
Request Rate Between SVGL FE and vGPU FE
Recalculate “the rate” at Every 250 ms
Performance Improvement Over Interrupt Method with
the Threshold “0.3” in Policy [75 cmd buf flush OPs/250ms]
Xen
SVGL FE
Dom0
Kernel
Graphics
Native
Library
SVDM
Application
Virtual GPU
Command Buffer
interrupt
GCM
Monitor
Interrupt/
Poll
Read
Graphics APIs
& Data
Interrupt or
Poll
Rate = # of Buffer Flush OPs/Time
Policy
Threshold: 0.3 
# if 0.3  the calculated rate
then Polling
else Interrupt
15 / 21
Graphics Virtualization (3/3)
First Sub-heading
DomU Kernel
vGPU
Graphics Command Buffer Transfer Variable Size Buffer Allocation
Efficient Graphics Command Buffer Management
Accumulate each Opcode of API whose
return type is “void” and Data to the Buffer
Flush Buffer for “glFlush”, “glFinish” and “non-
void return type APIs”.
Flush Buffer in the Case of “Buffer Full”
Xen
SVGL FE
DomU Kernel
Dom0
Kernel
Native
Graphics
Library
SVDM
Application
Virtual GPU Command Buffer
…
SVGL FE
Dom0
Kernel
Native Graphics
Library
SVDM
Application
Virtual GPU CMD Buffer
Xen
30
M
30
M
EGL/GLES
API
add/remove
memchunk
Send event
for memory
alloc/realloc
Map/
Unmap
Shared
Memory
30
M
30
M
glFlush, glFinish,
Non void return
type APIs
Void Return
type APIs
Store
opcode and
Data
Send accumulated APIs
Any type of
APIs
Buffer is
full
Dynamically Resizable Buffer Management
: Initial Buffer Size (30MB)
Expand Buffer Pool Based on Available Buffer
Size and Requested Size from SVGL FE
Shrink Buffer When App is Terminated
Foreignmap
Buffer Pool
Manager
Buffer
Allocator
16 / 21
Evaluation: Startup Performance
First Sub-heading
144
103
Base Line Reduce Memory
Initialization
Improve DTB
creation
Bigcore Assining
Time Measurement Unit : msec
Xen Startup Time Changes Time Measurement for Sections
Measured Time:
start_xen() ~ init_done()
[xen/arch/setup.c]
10
471
313
685
64
16
1
Original ver Samsung ver
Page Scrubbing
Domain creation
Heap & Hardware
Initialization
Scanning DTB
10
471
685
313
1
9
59
1479
69
1,479 msec
69 msec
17 / 21
Evaluation: VM Fault Recovery Time
First Sub-headingVM Restart Time vs. VM Reset Time (sec)
7.1
0.97
VM Restart VM Reset
Time Measurement
After Optimization
libxl_domain_unpause function
[in xl_cmdimpl.c]
libxl_domain_unpause function
[in xl_cmdimpl.c]
xl reset xl restart
18 / 21
Evaluation: I/O Performance
First Sub-heading
Storage Throughput
Storage and Network Throughput
Dom0
216MB/s
(94.7%)
228MB/s
DomU
Network Throughput
Dom0
129Mbits/s
(92.8%)
139Mbits/s
DomUDom0
132MB/s
(98.5%)
134MB/s
DomU
Seq. Read
Seq. Write
19 / 21
Evaluation: Khronos CTS
First Sub-headingNumber of Passed Test Case by Khronos CTS
1228
2991
1392
2511
261
1228
2991
1392
2511
261
OpenGL ES 2.0 OpenGL ES 3.0 OpenGL ES 3.1 OpenGL ES 3.2 OpenGL ES EXT
Dom0 DomU
Number of Passed TC
Total # of Passed TC: 8,383
20 / 21
Evaluation: Graphics Performance
Glmark2-es-wayland 1920x1080 Off-screen
660 662 663 662 662 661.8
639 638 636
640 639 638.4
1st 2nd 3rd 4th 5th Average
Dom0 DomU
Score
96.8%
96.4%
95.9%
96.7%
96.5%96.5%
1st 2nd 3rd 4th 5th Average
1st 2nd 3rd
4th 5th Average
Ratio
21 / 21
Demo
System Environment
- Exynos 8890 Octacore (Big core: 2.28GHz, Little: 1.58GHz)
- 6 GB DRAM
- 32 GB MMC
- Mali T880 MP12
Xen (v4.8)
Cluster OS
(Dashboard UI)
IVI OS
(Genivi Demo Platform)
Exynos 8890
Thank you
22

Weitere ähnliche Inhalte

Was ist angesagt?

HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
Linaro
 

Was ist angesagt? (20)

ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
 
Power Management from Linux Kernel to Android
Power Management from Linux Kernel to AndroidPower Management from Linux Kernel to Android
Power Management from Linux Kernel to Android
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
 
From printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingFrom printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debugging
 
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
 
LAS16-200: SCMI - System Management and Control Interface
LAS16-200:  SCMI - System Management and Control InterfaceLAS16-200:  SCMI - System Management and Control Interface
LAS16-200: SCMI - System Management and Control Interface
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel Source
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Android 10
Android 10Android 10
Android 10
 
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
 

Ähnlich wie XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen - Sung-Min Lee, Samsung Electronics

Wonho Park_20151209
Wonho Park_20151209Wonho Park_20151209
Wonho Park_20151209
Wonho Park
 
Running Dicom Visualization On The Cell (Ps3) Rsna Poster Presentation
Running Dicom Visualization On The Cell (Ps3) Rsna Poster PresentationRunning Dicom Visualization On The Cell (Ps3) Rsna Poster Presentation
Running Dicom Visualization On The Cell (Ps3) Rsna Poster Presentation
broekemaa
 
Windows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper VWindows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper V
Amit Gatenyo
 
directCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressdirectCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI Express
Heiko Joerg Schick
 

Ähnlich wie XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen - Sung-Min Lee, Samsung Electronics (20)

Wonho Park_20151209
Wonho Park_20151209Wonho Park_20151209
Wonho Park_20151209
 
Running Dicom Visualization On The Cell (Ps3) Rsna Poster Presentation
Running Dicom Visualization On The Cell (Ps3) Rsna Poster PresentationRunning Dicom Visualization On The Cell (Ps3) Rsna Poster Presentation
Running Dicom Visualization On The Cell (Ps3) Rsna Poster Presentation
 
TenAsys.Fall07
TenAsys.Fall07TenAsys.Fall07
TenAsys.Fall07
 
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC PlatformPorting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
 
Windows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper VWindows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper V
 
2337610
23376102337610
2337610
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAM
 
Web Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march updateWeb Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march update
 
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
 
Oct2009
Oct2009Oct2009
Oct2009
 
Evolution of the Windows Kernel Architecture, by Dave Probert
Evolution of the Windows Kernel Architecture, by Dave ProbertEvolution of the Windows Kernel Architecture, by Dave Probert
Evolution of the Windows Kernel Architecture, by Dave Probert
 
Metrics towards enterprise readiness of unikernels
Metrics towards enterprise readiness of unikernelsMetrics towards enterprise readiness of unikernels
Metrics towards enterprise readiness of unikernels
 
distcom-short-20140112-1600
distcom-short-20140112-1600distcom-short-20140112-1600
distcom-short-20140112-1600
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
directCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressdirectCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI Express
 
Netflix Webkit-Based UI for TV Devices
Netflix Webkit-Based UI for TV DevicesNetflix Webkit-Based UI for TV Devices
Netflix Webkit-Based UI for TV Devices
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
NWU and HPC
NWU and HPCNWU and HPC
NWU and HPC
 

Mehr von The Linux Foundation

Mehr von The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen - Sung-Min Lee, Samsung Electronics

  • 1. Design and Implementation of Automotive Virtualization Based on Xen June 21, 2018 Xen Developer and Design Summit Sung-Min Lee sung.min.lee@samsung.com
  • 2. 1 / 21 Acknowledgement Bokdeuk Jeong, Hanjung Park, Kiwoong Ha, Hyeongseop Shim, Jinsub Sim, Byungchul So, Min Kang, Junbong Yu, Hyeonkwon Cho, Sungjin Kim, Hakyoung Kim, Sangbok Han, Vasily Leonenko, Dmitrii Martynov, Andrew Gazizov, Sergey Grekhov, Ildar Ismagilov, Imran Navruzbekov, and colleagues from S.LSI Major Contributors
  • 3. Contents Why Virtualization Key Requirements Our Design and Implementation Evaluation Demo (Video Clip) Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ
  • 4. 3 / 21 Why Virtualization in Automotive Industry? Easy Firmware Update for Automotive System Enhanced In-Vehicle Security Cost/Complexity Reduction Virtualization?
  • 5. 4 / 21 Key Requirements for Automotive Virtualization Fast Startup Fault Recovery for Reliable In-Vehicle Services High Performance Graphics Support for Guest OS
  • 6. 5 / 21 Overall Architecture Xen Dom0 (Cluster OS) DomU (IVI OS) Virtual I/O Frontend Drivers (Storage, N/W, Serial, Input, Audio, Camera) Virtual I/O Backend Drivers (Storage, N/W, Serial, Input, Audio, Camera) Passthrough I/O Drivers Virtual Graphics Frontend Virtual Graphics Backend Fast Startup Fault Recovery Native Device Drivers Fault Recovery IVI Platform (e.g., GDP)Cluster OS UI Fault RecoveryXen Tools PV Backend Drivers for DomU Passthrough (clocksource,regulator,pinctrl) PV Frontend Driver for Passthrough
  • 7. 6 / 21 Fast Startup (1/3) Xen Heap Initialization Static VM Memory Assignment Reducing Memory Initialization Time Open source Xen is based on per-page xen heap insertion Reduce the number of the init function invocations and remove spinlocks by implementing a new initialization function Skip scrub_heap_pages() Assign specific addresses and size for VMs in device tree and exclude them for Xen Heap insertion The number of pages to initialize is reduced and double definition overhead (init + VM assigning) is disappeared Xen Heap initialization range Dom0 memory Dom1 memory Double assignment Dom0 Memory Dom1 Memory Heap Initialization Range is reduced Original ver Samsung ver Double assignment disappeared 0x8000xxxx 0xFFFFxxxxPagePage Page Page Xen Heap Page Page Page Page Xen Heap free_heap_pages fastboot_insert_page Call init function by the number of total pages times Initialize total pages as heap Don’t have to call init function many times alloc_domheap_pages domain_direct_assign_pages Contiguous Page Chunk Order of 2 Original ver Samsung ver
  • 8. 7 / 21 Fast Startup (2/3) Relocate DTB Nodes Improve DTB Creation Algorithm Reducing DTB Lookup and Creation Time Scanning all nodes in device tree takes a lot when its size is large Group scattered “chosen” and “memory” nodes into one node and relocate it at the head of device tree to search faster Creating device tree for control OS takes most of time FDT library uses the most naïve algorithm when comparing strings Replace it with better one, Boyer- Moore algorithm with time complexity O(m+n) Flattened Device Tree Description Grouped information node Chosen node Memory node Memory node Visit all nodes to find information nodes Doesn't have to visit all nodes Original ver Samsung ver Special node “xen-early-scan-end”
  • 9. 8 / 21 Fast Startup (3/3) Assign Big Core for Dom0 Creation Concurrent VM Creation Assign Big Core and Concurrent VM Creation During the Xen Startup Exynos8890 uses little core for boot strap processor (CPU0) Assign tasklet to sleeping big core to create control OS CPU0 waits until domain creation done To shorten the time spent on XL for DomU creation, Samsung moves its data structure initialization to xen startup Assign a guest OS creation tasklet to another sleeping big core and create simultaneously with control OS creation CPU0 (little core) CPU4 (Big core) Scanning DTB, Heap init, Secondary core booting.. Domain creation Schedule tasklet to Big core ETC Wait until dom creation done… Create domain Notify that creation done Scanning DTB, Heap init, Secondary core booting.. Domain creation Schedule control OS tasklet to CPU4 ETC Wait until dom(s) creation done… Create dom0 Notify that creation done CPU0 (little core) CPU4 (Big core) CPU5 (Big core) Schedule guest OS tasklet to CPU5 Create dom1
  • 10. 9 / 21 Fault Recovery (1/3) First Sub-headingFault Recovery Scenario Linux Kernel Linux Kernel Xen Watchdogd Xen Watchdog Timer Xen ToolsWatchdogd HW Watchdog Timer Xen Shutdown Manager Samsung VM Reset Manager (Relaunch VMs) HW Reset XEN CrashCrash Exynos8 KickKick Timeout Timeout 1.Reset Request 2.Execute resetVM void panic (const char *fmt, …)  hypercall HYPERVISOR_sched_op(SCHEDOP_ shutdown, &r); void panic (const char *fmt, …)  machine_restart Set timeout/ notification period Set timeout/ notification period Dom0 DomU
  • 11. 10 / 21 Fault Recovery (2/3) First Sub-headingConventional VM Restart vs Our VM Reset VM Restart VM Reset Destroy a domain Create a new domain Free/Allocate all resources Use hypercalls for destroy domain and create domain in xen - XEN_DOMCTL_destroydomain - XEN_DOMCTL_createdomain Destroy devices only Just reuse almost all resources like vcpu structure, shared_info, p2m table, etc Reset the existing domain Add a new hypercall for reset domain in xen - XEN_DOMCTL_samsung_reset
  • 12. 11 / 21 Fault Recovery (3/3) First Sub-heading XEN Dom0 (Control domain) XL DomU XS domain_reset - Reset grant table - Reset vcpu, vgic, vtimer - Reset shared_info page - Reset p2m table - Reset event channel send_global_virq(VIRQ_DOM_EXC); Release Domain Reset flags setting libxl_domain_reset 1. xs_release_domain 2. Destroy devices fire Hypercall: XEN_DOMCTL_unpausedomain DomU unpause Relaunching complete ② ③ ④ ⑤ domain_shutdown (Xen Shutdown Manager) - Set reason flags for shutdown - Pause vcpus initiate_domain_create - Reload kernel binary - Reload device tree from memory - Reset CPU registers - xs_introduce_domain Hypercall: XEN_DOMCTL_samsung_reset ⑥ ⑦ devices_destroy_cb - Request domain reset Xen Watchdog Timeout ① VM Reset Procedure Hypercall: HYPERVISOR_sched _op(SCHEDOP_shut down,&r); Crash ①
  • 13. 12 / 21 I/O Virtualization First Sub-heading DomU (IVI OS)Dom0 (Cluster OS) Dom0 (Cluster OS) DomU (IVI OS) PV I/O Drivers Passthrough I/O Drivers virtual clocksources, regulators and pintcontrollers are provided to DomU for device passthrough Xen Pass-thru Device Drivers vClock FE vRegulator FE vPinctrl FE vNet, vStorage, vConsole : utilized existing open source codes vInput: provides touch vCamera, vAudio : developed from scratch Performance enhancement with direct cache operations on foreign pages vNet BE vBlock BE vCamera BE vAudio BE vConsole BE vInput BE vNet FE vBlock FE vCamera FE (as a V4L2 driver) vAudio FE (as an ALSA driver) vConsole FE vInput FE image Native Device Drivers (Pinctrl, Regulator, Clocksource) vClock BE vRegulator BE vPinctrl BE I/O device Xen I/O device
  • 14. 13 / 21 Graphics Virtualization (1/3) First Sub-headingOverall Architecture of Graphics Virtualization Xen Dom0 (Cluster OS) DomU (IVI OS) Application Display Server SVGL FE (Library) Kernel vGPU FE Graphics Control Manager (GCM) FE Virtual OpenGL ES FE Virtual DRI (GBM, Wayland Buf) Virtual GPU Command Buffer Native Display Server Kernel Native Graphics Library Native Graphics Driver vGPU BE Samsung Virtual Display Manager (SVDM) Client (Native Window) Samsung Virtual Graphics Library(SVGL) BE Virtual EGL FE GL Render Virtual EGL BE Virtual OpenGL ES BE RenderThread ③ ④⑤ ⑥ ① ②⑧ ⑨ Encoded Graphics Data to Shared Memory Graphics APIsVirtual Display GLES APIs and Data EGL APIs GCM BE eglCreateWindowSurface [eglCreatePbufferSurface] ⑦ ②
  • 15. 14 / 21 Graphics Virtualization (2/3) DomU Kernel vGPU FE Key Features Adaptive Interrupt/Poll Processing Key Features and Performance Optimization Latest Graphics APIs Support : OpenGL ES v3.2/EGL v1.5 Support Shared Memory Between BE and FE With Simple Protocol Batch Processing for Transferring APIs Selective APIs Transfer to BE Adaptive Interrupt/Poll Processing in FE Efficient Graphics Buffer Management Dynamically Choosing Either Interrupt or Poll Based on Request Rate Between SVGL FE and vGPU FE Recalculate “the rate” at Every 250 ms Performance Improvement Over Interrupt Method with the Threshold “0.3” in Policy [75 cmd buf flush OPs/250ms] Xen SVGL FE Dom0 Kernel Graphics Native Library SVDM Application Virtual GPU Command Buffer interrupt GCM Monitor Interrupt/ Poll Read Graphics APIs & Data Interrupt or Poll Rate = # of Buffer Flush OPs/Time Policy Threshold: 0.3  # if 0.3  the calculated rate then Polling else Interrupt
  • 16. 15 / 21 Graphics Virtualization (3/3) First Sub-heading DomU Kernel vGPU Graphics Command Buffer Transfer Variable Size Buffer Allocation Efficient Graphics Command Buffer Management Accumulate each Opcode of API whose return type is “void” and Data to the Buffer Flush Buffer for “glFlush”, “glFinish” and “non- void return type APIs”. Flush Buffer in the Case of “Buffer Full” Xen SVGL FE DomU Kernel Dom0 Kernel Native Graphics Library SVDM Application Virtual GPU Command Buffer … SVGL FE Dom0 Kernel Native Graphics Library SVDM Application Virtual GPU CMD Buffer Xen 30 M 30 M EGL/GLES API add/remove memchunk Send event for memory alloc/realloc Map/ Unmap Shared Memory 30 M 30 M glFlush, glFinish, Non void return type APIs Void Return type APIs Store opcode and Data Send accumulated APIs Any type of APIs Buffer is full Dynamically Resizable Buffer Management : Initial Buffer Size (30MB) Expand Buffer Pool Based on Available Buffer Size and Requested Size from SVGL FE Shrink Buffer When App is Terminated Foreignmap Buffer Pool Manager Buffer Allocator
  • 17. 16 / 21 Evaluation: Startup Performance First Sub-heading 144 103 Base Line Reduce Memory Initialization Improve DTB creation Bigcore Assining Time Measurement Unit : msec Xen Startup Time Changes Time Measurement for Sections Measured Time: start_xen() ~ init_done() [xen/arch/setup.c] 10 471 313 685 64 16 1 Original ver Samsung ver Page Scrubbing Domain creation Heap & Hardware Initialization Scanning DTB 10 471 685 313 1 9 59 1479 69 1,479 msec 69 msec
  • 18. 17 / 21 Evaluation: VM Fault Recovery Time First Sub-headingVM Restart Time vs. VM Reset Time (sec) 7.1 0.97 VM Restart VM Reset Time Measurement After Optimization libxl_domain_unpause function [in xl_cmdimpl.c] libxl_domain_unpause function [in xl_cmdimpl.c] xl reset xl restart
  • 19. 18 / 21 Evaluation: I/O Performance First Sub-heading Storage Throughput Storage and Network Throughput Dom0 216MB/s (94.7%) 228MB/s DomU Network Throughput Dom0 129Mbits/s (92.8%) 139Mbits/s DomUDom0 132MB/s (98.5%) 134MB/s DomU Seq. Read Seq. Write
  • 20. 19 / 21 Evaluation: Khronos CTS First Sub-headingNumber of Passed Test Case by Khronos CTS 1228 2991 1392 2511 261 1228 2991 1392 2511 261 OpenGL ES 2.0 OpenGL ES 3.0 OpenGL ES 3.1 OpenGL ES 3.2 OpenGL ES EXT Dom0 DomU Number of Passed TC Total # of Passed TC: 8,383
  • 21. 20 / 21 Evaluation: Graphics Performance Glmark2-es-wayland 1920x1080 Off-screen 660 662 663 662 662 661.8 639 638 636 640 639 638.4 1st 2nd 3rd 4th 5th Average Dom0 DomU Score 96.8% 96.4% 95.9% 96.7% 96.5%96.5% 1st 2nd 3rd 4th 5th Average 1st 2nd 3rd 4th 5th Average Ratio
  • 22. 21 / 21 Demo System Environment - Exynos 8890 Octacore (Big core: 2.28GHz, Little: 1.58GHz) - 6 GB DRAM - 32 GB MMC - Mali T880 MP12 Xen (v4.8) Cluster OS (Dashboard UI) IVI OS (Genivi Demo Platform) Exynos 8890