SlideShare a Scribd company logo
©2014 GlobalLogic Inc.
GPU Virtualization in Embedded
Automotive Solutions
Sergiy Kibrik
GlobalLogic Embedded TechTalk
July 22, 2015
2
Why One Wants to Virtualize?Why One Wants to Virtualize?
VSVS
3
ARM implemented virtualization support on some of ARM v7 processorsARM implemented virtualization support on some of ARM v7 processors
4
Key Virtualization TargetsKey Virtualization Targets
• isolationisolation
• parallelismparallelism
• safetysafety
• robustnessrobustness
• performanceperformance
5
Common GPU Virtualization ApproachesCommon GPU Virtualization Approaches
OpenGL/DirectX/OpenCL etcOpenGL/DirectX/OpenCL etc
API RemotingAPI Remoting
match:match: isolation, parallelism, safetyisolation, parallelism, safety
no match:no match: robustness, performancerobustness, performance
on embedded systemson embedded systems
Vendors: Xen (VMGL), Chromium,Vendors: Xen (VMGL), Chromium,
Android Emluator,Android Emluator,
presumably MentorGraphics & RedBendpresumably MentorGraphics & RedBend
6
Common GPU Virtualization ApproachesCommon GPU Virtualization Approaches
Driver SplitDriver Split
Vendors: VMWare SVGA2Vendors: VMWare SVGA2
match:match: isolation, parallelism, safetyisolation, parallelism, safety
no match:no match: robustness, performancerobustness, performance
on embedded systemson embedded systems + high cost+ high cost
7
Do It The Hard WayDo It The Hard WayTMTM
Full GPU Emulation!Full GPU Emulation!
Registers & VRAMRegisters & VRAM
virtualizedvirtualized
Every single oneEvery single one
access is trapped &access is trapped &
emulatedemulated
8
Common GPU Virtualization ApproachesCommon GPU Virtualization Approaches
Direct pass-through:Direct pass-through:
match:match: safety, performance,safety, performance,
robustnessrobustness
no match:no match: isolation, parallelismisolation, parallelism
Vendors: NVIDIA GRID vGPUVendors: NVIDIA GRID vGPU
9
And the Right Approach :)And the Right Approach :)
match:match: isolation, parallelism,isolation, parallelism,
safety, robustnesssafety, robustness
not quite match:not quite match:
performanceperformance
Mediated pass-throughMediated pass-through
10
A bit of GPU Pipeline…A bit of GPU Pipeline…
11
……and what this stuff actually doesand what this stuff actually does
12
Real World Example: GeForce 8800Real World Example: GeForce 8800
(2006)(2006)
13
Embedded Case: PowerVR Graphics PipelineEmbedded Case: PowerVR Graphics Pipeline
• tile-based renderingtile-based rendering
• hidden surface removalhidden surface removal
14
PowerVR SGX5xx HardwarePowerVR SGX5xx Hardware
TI OMAP5770/DRA7/Jacinto6:TI OMAP5770/DRA7/Jacinto6:
•2 SGX544 cores2 SGX544 cores
•4 USSE processors each4 USSE processors each
•4 pipes & 16 threads each4 pipes & 16 threads each
•128 parallel threads128 parallel threads
•runs OS: uKernelruns OS: uKernel
15
Key Virtualization Techniques: MMU Pass-ThroughKey Virtualization Techniques: MMU Pass-Through
• trap all MMU accessestrap all MMU accesses
• introduce shadow PD/PTintroduce shadow PD/PT
• hypercall to Xen for translationhypercall to Xen for translation
16
Key Virtualization Techniques: control hijackingKey Virtualization Techniques: control hijacking
• un-map IO registers for allun-map IO registers for all
domainsdomains
• trap each register accesstrap each register access
• if domain is active repeat‒if domain is active repeat‒
actionaction
• remember action otherwiseremember action otherwise
17
Key Virtualization Techniques: Global (firmware) context switchKey Virtualization Techniques: Global (firmware) context switch
• we can inject commandwe can inject command
• uKernel has power commanduKernel has power command
• forward IRQ to active domain onlyforward IRQ to active domain only
18
Key Virtualization Techniques: VGPU SchedulingKey Virtualization Techniques: VGPU Scheduling
• GPU tasks non-preemptibleGPU tasks non-preemptible
• long context switch timelong context switch time
• GPU scheduled separatelyGPU scheduled separately
• simple FIFO scheduler for nowsimple FIFO scheduler for now
19
20
Similar Approach: XenGTSimilar Approach: XenGT
• our inspirationour inspiration
• has some kind of independent channelshas some kind of independent channels
• Intel onlyIntel only
• heavily abstractedheavily abstracted
21
Some Performance IllustrationSome Performance Illustration
TestTest RateRate
GL Benchmark EgyptGL Benchmark Egypt 22.5 fps22.5 fps
NenaMark2NenaMark2 27.3 fps27.3 fps
22
Further Improvements:Further Improvements:
• virtualization support in uKernel (VE)virtualization support in uKernel (VE)
• smart GPU schedulersmart GPU scheduler
Materials:Materials:
• Kun Tian , Yaozu Dong , David Cowperthwaite, A full GPU virtualization solution with mediated pass-Kun Tian , Yaozu Dong , David Cowperthwaite, A full GPU virtualization solution with mediated pass-
through, Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference, Junethrough, Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference, June
19-20, 2014, Philadelphia, PA19-20, 2014, Philadelphia, PA
• Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, and Kenji Kono. 2014.Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, and Kenji Kono. 2014. GPUvm: why not virtualizingGPUvm: why not virtualizing
GPUs at the hypervisor?.GPUs at the hypervisor?. InIn Proceedings of the 2014 USENIX conference on USENIX Annual TechnicalProceedings of the 2014 USENIX conference on USENIX Annual Technical
ConferenceConference (USENIX ATC'14), Garth Gibson and Nickolai Zeldovich (Eds.).(USENIX ATC'14), Garth Gibson and Nickolai Zeldovich (Eds.). USENIX Association,USENIX Association,
Berkeley, CA, USA, 109-120.Berkeley, CA, USA, 109-120.
• Micah Dowty and Jeremy Sugerman. 2008. GPU virtualization on VMware's hosted I/O architecture. InMicah Dowty and Jeremy Sugerman. 2008. GPU virtualization on VMware's hosted I/O architecture. In
Proceedings of the First conference on I/O virtualizationProceedings of the First conference on I/O virtualization (WIOV'08).(WIOV'08). USENIX Association, Berkeley,USENIX Association, Berkeley,
CA, USA, 7-7CA, USA, 7-7
• NVIDIA, “Fermi: The First Complete GPU Computing Architecture”, 2009NVIDIA, “Fermi: The First Complete GPU Computing Architecture”, 2009
• J. Nickolls and D. Kirk, ‘‘Graphics and Computing GPUs,’’ Computer Organization and Design: TheJ. Nickolls and D. Kirk, ‘‘Graphics and Computing GPUs,’’ Computer Organization and Design: The
Hardware/Software Interface, D.A. Patterson and J.L. Hennessy, 4th ed., Morgan Kaufmann, 2009,Hardware/Software Interface, D.A. Patterson and J.L. Hennessy, 4th ed., Morgan Kaufmann, 2009,
pp.pp. A2-A77.A2-A77.
• Imagination, “PowerVR Series5 Architecture Guide for Developers”, 2014Imagination, “PowerVR Series5 Architecture Guide for Developers”, 2014
• Imagination, “PowerVR Hardware Architecture Overview for Developers”, 2015Imagination, “PowerVR Hardware Architecture Overview for Developers”, 2015
• H.AndrésLagar-Cavilla, “VMGL: VMM-Independent Graphics Acceleration”, undatedH.AndrésLagar-Cavilla, “VMGL: VMM-Independent Graphics Acceleration”, undated
• OpenSynergy, “Shared GPU using Virtualization”, undatedOpenSynergy, “Shared GPU using Virtualization”, undated
©2014 GlobalLogic Inc.
Thank You

