SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Xen on ARM
Stefano Stabellini
What is Xen?
● a type-1 hypervisor
● small footprint (less than 90K LOC)
Xen: Open Source
GPLv2 with DCO (like Linux)
Diverse contributor community
Xen: Open Source
source:
Mike Day
http://code.ncultra.org
Xen: the gears of the cloud
● large user base
more than 10 million individuals users

● power the largest clouds in
production
● not just for servers
Xen Architecture
Dom0

DomU

DomU

DomU

PV backends

PV Frontends

PV Frontends

PV Frontends

HW drivers

Xen
Hardware
Xen Architecture:
driver domains

Toolstack

Disk Driver
Domain

Network
Driver Domain

DomU

BlockBack

Dom0

NetBack

BlockFront

Disk Driver

Network Driver

NetFront

Xen
Hardware
Xen Architecture:
driver domains
● disaggregation and componentization
● security and isolation
● resilience
● hardware vendors can run their drivers in
separate VMs
○ could run in a RTOS environment
○ hidden from the user
■ media codecs, crypto keys, etc.
Xen on ARM: not just a port
● a lean and simple architecture
○
○
○
○
○

removed cruft accumulated during the years
no emulation, no QEMU
use PV drivers for IO as early as possible
one type of guest
exploit the hardware as much as possible

● a very good match for the hardware
● clean architecture = small code base
Xen on ARM architecture
Xen on ARM architecture
Code size
sometimes smaller is better
Common

ARMv7

ARMv8

Total

xen/arch/arm

5,122

1,969

821

7,912

C

5,023

406

344

5,773

99

1,563

477

2,139

2,315

563

666

3,544

2,532 1,487

11,456

ASM
xen/include/asm-arm

TOTAL

7,437

● X86_64-bit: ~120,000LOC (~4,000 ASM)
● ARM code ~= 1/10 x86_64 code
Achievements of one year
Xen support for ARM
upstream in Linux 3.7

Xen support for ARM64
upstream in Linux 3.11

Xen 64-bit
on ARM64

You are here
11/11

08/12 09/12

Part-time Xen ARM
hacking starts

11/12

Xen running on real
ARM hardware

First Xen on ARM talk at
Xen Summit 2012

01/13

03/13

Citrix announces
that will be joining
Linaro

06/13

07/13

Xen 4.3 released with
ARM and ARM64
support
A growing community
Xen-devel ARM traffic from August 2012:
● 4685 emails: 360 emails per month!
● 39% of which are not from Citrix
Hardware support
Upstream:
● Versatile Express Cortex A15
● Arndale board
● ARMv8 FVP
In progress:
●
●
●
●
●

Cubieboard2
Calxeda “Midway”
Applied Micro “Mustang”
Broadcom Brahma-B15
OMAP5
Porting Xen to a new board
● Xen only relies on GIC and GT
● platform specific code in Xen is reduced to:
○ secondary cpus bring up
○ UART drivers
○ any platform specific bootup quirks (ideally none)
Upstream features
Xen v4.3:
● basic lifecycle operations
● memory ballooning
● scheduler configurations and vcpu pinning
Linux v3.11:
● dom0 and domU support
● 32-bit and 64-bit support
● SMP support
● PV disk, network and console
Android on Xen on ARM
● Android is based on the Linux kernel
○ Jelly Bean uses Linux 3.4, when it updates to 3.7 will
get Xen on ARM support out of the box

● Additional work needed to support client
devices (compass, GPS, etc.) on multiple
VMs
○ easy to export 1 device to 1 VM
○ otherwise each type of device needs a PV drivers
pair
PV Protocols
Backend

Request Producer

Frontend

Request Consumer

Response
Consumer

Response Producer
PV Protocols
●
●
●
●
●

shared ring protocol
software interrupts AKA event channels
consensual memory sharing: grant table
easy to write
plenty of examples
○ network, block, console, PCI, keyboard, mouse,
framebuffer, sound, SCSI, USB, …
Porting other OSes to Xen
on ARM
● No invasive modifications needed
● only some new drivers:
○ grant table, xenbus and event channels
○ PV drivers for network, block, console, etc.

