SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Dual-AndroidTM on Nexus 10

Samsung Research UK
Presentation
for

FOSDEM 2014

2/11/2014

© Samsung Electronics

1
Introduction
 Feasibility: 2 copies of Android on Xen on ARM?
o Xen on mobile performance?
o Virtualized GPU required

 Nexus 10 device used (SoC: Samsung Exynos 5250)
o
o
o
o

CPU: ARM Cortex A15 (x2) : With virtualization extensions

GPU: ARM Mali T604 (OpenGl ES2.0)
Memory available: 2GB RAM, plenty of Flash
Screen resolution: 2560x1504

© Samsung Electronics

2
Configuration
 Software configuration – 2 VMs only
o
o
o
o

DOM0 = 1st Android

DOMU = 2nd Android
Linux 3.4
Android Jelly Bean 4.2

 Xen 4.2 for ARM
o Virtualization extensions support
•
•
•
•
•

vGIC2
Two stage translation page tables, guest memory isolation by hardware.
Generic timer for Hypervisor timer
Neon SIMD support
IOMMU (not fully supported yet so IPA=PA)

 Parallel development in Samsung HQ to community
Xen
SMP
I/O
© Samsung Electronics

Dual-core

DOMU kernel

1GB RAM

Memory

DOM0 kernel

1GB RAM

Dual-core

Single-core

Pass through

PV Drivers
3
Xen PVH Architecture

DOM0

DOMU

Android
Apps

Android
Apps

Android
Jelly Bean 4.2

Linux 3.4

User
(PL0)

Kernel
(PL1)

Android
Jelly Bean 4.2

Linux 3.4

Physical
Drivers

HYP
(PL2)
HW

Back End
Drivers

Rings

Front End
Drivers

Xen on ARM
Display,
Touch
etc.

© Samsung Electronics

GPU
Mali T604

CPU 0
(Cortex A15)

CPU 1
(Cortex A15)
4
Mobile Virtualization
 I/O Challenges – Mobiles have ~50 device drivers
o Sensors: Touch, gyro, proximity, ambient light
o Media: Display, GPU, Camera, Audio, Video
o Connectivity: Charger, USB, WiFi, Bluetooth

 User Switching
o Xen scheduler runs as normal.
o “Foreground” VM – user devices require arbitration driver in DOM0
• Display
• Touch

Display
Switch

Foreground VM

© Samsung Electronics

5
Video
 Demo video
o
o
o
o

Switching between Android  Icon or Volume key
Angry Birds in DOMU  Near-native performance of PV drivers
Angry Birds in DOM0 and DOMU concurrently  Two independent Android
3D Benchmark clip
DOM0 – Blue Wallpaper

Passthrough drivers

DOMU – Orange Wallpaper

PV Drivers
Switching icon

© Samsung Electronics

6
Android UI virtualization challenges
 Android Jelly Bean
o
o
o
o
o

Project Butter: Buttery smooth UI
Triple buffering using ION memory allocated buffers, no FBdev
New sync mechanism via fences.
Hardware composition for the Surfaces
So rendering to display is all closely integrated within the OS frameworks and
Kernel Subsystems (Surfaceflinger, Surfaceview, Gralloc , ION memory
allocator, Fence-sync, Display driver).

 Para-virtualization of ION, Fence-Sync and Display using grant-memory and
eventchannels.

© Samsung Electronics

7
Near-Native Performance Challenges
 60 frames per second = 16.6ms per frame
o GPU renders each surface  GPU composes the surfaces  frame

 Virtualized graphics options
o API Remoting done above GPU driver for chipset portability

 Android JB has “butter smooth” technology
o Triple buffering
o Needs reliable Vsync interrupt  Xen event channel stressed
o Deferred waiting using sync points & fences

Composition frame buffers

0
1
2

App frame buffers

0
1
2

0

© Samsung Electronics

15

30

45

60

time (ms)
8
Results
Dual-Android, GPU composition
70

160

60