More Related Content

PPTX
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
PPTX
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...
PDF
EB corbos and the L4Re microhypervisor: Open-source automotive safety
PDF
vSAN Beyond The Basics
PDF
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
ODP
Kvm and libvirt
PDF
Is Linux ready for safety related applications?
PPTX
Docker para integradores Asterisk
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...
EB corbos and the L4Re microhypervisor: Open-source automotive safety
vSAN Beyond The Basics
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
Kvm and libvirt
Is Linux ready for safety related applications?
Docker para integradores Asterisk

What's hot (20)

PDF
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
PDF
Virtualization with KVM (Kernel-based Virtual Machine)
PPTX
U-boot and Android Verified Boot 2.0
PDF
Google Kubernetes Engine (GKE) deep dive
PDF
The Low-Risk Path to Building Autonomous Car Architectures
PPTX
Citrix adc technical overview
PPTX
Linux Kernel Booting Process (1) - For NLKB
PDF
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
PDF
Embedded Hypervisor for ARM
PDF
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
PDF
OpenShift Virtualization- Technical Overview.pdf
PDF
Dominik Strube – Understanding UNECE WP.29 regulations on cybersecurity
PDF
Ceph Block Devices: A Deep Dive
PDF
Study on Android Emulator
PDF
2018 Genivi Xen Overview Nov Update
PDF
DPDK In Depth
PDF
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
PPTX
Red Hat Openshift Fundamentals.pptx
PDF
QNX Software Systems
PDF
SR-IOV+KVM on Debian/Stable
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
Virtualization with KVM (Kernel-based Virtual Machine)
U-boot and Android Verified Boot 2.0
Google Kubernetes Engine (GKE) deep dive
The Low-Risk Path to Building Autonomous Car Architectures
Citrix adc technical overview
Linux Kernel Booting Process (1) - For NLKB
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Embedded Hypervisor for ARM
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
OpenShift Virtualization- Technical Overview.pdf
Dominik Strube – Understanding UNECE WP.29 regulations on cybersecurity
Ceph Block Devices: A Deep Dive
Study on Android Emulator
2018 Genivi Xen Overview Nov Update
DPDK In Depth
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Red Hat Openshift Fundamentals.pptx
QNX Software Systems
SR-IOV+KVM on Debian/Stable
Ad

