SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
!

XenGT:	
  a	
  So+ware	
  Based	
  Intel	
  Graphics	
  
Virtualiza;on	
  Solu;on
Oct 22, 2013
Haitao Shan, haitao.shan@intel.com
Kevin Tian, kevin.tian@intel.com
Eddie Dong, eddie.dong@intel.com
Agenda	
!

•  Background
•  Existing Arts
•  XenGT Architecture
•  Performance
•  Summary

2
!

Background
Graphics Computing	
!

•  Entertainment applications
• 

Gaming, video playback, browser, etc.

•  General purpose windowing
• 

Windows Aero, Compiz Fusion, etc

•  High performance computing
• 

Computer aided designs, weather broadcast, etc.

Same capability required, when above tasks are moved into VM

4
Graphics Virtualization	
!

•  Performance vs. multiplexing
• 
• 

Consistent and rich user experience in all VMs
Share a single GPU among multiple VMs

Client
Server

VDI, transcoder, GPGPU

Embedded

5

Rich Virtual Client

Smartphone, tablet, IVI
!

Existing Arts
Device Emulation	
!

•  Only for legacy VGA cards
• 

E.g. Cirrus logic VGA card

•  Limited graphics capability
• 
• 

2D only
Optimizations on frame buffer operations
• 

E.g. PV framebuffer

•  Impossible to emulate a modern GPU
• 
• 

7

Complexity
Poor performance
Split Driver Model	
!

•  Frontend/Backend drivers
• 
• 
• 

Forward OpenGL/DirectX API calls
Implementation specific for the level of
forwarding
E.g. VMGL, VMware vGPU, Virgil

•  Hardware agnostic
•  Challenges on forwarding between host/
guest graphics stacks
• 
• 

8

API compatibility
CPU overhead
Direct Pass-Through/SR-IOV	
!

•  Best performance with direct pass-through
• 

9

However no multiplexing
!

XenGT Architecture
XenGT	
!

•  A mediated pass-through solution for
graphics virtualization
• 
• 

Pass-through performance critical resources
Trap-and-emulate privileged operations
• 

Maintain a device model per VM

•  Run native graphics driver in VM
•  Achieve good performance and moderate
multiplexing capability	
Performance
Device Emulation

Split Driver Model

Multiplexing

11

Mediated PassThrough

Direct
Pass-Through
XenGT Architecture	
!

12
Intel Processor Graphics	
!

•  Graphics memory
• 

Virtual memory address spaces
• 
• 

• 

GPU
Global State

A single global virtual memory (GVM) space
Multiple per-process virtual memory (PPVM)
spaces

Backed by system memory through GTTs

Render
Engine
State

State

Per-Process
Virtual Memory

GPU
Commands

Display
Engine

Global
Virtual Memory

External
Monitors

•  Render engine
• 

Fulfill the acceleration capability through
fixed pipelines and execution units

•  Display engine
• 

Route date from graphics memory to
external monitors

•  Global state
• 

13

Represent remaining circuits, including
initialization, PM, etc.

Per-Process Graphics
Translation Tables
(PPGTTs)

Global Graphics
Translation Table
(GGTT)

Graphics Memory
(System Memory)
Mediated Pass-Through Policies	
!

•  Access frequency on GPU interfaces

•  Policies	
Pass-through
-----------------------------------------Graphics Virtual Memory Spaces
Command Buffers

14

Mediation
-----------------------------------------MMIO registers
GTTs
PCI configuration space
Legacy VGA I/O ports
Global Virtual Memory Space	
!

•  The single GVM space is partitioned
• 

Access to VM’s own GVM region is passed
through
Classical memory virtualization challenge

• 
• 

• 

Host view vs. guest view

Address space ballooning with driver
cooperation

•  GGTT accesses are mediated
• 

Access to its own GGTT entries is translated
• 

• 

15

GPFN <-> MFN

Access to others’ entries is virtualized
Per-Process Virtual Memory Spaces	
!

•  Each VM manages its own
PPVM spaces
• 
• 

Active space pointed by
PP_DIR_BASE
Accesses are passed through

