Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel

516 visualizaciones

Publicado el

With increasing GPU-intensive workloads deployed on Cloud, the Cloud service providers are seeking for practical and efficient GPU virtualization solutions. vGPU scalability can significantly reduce the TCO (Total Cost of Ownership) and improve the ROI (Return on Investment) for Cloud providers. One of the technical challenges to scale up vGPU is due to the graphic memory resource limitation, which constrains the total number of guest virtual GPU instances.

In this talk, Intel's GVT team will introduces a scalable GPU virtualization solution (code name: gScale) to break the hardware limitation of global graphics memory space. The evaluation shows that gScale can have 5x vGPU scalability in guest Linux and 4x vGPU scalability in guest Windows.

Publicado en: Tecnología
  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel

  1. 1. gScale : Improve vGPU Scalability Using Dynamic Resource Sharing Aug 2016 Pei Zhang Pei.zhang@intel.com Kevin Tian Kevin.tian@intel.com Xiao Zheng Xiao.zheng@intel.com
  2. 2. 2 Agenda • vGPU Scalability of GVT-g • gScale Design for Doubled vGPU Density • Evaluation • Summary
  3. 3. vGPU Scalability in GVT-g
  4. 4. 4 GVT-g Introduction • Full GPU virtualization solution with mediated pass-through approach • Open source implementation for Xen/KVM (aka XenGT/KVMGT) • Support a rich span of Intel® Processor Graphics • Available in https://01.org/igvt-g Near to native GPU performance Full GPU capabilities in VM Flexible VMs sharing (Up to 7VMs)+ + >= 2X higher density! gScale
  5. 5. 5 Processor Graphics: Components Display Engine GPU Render Engine GGTT System Memory Global Graphics Virtual Memory PPGTTPPGTTPPGTT Graphics Virtual Memory Graphics Virtual Memory Per-Process Graphics Virtual Memory Registers/MMIO CPU Aperture
  6. 6. 6 • Parallel access from multiple engines due to split vCPU/vGPU scheduling Shared Global Graphics Memory in GVT-g Display Engine Render Engine Global Graphics Virtual Memory CPU Aperture By guest gfx drivers thru vCPU scheduling By guest GPU commands thru vGPU scheduling Upon Foreground/background Display switch
  7. 7. 7 Static Partitioning of Global Graphics Memory 0 4GB1GB Global Graphics Memory CPU Visible Memory CPU Invisible Memory vGPU1 vGPU2 PCI MMIO Aperture - Minimal 128MB visible/384MB invisible per vGPU - Means up to 7vGPUs possible (besides reserved for Dom0) - Some BIOS may support a smaller aperture which means more limitation
  8. 8. gScale Design for Doubled vGPU Density
  9. 9. 9 gScale: per-VM Global Graphics Memory VM1 View VM2 View Host View Ballooned graphic memory VM1 View VM2 View Host View Switch between per-VM GGTT table Shared GGTT space Per-VM GGTT space Key challenge is to remove parallel accesses!
  10. 10. 10 3 Components in Parallel Access to GGTT • Render engine access • Display engine access • CPU tiled/non-tiled memory access
  11. 11. 11 Render Engine Accesses • At anytime, only one vGPU’s graphics memory is accessible by render engine Controlled by vGPU scheduler • Dynamically switch per-VM GGTT table at vGPU context switch Render Engine Global Graphics Memory per-VM Global GTT VM2 System MemoryVM1 System Memory Part of vGPU context switch
  12. 12. 12 Display Engine Accesses • Display engine accesses is restricted to the Dom0 reserved region Alias mapping of guest framebuffer into reserved graphics memory for Dom0 Display Engine Global Graphics Memory per-VM Global GTT VM2 System MemoryVM1 System Memory Dom0 reserved region
  13. 13. 13 Tiled/non-Tiled and Aperture Memory • What is tiled memory • Tiled memory – aperture access Linear surface Tiled surface
  14. 14. 14 CPU Accesses to Non-Tiled Memory VM2 System MemoryVM1 System Memory Global Graphics Memory per-VM Global GTT EPT1 EPT2 vAperture1 vAperture2 Remove use of aperture Bypass aperture and directly access system memory. Mem access is coherent between CPU cores/GPU. Dom0 reserved region Aperture
  15. 15. 15 CPU Access for Tiled Memory VM2 System MemoryVM1 System Memory Global Graphics Memory per-VM Global GTT EPT1 EPT2 vAperture1 vAperture2 Tiled Memory Fence Registers Dynamic allocation of fence register and aperture for tiled memory! Dom0 reserved region Aperture
  16. 16. 16 Summary: Global Graphic memory access Display Engine Render Engine CPU Aperture Access Tiled mem: remap to DOM-0 Reserved region Only render owner can access memory Remap to only accesses DOM-0 reserved region Per-VM Global memory System Memory Access None-Tiled mem: pass through to system memory directly GPU GGTT Dom0 reserved region
  17. 17. 17 Optimization: Split per-VM GGTT into slots • per-VM GTT switching is based on slots • Switching for those only slots that shared between other VMs * Notes: 1. vGPU0 (for DOM0) has dedicated mem space slots which won’t be shared by other vGPUs. Slot0 (DOM0) Slot1 (DOMu) Slot2 (DOMu) High Mem space vGPU0*1 vGPU1 vGPU2 vGPU3 vGPU4 DOM0 Reserved region Slot0 (DOM0) Slot1 (DOMu) Low Mem space … vGPUn … … Available low/high space slot Split sample Host GGTT space Per-VMGGTTSpace Whole per-VM GTT table size is about 2MB Switching entire GTT table is time consumed.
  18. 18. 18 Linux Windows 1. gScale-Basic is the data without memory slot split. 2. Performance data is sampled with 12 VMs. Context switch performance - Private GTT table copy Source: USENIX ATC (2015), gScale: Scaling up GPU Virtualization with Dynamic Sharing of Graphics Memory Space
  19. 19. Evaluation
  20. 20. 20 Windows Guest: Scalability 3D performance with 12 VMs could achieves up to 80% of 1 VM. Linux Guest: Scalability of 3D performance with 15VMs could achieves up to 80% of 1 VM. 2D performance is better by burn out GPU power. Linux VM Windows VM Scalability Evaluation Source: USENIX ATC (2015), gScale: Scaling up GPU Virtualization with Dynamic Sharing of Graphics Memory Space
  21. 21. Summary
  22. 22. 22 Summary • gScale breaks graphics memory resource limitation by introducing per-VM GGTT design • gScale doubles vGPU density in Intel®@ GVT-g with good scalability • Converged performance of 15 vGPUs reaches 96% of native performance
  23. 23. 23 Resource Links • Project webpage and release: https://01.org/igvt-g • Project public papers and document: https://01.org/group/2230/documentation-list • Intel® IDF: GVT-g in Media Cloud: https://01.org/sites/default/files/documentation/sz15_sfts002_100_engf.pdf • XenGT introduction in summit in 2015: http://events.linuxfoundation.org/sites/events/files/slides/XenGT- Xen%20Summit-REWRITE%203RD%20v4.pdf • XenGT introduction in summit in 2014: http://events.linuxfoundation.org/sites/events/files/slides/XenGT- LinuxCollaborationSummit-final_1.pdf
  24. 24. 24 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 © 2016 Intel Corporation. All rights reserved.

×