● BSD drivers already exist in NetBSD and
FreeBSD, can they be reused?
● FreeBSD port to Xen on ARM in progress
Coming in Xen 4.4
● 64-bit guest support
● live-migration
● SWIOTLB
A look into the future
●
●
●
●

IOMMU support in Xen
device assignment
UEFI booting
ACPI support
Xen for automotive: why?
● type-1
● small footprint
○ small codebase
○ no QEMU, no emulation

● driver domains / service VMs
○ componentization
○ security
○ support for legacy drivers

● supports Linux out of the box
● easy to port other OSes to Xen on ARM
More Information
● http://www.xenproject.org
● Xen on ARM @wiki.xenproject.org goo.
gl/FKNXe
● http://lists.xen.org/mailman/listinfo/xen-devel
Questions?
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Video Drivers
Video DriversVideo Drivers
Video Drivers
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, CitrixXPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
 
Introduction to Linux Kernel
Introduction to Linux KernelIntroduction to Linux Kernel
Introduction to Linux Kernel
 
Linux Performance Analysis and Tools
Linux Performance Analysis and ToolsLinux Performance Analysis and Tools
Linux Performance Analysis and Tools
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
OpenStack Cinder
OpenStack CinderOpenStack Cinder
OpenStack Cinder
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
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)
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting Sequence
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Introduction to linux containers
Introduction to linux containersIntroduction to linux containers
Introduction to linux containers
 
GPU Virtualization in SUSE
GPU Virtualization in SUSEGPU Virtualization in SUSE
GPU Virtualization in SUSE
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
 
Virtualization Architecture & KVM
Virtualization Architecture & KVMVirtualization Architecture & KVM
Virtualization Architecture & KVM
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part I
 
Docker containers : introduction
Docker containers : introductionDocker containers : introduction
Docker containers : introduction
 
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
 

Similar a ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix

Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
The Linux Foundation
 
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driverKernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Anne Nicolas
 

Similar a ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix (20)

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
 
Improving Scalability of Xen: The 3,000 Domains Experiment
Improving Scalability of Xen: The 3,000 Domains ExperimentImproving Scalability of Xen: The 3,000 Domains Experiment
Improving Scalability of Xen: The 3,000 Domains Experiment
 
BKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateBKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack Update
 
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, CitrixLCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
 
LFCollab14: Xen vs Xen Automotive
LFCollab14: Xen vs Xen AutomotiveLFCollab14: Xen vs Xen Automotive
LFCollab14: Xen vs Xen Automotive
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITE
 
Container based android
Container based androidContainer based android
Container based android
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
 
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) WinningKernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & docker
 
Hacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxHacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on Linux
 
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
 
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...
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdf
 
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driverKernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
Porting Android
Porting AndroidPorting Android
Porting Android
 
SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016
 
BKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PMBKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PM
 

Más de The Linux Foundation

Más de 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: 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
 
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
 

Último