•  PPGTT accesses are writeprotected
• 
• 

16

Shadow PPGTT table
Switch PP_DIR_BASE at render
context switch
Command Buffers	
!

•  Command buffer access is passed through
• 

Graphics
Driver

Reside in virtual memory spaces
Ring Tail

GPU

Ring Head
Submission
Chained Batch Buffers

Batch Buffer

Command

Ring
Buffer

T1

Queue
Commands

Completion

Command

Submission

Access
Registers

Command

Submission
T2

Execute
Commands

Completion

•  Command submission request is mediated
• 
• 
• 
• 

17

Completion

Through MMIO register (ring tail)
Render scheduler makes the decision
Render owner request is submitted to render engine
Non-render owner request is blocked

time

time
Render Engine Sharing	

Render context switch flow
1.  Wait VM1 ring buffer becoming empty
2.  Save render MMIO registers for VM1

•  A simple round-robin scheduler
• 

In 16ms epoch

3.  Flush internal TLB/caches
4.  Hardware context switch
5.  Restore render MMIO registers for VM2
6.  Submit previously queued commands

•  Render owner access is trap-andforwarded to the render engine

•  Non-render owner access is trapand-emulated

18

!
Display Engine Sharing	
!

Direct display model
-  Display engine points to the frame buffer
of the foreground VM
-  vGT driver configures display engine for
foreground/background switch

19

Indirect display model
-  vGT driver provides interface to decode
VM frame buffer location/format
-  An OpenGL app composites VM frame
buffers
!

Performance
3D Performance	
!

Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance
tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and
functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to
assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.
For more complete information about performance and benchmark results, visit www.intel.com/benchmarks

21
Single VM vs. Two VMs	
!

Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance
tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and
functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to
assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.
For more complete information about performance and benchmark results, visit www.intel.com/benchmarks

22
!

Summary
Summary	
!

•  Sustain consistent and rich user experience in VM
• 

Running native graphics driver in VM

•  Achieve good performance
• 

Minimum impact on performance critical operations

•  Support moderate multiplexing capability
• 

Trap-and-emulate privileged operations

•  Call for action - try and feedback
• 
• 
• 

24

https://github.com/01org/XenGT-Preview-kernel
https://github.com/01org/XenGT-Preview-xen
https://github.com/01org/XenGT-Preview-qemu
Notices and Disclaimers
!
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE,
EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS
GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR
SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR
IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL® PRODUCTS INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT
OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT
INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS.
Intel may make changes to specifications and product descriptions at any time, without notice.
All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.
Intel, processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product
to deviate from published specifications. Current characterized errata are available on request.
No computer system can provide absolute security under all conditions. Intel® Trusted Execution Technology (Intel® TXT) requires a
computer with Intel® Virtualization Technology, an Intel TXT-enabled processor, chipset, BIOS, Authenticated Code Modules and an
Intel TXT-compatible measured launched environment (MLE). Intel TXT also requires the system to contain a TPM v1.s. For more
information, visit http://www.intel.com/technology/security
Intel, Intel logo, Xeon, and Xeon Inside are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United
States and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2013 Intel Corporation. All rights reserved.

25
XPDS13: XenGT - A software based Intel Graphics Virtualization Solution - Haitao Shan, Intel

Mais conteúdo relacionado

Mais procurados

Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
AMD Developer Central
 
Hyper-V High Availability and Live Migration
Hyper-V High Availability and Live MigrationHyper-V High Availability and Live Migration
Hyper-V High Availability and Live Migration
Paulo Freitas
 
Xen and the Art of Virtualization
Xen and the Art of VirtualizationXen and the Art of Virtualization
Xen and the Art of Virtualization
Susheel Thakur
 

Mais procurados (20)

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...
 
CPU Scheduling for Virtual Desktop Infrastructure
CPU Scheduling for Virtual Desktop InfrastructureCPU Scheduling for Virtual Desktop Infrastructure
CPU Scheduling for Virtual Desktop Infrastructure
 
Memory Virtualization
Memory VirtualizationMemory Virtualization
Memory Virtualization
 