Viewers also liked (11)

PDF
[MirrorLink Hackathon] Intro to the MirrorLink API, requirements & tools by E...
PDF
How to Upgrade a Coffee Machine Using Arduino
PDF
GPU Virtualization on VMware's Hosted I/O Architecture
PPTX
VDI and Application Virtualization
PPTX
CPU Scheduling for Virtual Desktop Infrastructure
PDF
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
PPTX
Internet of Things - GlobalLogic Projects
PDF
Xen Project: Windows PV Drivers
PPTX
3. CPU virtualization and scheduling
PDF
Virtualization Technology Overview
PDF
Introduction to virtualization
[MirrorLink Hackathon] Intro to the MirrorLink API, requirements & tools by E...
How to Upgrade a Coffee Machine Using Arduino
GPU Virtualization on VMware's Hosted I/O Architecture
VDI and Application Virtualization
CPU Scheduling for Virtual Desktop Infrastructure
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
Internet of Things - GlobalLogic Projects
Xen Project: Windows PV Drivers
3. CPU virtualization and scheduling
Virtualization Technology Overview
Introduction to virtualization
Ad

Similar to GPU Virtualization in Embedded Automotive Solutions (20)

PDF
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
PDF
GPU Virtualization in SUSE
PDF
Linxu conj2016 96boards
PDF
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
PDF
Kernel Recipes 2014 - Testing Video4Linux Applications and Drivers
PPTX
Multi-faceted Microarchitecture Level Reliability Characterization for NVIDIA...
PDF
GPU-Virtualization-in-openSUSE.pdf
PDF
Hardware Detection Tool
PDF
Implementing SR-IOv failover for Windows guests during live migration
PDF
Deploying vn fs with kubernetes pods and vms
PDF
Deploying vn fs with kubernetes pods and vms
PDF
Transparent GPU Exploitation for Java
PDF
OpenHPI - Parallel Programming Concepts - Week 4
PDF
Scalable AI Solution cross AI platforms
 