Último (20)

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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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)
 
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
 
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
 
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?
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix

  • 1. Xen on ARM Stefano Stabellini
  • 2. What is Xen? ● a type-1 hypervisor ● small footprint (less than 90K LOC)
  • 3. Xen: Open Source GPLv2 with DCO (like Linux) Diverse contributor community
  • 4. Xen: Open Source source: Mike Day http://code.ncultra.org
  • 5. Xen: the gears of the cloud ● large user base more than 10 million individuals users ● power the largest clouds in production ● not just for servers
  • 6. Xen Architecture Dom0 DomU DomU DomU PV backends PV Frontends PV Frontends PV Frontends HW drivers Xen Hardware
  • 7. Xen Architecture: driver domains Toolstack Disk Driver Domain Network Driver Domain DomU BlockBack Dom0 NetBack BlockFront Disk Driver Network Driver NetFront Xen Hardware
  • 8. Xen Architecture: driver domains ● disaggregation and componentization ● security and isolation ● resilience ● hardware vendors can run their drivers in separate VMs ○ could run in a RTOS environment ○ hidden from the user ■ media codecs, crypto keys, etc.
  • 9. Xen on ARM: not just a port ● a lean and simple architecture ○ ○ ○ ○ ○ removed cruft accumulated during the years no emulation, no QEMU use PV drivers for IO as early as possible one type of guest exploit the hardware as much as possible ● a very good match for the hardware ● clean architecture = small code base
  • 10. Xen on ARM architecture
  • 11. Xen on ARM architecture
  • 12. Code size sometimes smaller is better Common ARMv7 ARMv8 Total xen/arch/arm 5,122 1,969 821 7,912 C 5,023 406 344 5,773 99 1,563 477 2,139 2,315 563 666 3,544 2,532 1,487 11,456 ASM xen/include/asm-arm TOTAL 7,437 ● X86_64-bit: ~120,000LOC (~4,000 ASM) ● ARM code ~= 1/10 x86_64 code
  • 13. Achievements of one year Xen support for ARM upstream in Linux 3.7 Xen support for ARM64 upstream in Linux 3.11 Xen 64-bit on ARM64 You are here 11/11 08/12 09/12 Part-time Xen ARM hacking starts 11/12 Xen running on real ARM hardware First Xen on ARM talk at Xen Summit 2012 01/13 03/13 Citrix announces that will be joining Linaro 06/13 07/13 Xen 4.3 released with ARM and ARM64 support
  • 14. A growing community Xen-devel ARM traffic from August 2012: ● 4685 emails: 360 emails per month! ● 39% of which are not from Citrix
  • 15. Hardware support Upstream: ● Versatile Express Cortex A15 ● Arndale board ● ARMv8 FVP In progress: ● ● ● ● ● Cubieboard2 Calxeda “Midway” Applied Micro “Mustang” Broadcom Brahma-B15 OMAP5
  • 16. Porting Xen to a new board ● Xen only relies on GIC and GT ● platform specific code in Xen is reduced to: ○ secondary cpus bring up ○ UART drivers ○ any platform specific bootup quirks (ideally none)
  • 17. Upstream features Xen v4.3: ● basic lifecycle operations ● memory ballooning ● scheduler configurations and vcpu pinning Linux v3.11: ● dom0 and domU support ● 32-bit and 64-bit support ● SMP support ● PV disk, network and console
  • 18. Android on Xen on ARM ● Android is based on the Linux kernel ○ Jelly Bean uses Linux 3.4, when it updates to 3.7 will get Xen on ARM support out of the box ● Additional work needed to support client devices (compass, GPS, etc.) on multiple VMs ○ easy to export 1 device to 1 VM ○ otherwise each type of device needs a PV drivers pair
  • 19. PV Protocols Backend Request Producer Frontend Request Consumer Response Consumer Response Producer
  • 20. PV Protocols ● ● ● ● ● shared ring protocol software interrupts AKA event channels consensual memory sharing: grant table easy to write plenty of examples ○ network, block, console, PCI, keyboard, mouse, framebuffer, sound, SCSI, USB, …
  • 21. Porting other OSes to Xen on ARM ● No invasive modifications needed ● only some new drivers: ○ grant table, xenbus and event channels ○ PV drivers for network, block, console, etc. ● BSD drivers already exist in NetBSD and FreeBSD, can they be reused? ● FreeBSD port to Xen on ARM in progress
  • 22. Coming in Xen 4.4 ● 64-bit guest support ● live-migration ● SWIOTLB
  • 23. A look into the future ● ● ● ● IOMMU support in Xen device assignment UEFI booting ACPI support
  • 24. Xen for automotive: why? ● type-1 ● small footprint ○ small codebase ○ no QEMU, no emulation ● driver domains / service VMs ○ componentization ○ security ○ support for legacy drivers ● supports Linux out of the box ● easy to port other OSes to Xen on ARM
  • 25. More Information ● http://www.xenproject.org ● Xen on ARM @wiki.xenproject.org goo. gl/FKNXe ● http://lists.xen.org/mailman/listinfo/xen-devel