140

FPS

100
40
80
30

60
20

Packets/sec (k)

120

50

40

10

20

0

0

DOM0

© Samsung Electronics

DOMU

Packets/sec (k)
9
Event Channel Under Stress
 DOMU Vsync arrival time delta

Delta Time (ms)

35
Some
missed
events

30
25
20

16.67

15
10
5
0
10

11

12

13

14

15

16

Benchmark Time (sec)
© Samsung Electronics

17

18

19

20
10
Xen For Mobile
 Multi-page ring
o Needed for throughput performance running benchmarks
o Ensure low-latency

 Non-linear grant references
o Old grants are re-used. PV drivers assume linearity

 RAM Allocation limit 512MB
o Buddy allocator is unable to allocate contiguous chunk of memory from the Domheap
memory

 Per-VM interrupts unreliable when stressed
o Must ensure Vsync is received in DOMU with minimal latency

 Contribution to community
o Samsung will work to share Xen changes with community
o Some code is proprietary

© Samsung Electronics

11
Conclusion
 Two Android can run with near-native graphics performance
 Xen runs well on mobile devices
 Using PV drivers, no major changes to Xen architecture required

Android is a trademark of Google Inc.
The Android robot is reproduced or modified from work created and shared by Google and used according to terms
described in the Creative Commons 3.0 Attribution License.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
ARM is a registered trademark of ARM Limited. Mali is a trademark of ARM Limited.
STAR WARS and related properties are trademarks in the United States and/or in other countries of Lucasfilm Ltd. and/or
its affiliates. © 2012 Lucasfilm Ltd. All rights reserved.
Angry Birds is a trademark of Rovio Entertainment Ltd.
© Samsung Electronics

12
Q&A
© Samsung Electronics

13

Mais conteúdo relacionado

Mais procurados

LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
The Linux Foundation
 
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
The Linux Foundation
 

Mais procurados (20)

LFCollab14: Xen vs Xen Automotive
LFCollab14: Xen vs Xen AutomotiveLFCollab14: Xen vs Xen Automotive
LFCollab14: Xen vs Xen Automotive
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
 
Bare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationBare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for Innovation
 
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)
 
Xen io
Xen ioXen io
Xen io
 
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
ELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for Embedded
 
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...
 
Linaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMLinaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARM
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
 
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
 
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
 
ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
 
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
 
Xen Project 15 Years down the Line
Xen Project 15 Years down the LineXen Project 15 Years down the Line
Xen Project 15 Years down the Line
 
Xen Project for ARM Servers
Xen Project for ARM ServersXen Project for ARM Servers
Xen Project for ARM Servers
 
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
Xen on ARM for embedded and IoT: from secure containers to dom0less systemsXen on ARM for embedded and IoT: from secure containers to dom0less systems
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
 
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
 

Destaque

Presentacion Scotiabank CampañA
Presentacion Scotiabank CampañAPresentacion Scotiabank CampañA
Presentacion Scotiabank CampañA
rg0988
 
Scotiabank Business Project Grade 12
Scotiabank Business Project Grade 12Scotiabank Business Project Grade 12
Scotiabank Business Project Grade 12
Brandon Neto
 

Destaque (10)

Scotiabank
ScotiabankScotiabank
Scotiabank
 
Scotiabank presentation december 7, 20112
Scotiabank   presentation december 7, 20112Scotiabank   presentation december 7, 20112
Scotiabank presentation december 7, 20112
 
Presentacion Scotiabank CampañA
Presentacion Scotiabank CampañAPresentacion Scotiabank CampañA
Presentacion Scotiabank CampañA
 
Scotiabank Business Project Grade 12
Scotiabank Business Project Grade 12Scotiabank Business Project Grade 12
Scotiabank Business Project Grade 12
 
Samsung & The Path to Open Source Leadership
Samsung & The Path to Open Source LeadershipSamsung & The Path to Open Source Leadership
Samsung & The Path to Open Source Leadership
 