PDF
Bits & Pixels using AI for Good.........
PDF
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
PDF
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
PDF
RISC V in Spacer
PDF
Why Have The Specifications Been Based On Java™ Technology? - P Kriens
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
GPU Virtualization in SUSE
Linxu conj2016 96boards
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Kernel Recipes 2014 - Testing Video4Linux Applications and Drivers
Multi-faceted Microarchitecture Level Reliability Characterization for NVIDIA...
GPU-Virtualization-in-openSUSE.pdf
Hardware Detection Tool
Implementing SR-IOv failover for Windows guests during live migration
Deploying vn fs with kubernetes pods and vms
Deploying vn fs with kubernetes pods and vms
Transparent GPU Exploitation for Java
OpenHPI - Parallel Programming Concepts - Week 4
Scalable AI Solution cross AI platforms
 
Bits & Pixels using AI for Good.........
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
RISC V in Spacer
Why Have The Specifications Been Based On Java™ Technology? - P Kriens

More from GlobalLogic Ukraine (20)

PDF
GlobalLogic JavaScript Community Webinar #21 “Інтерв’ю без заспокійливих”
PPTX
Deadlocks in SQL - Turning Fear Into Understanding (by Sergii Stets)
PDF
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
PDF
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"
PDF
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”
PDF
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
PPTX
Штучний інтелект як допомога в навчанні, а не замінник.pptx
PPTX
Задачі AI-розробника як застосовується штучний інтелект.pptx
PPTX
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
PDF
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
PDF
JavaScript Community Webinar #14 "Why Is Git Rebase?"
PDF
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
PPTX
Страх і сила помилок - IT Inside від GlobalLogic Education
PDF
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
PDF
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
PDF
“How to Secure Your Applications With a Keycloak?
PDF
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
PPTX
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
PDF
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
PDF
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
GlobalLogic JavaScript Community Webinar #21 “Інтерв’ю без заспокійливих”
Deadlocks in SQL - Turning Fear Into Understanding (by Sergii Stets)
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
Штучний інтелект як допомога в навчанні, а не замінник.pptx
Задачі AI-розробника як застосовується штучний інтелект.pptx
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
JavaScript Community Webinar #14 "Why Is Git Rebase?"
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
Страх і сила помилок - IT Inside від GlobalLogic Education
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
“How to Secure Your Applications With a Keycloak?
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"

Recently uploaded (20)

DOCX
573137875-Attendance-Management-System-original
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Welding lecture in detail for understanding
PPTX
Sustainable Sites - Green Building Construction
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Structs to JSON How Go Powers REST APIs.pdf
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
573137875-Attendance-Management-System-original
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
UNIT 4 Total Quality Management .pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Welding lecture in detail for understanding
Sustainable Sites - Green Building Construction
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Mechanical Engineering MATERIALS Selection
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Structs to JSON How Go Powers REST APIs.pdf
Operating System & Kernel Study Guide-1 - converted.pdf
OOP with Java - Java Introduction (Basics)
Arduino robotics embedded978-1-4302-3184-4.pdf
Lesson 3_Tessellation.pptx finite Mathematics
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