GPUs vs CPUs for Parallel Processing
GPUs vs CPUs for Parallel ProcessingGPUs vs CPUs for Parallel Processing
GPUs vs CPUs for Parallel Processing
 
2. OS vs. VMM
2. OS vs. VMM2. OS vs. VMM
2. OS vs. VMM
 
3. CPU virtualization and scheduling
3. CPU virtualization and scheduling3. CPU virtualization and scheduling
3. CPU virtualization and scheduling
 
Demand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMsDemand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMs
 
XPDDS18: Memory Overcommitment in XEN - Huang Zhichao, Huawei
XPDDS18: Memory Overcommitment in XEN - Huang Zhichao, HuaweiXPDDS18: Memory Overcommitment in XEN - Huang Zhichao, Huawei
XPDDS18: Memory Overcommitment in XEN - Huang Zhichao, Huawei
 
Cloud Gaming
Cloud GamingCloud Gaming
Cloud Gaming
 
XPDDS18: Unikraft: An easy way of crafting Unikernels on Arm - Kaly Xin, ARM
XPDDS18: Unikraft: An easy way of crafting Unikernels on Arm - Kaly Xin, ARMXPDDS18: Unikraft: An easy way of crafting Unikernels on Arm - Kaly Xin, ARM
XPDDS18: Unikraft: An easy way of crafting Unikernels on Arm - Kaly Xin, ARM
 
XPDDS18: Qemu and Xen: Reducing the attack surface - Paul Durrant, Citrix
XPDDS18: Qemu and Xen: Reducing the attack surface - Paul Durrant, CitrixXPDDS18: Qemu and Xen: Reducing the attack surface - Paul Durrant, Citrix
XPDDS18: Qemu and Xen: Reducing the attack surface - Paul Durrant, Citrix
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
 
6. Live VM migration
6. Live VM migration6. Live VM migration
6. Live VM migration
 
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, HuaweiXPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
 
Hyper-V High Availability and Live Migration
Hyper-V High Availability and Live MigrationHyper-V High Availability and Live Migration
Hyper-V High Availability and Live Migration
 
Scheduler Support for Video-oriented Multimedia on Client-side Virtualization
Scheduler Support for Video-oriented Multimedia on Client-side VirtualizationScheduler Support for Video-oriented Multimedia on Client-side Virtualization
Scheduler Support for Video-oriented Multimedia on Client-side Virtualization
 
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
 
XPDDS18: NVDIMM Overview - George Dunlap, Citrix
XPDDS18: NVDIMM Overview - George Dunlap, Citrix XPDDS18: NVDIMM Overview - George Dunlap, Citrix
XPDDS18: NVDIMM Overview - George Dunlap, Citrix
 
Xen and the Art of Virtualization
Xen and the Art of VirtualizationXen and the Art of Virtualization
Xen and the Art of Virtualization
 
Gpu Systems
Gpu SystemsGpu Systems
Gpu Systems
 

Semelhante a XPDS13: XenGT - A software based Intel Graphics Virtualization Solution - Haitao Shan, Intel

Crooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinumCrooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinum
Alan Frost
 
Droidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intelDroidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intel
Droidcon Berlin
 

Semelhante a XPDS13: XenGT - A software based Intel Graphics Virtualization Solution - Haitao Shan, Intel (20)

LF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDKLF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDK
 
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelXPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
 
Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*
 
Introduction to container networking in K8s - SDN/NFV London meetup
Introduction to container networking in K8s - SDN/NFV  London meetupIntroduction to container networking in K8s - SDN/NFV  London meetup
Introduction to container networking in K8s - SDN/NFV London meetup
 
Performance out of the box developers
Performance   out of the box developersPerformance   out of the box developers
Performance out of the box developers
 
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel ArchitectureDPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
 
Introduccion Android Day movilforum madrid
Introduccion Android Day movilforum madridIntroduccion Android Day movilforum madrid
Introduccion Android Day movilforum madrid
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...
 
Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*
 