business plan - paper and cloth bags manufacturing (PAC BAGS)
business plan - paper and cloth bags manufacturing (PAC BAGS)business plan - paper and cloth bags manufacturing (PAC BAGS)
business plan - paper and cloth bags manufacturing (PAC BAGS)
 
Marketing Research Design
Marketing Research DesignMarketing Research Design
Marketing Research Design
 
Research Methodology of Samsung Electronics Co. Ltd
Research Methodology of Samsung Electronics Co. LtdResearch Methodology of Samsung Electronics Co. Ltd
Research Methodology of Samsung Electronics Co. Ltd
 
Marketing research ppt
Marketing research pptMarketing research ppt
Marketing research ppt
 
Samsung project report
Samsung project reportSamsung project report
Samsung project report
 

Semelhante a Running Dual Android Xen Instances on Nexus 10

Play With Android
Play With AndroidPlay With Android
Play With Android
Champ Yen
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & Tricks
Mihai Corlan
 
Windows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewWindows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 Overview
Amit Gatenyo
 
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
Paris Open Source Summit
 
Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Os
momobangalore
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
GDG Saint Petersburg
 

Semelhante a Running Dual Android Xen Instances on Nexus 10 (20)

UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
 
X Means Y
X Means YX Means Y
X Means Y
 
Play With Android
Play With AndroidPlay With Android
Play With Android
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & Tricks
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAM
 
Junliang`s Resume
Junliang`s ResumeJunliang`s Resume
Junliang`s Resume
 
Windows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewWindows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 Overview
 
Camera Architecture from Failure to Success
Camera Architecture from Failure to SuccessCamera Architecture from Failure to Success
Camera Architecture from Failure to Success
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
 
Tizen Window System
Tizen Window SystemTizen Window System
Tizen Window System
 
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
 
Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Os
 
“Efficient Video Perception Through AI,” a Presentation from Qualcomm
“Efficient Video Perception Through AI,” a Presentation from Qualcomm“Efficient Video Perception Through AI,” a Presentation from Qualcomm
“Efficient Video Perception Through AI,” a Presentation from Qualcomm
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
 
Android Optimization: Myth and Reality
Android Optimization: Myth and RealityAndroid Optimization: Myth and Reality
Android Optimization: Myth and Reality
 
Mobile Cloud Computing for Games - Gamelet
Mobile Cloud Computing for Games - Gamelet Mobile Cloud Computing for Games - Gamelet
Mobile Cloud Computing for Games - Gamelet
 

Mais de Samsung Open Source Group