GPU Virtualization in Embedded Automotive Solutions

  • 1. ©2014 GlobalLogic Inc. GPU Virtualization in Embedded Automotive Solutions Sergiy Kibrik GlobalLogic Embedded TechTalk July 22, 2015
  • 2. 2 Why One Wants to Virtualize?Why One Wants to Virtualize? VSVS
  • 3. 3 ARM implemented virtualization support on some of ARM v7 processorsARM implemented virtualization support on some of ARM v7 processors
  • 4. 4 Key Virtualization TargetsKey Virtualization Targets • isolationisolation • parallelismparallelism • safetysafety • robustnessrobustness • performanceperformance
  • 5. 5 Common GPU Virtualization ApproachesCommon GPU Virtualization Approaches OpenGL/DirectX/OpenCL etcOpenGL/DirectX/OpenCL etc API RemotingAPI Remoting match:match: isolation, parallelism, safetyisolation, parallelism, safety no match:no match: robustness, performancerobustness, performance on embedded systemson embedded systems Vendors: Xen (VMGL), Chromium,Vendors: Xen (VMGL), Chromium, Android Emluator,Android Emluator, presumably MentorGraphics & RedBendpresumably MentorGraphics & RedBend
  • 6. 6 Common GPU Virtualization ApproachesCommon GPU Virtualization Approaches Driver SplitDriver Split Vendors: VMWare SVGA2Vendors: VMWare SVGA2 match:match: isolation, parallelism, safetyisolation, parallelism, safety no match:no match: robustness, performancerobustness, performance on embedded systemson embedded systems + high cost+ high cost
  • 7. 7 Do It The Hard WayDo It The Hard WayTMTM Full GPU Emulation!Full GPU Emulation! Registers & VRAMRegisters & VRAM virtualizedvirtualized Every single oneEvery single one access is trapped &access is trapped & emulatedemulated
  • 8. 8 Common GPU Virtualization ApproachesCommon GPU Virtualization Approaches Direct pass-through:Direct pass-through: match:match: safety, performance,safety, performance, robustnessrobustness no match:no match: isolation, parallelismisolation, parallelism Vendors: NVIDIA GRID vGPUVendors: NVIDIA GRID vGPU
  • 9. 9 And the Right Approach :)And the Right Approach :) match:match: isolation, parallelism,isolation, parallelism, safety, robustnesssafety, robustness not quite match:not quite match: performanceperformance Mediated pass-throughMediated pass-through
  • 10. 10 A bit of GPU Pipeline…A bit of GPU Pipeline…
  • 11. 11 ……and what this stuff actually doesand what this stuff actually does
  • 12. 12 Real World Example: GeForce 8800Real World Example: GeForce 8800 (2006)(2006)
  • 13. 13 Embedded Case: PowerVR Graphics PipelineEmbedded Case: PowerVR Graphics Pipeline • tile-based renderingtile-based rendering • hidden surface removalhidden surface removal
  • 14. 14 PowerVR SGX5xx HardwarePowerVR SGX5xx Hardware TI OMAP5770/DRA7/Jacinto6:TI OMAP5770/DRA7/Jacinto6: •2 SGX544 cores2 SGX544 cores •4 USSE processors each4 USSE processors each •4 pipes & 16 threads each4 pipes & 16 threads each •128 parallel threads128 parallel threads •runs OS: uKernelruns OS: uKernel
  • 15. 15 Key Virtualization Techniques: MMU Pass-ThroughKey Virtualization Techniques: MMU Pass-Through • trap all MMU accessestrap all MMU accesses • introduce shadow PD/PTintroduce shadow PD/PT • hypercall to Xen for translationhypercall to Xen for translation
  • 16. 16 Key Virtualization Techniques: control hijackingKey Virtualization Techniques: control hijacking • un-map IO registers for allun-map IO registers for all domainsdomains • trap each register accesstrap each register access • if domain is active repeat‒if domain is active repeat‒ actionaction • remember action otherwiseremember action otherwise
  • 17. 17 Key Virtualization Techniques: Global (firmware) context switchKey Virtualization Techniques: Global (firmware) context switch • we can inject commandwe can inject command • uKernel has power commanduKernel has power command • forward IRQ to active domain onlyforward IRQ to active domain only
  • 18. 18 Key Virtualization Techniques: VGPU SchedulingKey Virtualization Techniques: VGPU Scheduling • GPU tasks non-preemptibleGPU tasks non-preemptible • long context switch timelong context switch time • GPU scheduled separatelyGPU scheduled separately • simple FIFO scheduler for nowsimple FIFO scheduler for now
  • 19. 19
  • 20. 20 Similar Approach: XenGTSimilar Approach: XenGT • our inspirationour inspiration • has some kind of independent channelshas some kind of independent channels • Intel onlyIntel only • heavily abstractedheavily abstracted
  • 21. 21 Some Performance IllustrationSome Performance Illustration TestTest RateRate GL Benchmark EgyptGL Benchmark Egypt 22.5 fps22.5 fps NenaMark2NenaMark2 27.3 fps27.3 fps
  • 22. 22 Further Improvements:Further Improvements: • virtualization support in uKernel (VE)virtualization support in uKernel (VE) • smart GPU schedulersmart GPU scheduler Materials:Materials: • Kun Tian , Yaozu Dong , David Cowperthwaite, A full GPU virtualization solution with mediated pass-Kun Tian , Yaozu Dong , David Cowperthwaite, A full GPU virtualization solution with mediated pass- through, Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference, Junethrough, Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference, June 19-20, 2014, Philadelphia, PA19-20, 2014, Philadelphia, PA • Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, and Kenji Kono. 2014.Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, and Kenji Kono. 2014. GPUvm: why not virtualizingGPUvm: why not virtualizing GPUs at the hypervisor?.GPUs at the hypervisor?. InIn Proceedings of the 2014 USENIX conference on USENIX Annual TechnicalProceedings of the 2014 USENIX conference on USENIX Annual Technical ConferenceConference (USENIX ATC'14), Garth Gibson and Nickolai Zeldovich (Eds.).(USENIX ATC'14), Garth Gibson and Nickolai Zeldovich (Eds.). USENIX Association,USENIX Association, Berkeley, CA, USA, 109-120.Berkeley, CA, USA, 109-120. • Micah Dowty and Jeremy Sugerman. 2008. GPU virtualization on VMware's hosted I/O architecture. InMicah Dowty and Jeremy Sugerman. 2008. GPU virtualization on VMware's hosted I/O architecture. In Proceedings of the First conference on I/O virtualizationProceedings of the First conference on I/O virtualization (WIOV'08).(WIOV'08). USENIX Association, Berkeley,USENIX Association, Berkeley, CA, USA, 7-7CA, USA, 7-7 • NVIDIA, “Fermi: The First Complete GPU Computing Architecture”, 2009NVIDIA, “Fermi: The First Complete GPU Computing Architecture”, 2009 • J. Nickolls and D. Kirk, ‘‘Graphics and Computing GPUs,’’ Computer Organization and Design: TheJ. Nickolls and D. Kirk, ‘‘Graphics and Computing GPUs,’’ Computer Organization and Design: The Hardware/Software Interface, D.A. Patterson and J.L. Hennessy, 4th ed., Morgan Kaufmann, 2009,Hardware/Software Interface, D.A. Patterson and J.L. Hennessy, 4th ed., Morgan Kaufmann, 2009, pp.pp. A2-A77.A2-A77. • Imagination, “PowerVR Series5 Architecture Guide for Developers”, 2014Imagination, “PowerVR Series5 Architecture Guide for Developers”, 2014 • Imagination, “PowerVR Hardware Architecture Overview for Developers”, 2015Imagination, “PowerVR Hardware Architecture Overview for Developers”, 2015 • H.AndrésLagar-Cavilla, “VMGL: VMM-Independent Graphics Acceleration”, undatedH.AndrésLagar-Cavilla, “VMGL: VMM-Independent Graphics Acceleration”, undated • OpenSynergy, “Shared GPU using Virtualization”, undatedOpenSynergy, “Shared GPU using Virtualization”, undated