Lakefield: Hybrid Cores in 3D Package
Lakefield: Hybrid Cores in 3D PackageLakefield: Hybrid Cores in 3D Package
Lakefield: Hybrid Cores in 3D Package
 
Crooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinumCrooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinum
 
Droidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intelDroidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intel
 
Achieve Business-Class Performance With Intel vPro, an Intel Evo Design
Achieve Business-Class Performance With Intel vPro, an Intel Evo DesignAchieve Business-Class Performance With Intel vPro, an Intel Evo Design
Achieve Business-Class Performance With Intel vPro, an Intel Evo Design
 
Deep Learning Training at Scale: Spring Crest Deep Learning Accelerator
Deep Learning Training at Scale: Spring Crest Deep Learning AcceleratorDeep Learning Training at Scale: Spring Crest Deep Learning Accelerator
Deep Learning Training at Scale: Spring Crest Deep Learning Accelerator
 
2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc
 
The Architecture of Intel Processor Graphics: Gen 11
The Architecture of Intel Processor Graphics: Gen 11The Architecture of Intel Processor Graphics: Gen 11
The Architecture of Intel Processor Graphics: Gen 11
 
The Architecture of 11th Generation Intel® Processor Graphics
The Architecture of 11th Generation Intel® Processor GraphicsThe Architecture of 11th Generation Intel® Processor Graphics
The Architecture of 11th Generation Intel® Processor Graphics
 
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
 
Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"
 
Xeon E5 Making the Business Case PowerPoint
Xeon E5 Making the Business Case PowerPointXeon E5 Making the Business Case PowerPoint
Xeon E5 Making the Business Case PowerPoint
 

Mais de The Linux Foundation

Mais 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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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?
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
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...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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...
 
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)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 