Mais de Samsung Open Source Group (20)

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Running Dual Android Xen Instances on Nexus 10

  • 1. Dual-AndroidTM on Nexus 10 Samsung Research UK Presentation for FOSDEM 2014 2/11/2014 © Samsung Electronics 1
  • 2. Introduction  Feasibility: 2 copies of Android on Xen on ARM? o Xen on mobile performance? o Virtualized GPU required  Nexus 10 device used (SoC: Samsung Exynos 5250) o o o o CPU: ARM Cortex A15 (x2) : With virtualization extensions GPU: ARM Mali T604 (OpenGl ES2.0) Memory available: 2GB RAM, plenty of Flash Screen resolution: 2560x1504 © Samsung Electronics 2
  • 3. Configuration  Software configuration – 2 VMs only o o o o DOM0 = 1st Android DOMU = 2nd Android Linux 3.4 Android Jelly Bean 4.2  Xen 4.2 for ARM o Virtualization extensions support • • • • • vGIC2 Two stage translation page tables, guest memory isolation by hardware. Generic timer for Hypervisor timer Neon SIMD support IOMMU (not fully supported yet so IPA=PA)  Parallel development in Samsung HQ to community Xen SMP I/O © Samsung Electronics Dual-core DOMU kernel 1GB RAM Memory DOM0 kernel 1GB RAM Dual-core Single-core Pass through PV Drivers 3
  • 4. Xen PVH Architecture DOM0 DOMU Android Apps Android Apps Android Jelly Bean 4.2 Linux 3.4 User (PL0) Kernel (PL1) Android Jelly Bean 4.2 Linux 3.4 Physical Drivers HYP (PL2) HW Back End Drivers Rings Front End Drivers Xen on ARM Display, Touch etc. © Samsung Electronics GPU Mali T604 CPU 0 (Cortex A15) CPU 1 (Cortex A15) 4
  • 5. Mobile Virtualization  I/O Challenges – Mobiles have ~50 device drivers o Sensors: Touch, gyro, proximity, ambient light o Media: Display, GPU, Camera, Audio, Video o Connectivity: Charger, USB, WiFi, Bluetooth  User Switching o Xen scheduler runs as normal. o “Foreground” VM – user devices require arbitration driver in DOM0 • Display • Touch Display Switch Foreground VM © Samsung Electronics 5
  • 6. Video  Demo video o o o o Switching between Android  Icon or Volume key Angry Birds in DOMU  Near-native performance of PV drivers Angry Birds in DOM0 and DOMU concurrently  Two independent Android 3D Benchmark clip DOM0 – Blue Wallpaper Passthrough drivers DOMU – Orange Wallpaper PV Drivers Switching icon © Samsung Electronics 6
  • 7. Android UI virtualization challenges  Android Jelly Bean o o o o o Project Butter: Buttery smooth UI Triple buffering using ION memory allocated buffers, no FBdev New sync mechanism via fences. Hardware composition for the Surfaces So rendering to display is all closely integrated within the OS frameworks and Kernel Subsystems (Surfaceflinger, Surfaceview, Gralloc , ION memory allocator, Fence-sync, Display driver).  Para-virtualization of ION, Fence-Sync and Display using grant-memory and eventchannels. © Samsung Electronics 7
  • 8. Near-Native Performance Challenges  60 frames per second = 16.6ms per frame o GPU renders each surface  GPU composes the surfaces  frame  Virtualized graphics options o API Remoting done above GPU driver for chipset portability  Android JB has “butter smooth” technology o Triple buffering o Needs reliable Vsync interrupt  Xen event channel stressed o Deferred waiting using sync points & fences Composition frame buffers 0 1 2 App frame buffers 0 1 2 0 © Samsung Electronics 15 30 45 60 time (ms) 8
  • 9. Results Dual-Android, GPU composition 70 160 60 140 FPS 100 40 80 30 60 20 Packets/sec (k) 120 50 40 10 20 0 0 DOM0 © Samsung Electronics DOMU Packets/sec (k) 9
  • 10. Event Channel Under Stress  DOMU Vsync arrival time delta Delta Time (ms) 35 Some missed events 30 25 20 16.67 15 10 5 0 10 11 12 13 14 15 16 Benchmark Time (sec) © Samsung Electronics 17 18 19 20 10
  • 11. Xen For Mobile  Multi-page ring o Needed for throughput performance running benchmarks o Ensure low-latency  Non-linear grant references o Old grants are re-used. PV drivers assume linearity  RAM Allocation limit 512MB o Buddy allocator is unable to allocate contiguous chunk of memory from the Domheap memory  Per-VM interrupts unreliable when stressed o Must ensure Vsync is received in DOMU with minimal latency  Contribution to community o Samsung will work to share Xen changes with community o Some code is proprietary © Samsung Electronics 11
  • 12. Conclusion  Two Android can run with near-native graphics performance  Xen runs well on mobile devices  Using PV drivers, no major changes to Xen architecture required Android is a trademark of Google Inc. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. ARM is a registered trademark of ARM Limited. Mali is a trademark of ARM Limited. STAR WARS and related properties are trademarks in the United States and/or in other countries of Lucasfilm Ltd. and/or its affiliates. © 2012 Lucasfilm Ltd. All rights reserved. Angry Birds is a trademark of Rovio Entertainment Ltd. © Samsung Electronics 12