XPDS13: XenGT - A software based Intel Graphics Virtualization Solution - Haitao Shan, Intel

  • 1. ! XenGT:  a  So+ware  Based  Intel  Graphics   Virtualiza;on  Solu;on Oct 22, 2013 Haitao Shan, haitao.shan@intel.com Kevin Tian, kevin.tian@intel.com Eddie Dong, eddie.dong@intel.com
  • 2. Agenda ! •  Background •  Existing Arts •  XenGT Architecture •  Performance •  Summary 2
  • 4. Graphics Computing ! •  Entertainment applications •  Gaming, video playback, browser, etc. •  General purpose windowing •  Windows Aero, Compiz Fusion, etc •  High performance computing •  Computer aided designs, weather broadcast, etc. Same capability required, when above tasks are moved into VM 4
  • 5. Graphics Virtualization ! •  Performance vs. multiplexing •  •  Consistent and rich user experience in all VMs Share a single GPU among multiple VMs Client Server VDI, transcoder, GPGPU Embedded 5 Rich Virtual Client Smartphone, tablet, IVI
  • 7. Device Emulation ! •  Only for legacy VGA cards •  E.g. Cirrus logic VGA card •  Limited graphics capability •  •  2D only Optimizations on frame buffer operations •  E.g. PV framebuffer •  Impossible to emulate a modern GPU •  •  7 Complexity Poor performance
  • 8. Split Driver Model ! •  Frontend/Backend drivers •  •  •  Forward OpenGL/DirectX API calls Implementation specific for the level of forwarding E.g. VMGL, VMware vGPU, Virgil •  Hardware agnostic •  Challenges on forwarding between host/ guest graphics stacks •  •  8 API compatibility CPU overhead
  • 9. Direct Pass-Through/SR-IOV ! •  Best performance with direct pass-through •  9 However no multiplexing
  • 11. XenGT ! •  A mediated pass-through solution for graphics virtualization •  •  Pass-through performance critical resources Trap-and-emulate privileged operations •  Maintain a device model per VM •  Run native graphics driver in VM •  Achieve good performance and moderate multiplexing capability Performance Device Emulation Split Driver Model Multiplexing 11 Mediated PassThrough Direct Pass-Through
  • 13. Intel Processor Graphics ! •  Graphics memory •  Virtual memory address spaces •  •  •  GPU Global State A single global virtual memory (GVM) space Multiple per-process virtual memory (PPVM) spaces Backed by system memory through GTTs Render Engine State State Per-Process Virtual Memory GPU Commands Display Engine Global Virtual Memory External Monitors •  Render engine •  Fulfill the acceleration capability through fixed pipelines and execution units •  Display engine •  Route date from graphics memory to external monitors •  Global state •  13 Represent remaining circuits, including initialization, PM, etc. Per-Process Graphics Translation Tables (PPGTTs) Global Graphics Translation Table (GGTT) Graphics Memory (System Memory)
  • 14. Mediated Pass-Through Policies ! •  Access frequency on GPU interfaces •  Policies Pass-through -----------------------------------------Graphics Virtual Memory Spaces Command Buffers 14 Mediation -----------------------------------------MMIO registers GTTs PCI configuration space Legacy VGA I/O ports
  • 15. Global Virtual Memory Space ! •  The single GVM space is partitioned •  Access to VM’s own GVM region is passed through Classical memory virtualization challenge •  •  •  Host view vs. guest view Address space ballooning with driver cooperation •  GGTT accesses are mediated •  Access to its own GGTT entries is translated •  •  15 GPFN <-> MFN Access to others’ entries is virtualized
  • 16. Per-Process Virtual Memory Spaces ! •  Each VM manages its own PPVM spaces •  •  Active space pointed by PP_DIR_BASE Accesses are passed through •  PPGTT accesses are writeprotected •  •  16 Shadow PPGTT table Switch PP_DIR_BASE at render context switch
  • 17. Command Buffers ! •  Command buffer access is passed through •  Graphics Driver Reside in virtual memory spaces Ring Tail GPU Ring Head Submission Chained Batch Buffers Batch Buffer Command Ring Buffer T1 Queue Commands Completion Command Submission Access Registers Command Submission T2 Execute Commands Completion •  Command submission request is mediated •  •  •  •  17 Completion Through MMIO register (ring tail) Render scheduler makes the decision Render owner request is submitted to render engine Non-render owner request is blocked time time
  • 18. Render Engine Sharing Render context switch flow 1.  Wait VM1 ring buffer becoming empty 2.  Save render MMIO registers for VM1 •  A simple round-robin scheduler •  In 16ms epoch 3.  Flush internal TLB/caches 4.  Hardware context switch 5.  Restore render MMIO registers for VM2 6.  Submit previously queued commands •  Render owner access is trap-andforwarded to the render engine •  Non-render owner access is trapand-emulated 18 !
  • 19. Display Engine Sharing ! Direct display model -  Display engine points to the frame buffer of the foreground VM -  vGT driver configures display engine for foreground/background switch 19 Indirect display model -  vGT driver provides interface to decode VM frame buffer location/format -  An OpenGL app composites VM frame buffers
  • 21. 3D Performance ! Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information about performance and benchmark results, visit www.intel.com/benchmarks 21
  • 22. Single VM vs. Two VMs ! Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information about performance and benchmark results, visit www.intel.com/benchmarks 22
  • 24. Summary ! •  Sustain consistent and rich user experience in VM •  Running native graphics driver in VM •  Achieve good performance •  Minimum impact on performance critical operations •  Support moderate multiplexing capability •  Trap-and-emulate privileged operations •  Call for action - try and feedback •  •  •  24 https://github.com/01org/XenGT-Preview-kernel https://github.com/01org/XenGT-Preview-xen https://github.com/01org/XenGT-Preview-qemu
  • 25. Notices and Disclaimers ! INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS. Intel may make changes to specifications and product descriptions at any time, without notice. All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice. Intel, processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. No computer system can provide absolute security under all conditions. Intel® Trusted Execution Technology (Intel® TXT) requires a computer with Intel® Virtualization Technology, an Intel TXT-enabled processor, chipset, BIOS, Authenticated Code Modules and an Intel TXT-compatible measured launched environment (MLE). Intel TXT also requires the system to contain a TPM v1.s. For more information, visit http://www.intel.com/technology/security Intel, Intel logo, Xeon, and Xeon Inside are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others. Copyright © 2013 Intel Corporation. All rights reserved. 25