Live Migration of vgpu

Similar documents
Live Migration of vgpu

Live Migration with Mdev Device

Intel Graphics Virtualization Technology. Kevin Tian Graphics Virtualization Architect

KVM for IA64. Anthony Xu

Making Nested Virtualization Real by Using Hardware Virtualization Features

Nested Virtualization Update From Intel. Xiantao Zhang, Eddie Dong Intel Corporation

Intel Desktop Board DZ68DB

SR-IOV support in Xen. Yaozu (Eddie) Dong Yunhong Jiang Kun (Kevin) Tian

Graphics Pass-through with VT-d

Intel Cloud Builder Guide: Cloud Design and Deployment on Intel Platforms

Intel Virtualization Technology Roadmap and VT-d Support in Xen

Intel Transparent Computing

Design of Vhost-pci - designing a new virtio device for inter-vm communication

Intel Desktop Board D945GCLF2

Intel Server Board S2600CW2S

KVM as The NFV Hypervisor

Intel s Architecture for NFV

Intel Desktop Board DP55SB

Intel 848P Chipset. Specification Update. Intel 82848P Memory Controller Hub (MCH) August 2003

Intel 945(GM/GME)/915(GM/GME)/ 855(GM/GME)/852(GM/GME) Chipsets VGA Port Always Enabled Hardware Workaround

Intel Desktop Board D946GZAB

Intel Desktop Board DG41CN

Intel Atom Processor Based Platform Technologies. Intelligent Systems Group Intel Corporation

Software Evaluation Guide for ImTOO* YouTube* to ipod* Converter Downloading YouTube videos to your ipod

Intel Desktop Board DG31PR

LED Manager for Intel NUC

Intel Desktop Board DG41RQ

Intel Desktop Board D945GCCR

Intel Desktop Board D945GCLF

Intel Server Board S2600STB

Intel Desktop Board DH61SA

Intel Server Board S5520HC

Intel Desktop Board D975XBX2

Evolving Small Cells. Udayan Mukherjee Senior Principal Engineer and Director (Wireless Infrastructure)

Enhancing pass through device support with IOMMU. Haitao Shan Yunhong Jiang Allen M Kay Eddie (Yaozu) Dong

Intel Desktop Board DH61CR

Intel Desktop Board DH55TC

Drive Recovery Panel

Practical Xen Testing at Intel

Intel s s Security Vision for Xen

Intel Xeon Phi Coprocessor. Technical Resources. Intel Xeon Phi Coprocessor Workshop Pawsey Centre & CSIRO, Aug Intel Xeon Phi Coprocessor

Intel Desktop Board DP67DE

I/O virtualization. Jiang, Yunhong Yang, Xiaowei Software and Service Group 2009 虚拟化技术全国高校师资研讨班

Extending Energy Efficiency. From Silicon To The Platform. And Beyond Raj Hazra. Director, Systems Technology Lab

Hardware-Assisted Mediated Pass-Through with VFIO. Kevin Tian Principal Engineer, Intel

Intel Desktop Board D915GUX Specification Update

Intel Server Board S1200BTS

Intel Cache Acceleration Software for Windows* Workstation

Intel Desktop Board D915GEV Specification Update

Intel Atom Processor D2000 Series and N2000 Series Embedded Application Power Guideline Addendum January 2012

Lenovo ThinkCentre M90z with Intel vpro Technology. Stefan Richards Intel Corporation Business Client Platform Division

Intel Unite Plugin Guide for VDO360 Clearwater

Intel Open Source HD Graphics. Programmer's Reference Manual

How to abstract hardware acceleration device in cloud environment. Maciej Grochowski Intel DCG Ireland

Intel Platform Administration Technology Quick Start Guide

Towards More Power Friendly Xen

Desktop 4th Generation Intel Core, Intel Pentium, and Intel Celeron Processor Families and Intel Xeon Processor E3-1268L v3

Intel G31/P31 Express Chipset

Intel Graphics Virtualization on KVM. Aug KVM Forum 2011 Rev. 3

Intel Server Board S2400SC

Intel Desktop Board DQ35JO

Intel Setup and Configuration Service. (Lightweight)

Clear CMOS after Hardware Configuration Changes

Junhong Jiang, Kevin Tian, Chris Wright, Don Dugger

The Transition to PCI Express* for Client SSDs

Non-Volatile Memory Cache Enhancements: Turbo-Charging Client Platform Performance

Intel Server Board S1200V3RPO Intel Server System R1208RPOSHORSPP

Intel Server Board S1200V3RPO Intel Server System R1208RPOSHORSPP

Software Evaluation Guide for CyberLink MediaEspresso *

Runtime VM Protection By Intel Multi-Key Total Memory Encryption (MKTME)

Upgrading Intel Server Board Set SE8500HW4 to Support Intel Xeon Processors 7000 Sequence

Intel Desktop Board DP45SG

Innovating and Integrating for Communications and Storage

Intel Server Board S1200BTL

GUID Partition Table (GPT)

Migration Guide: Numonyx StrataFlash Embedded Memory (P30) to Numonyx StrataFlash Embedded Memory (P33)

Intel Cache Acceleration Software - Workstation

Intel Desktop Board D845PT Specification Update

Intel Atom Processor E6xx Series Embedded Application Power Guideline Addendum January 2012

How to Configure Intel X520 Ethernet Server Adapter Based Virtual Functions on SuSE*Enterprise Linux Server* using Xen*

gscale: Scaling up GPU Virtualization with Dynamic Sharing of Graphics Memory Space

The Intel Processor Diagnostic Tool Release Notes

microcode revision guidance January

Generic Buffer Sharing Mechanism for Mediated Devices

Expand Your HPC Market Reach and Grow Your Sales with Intel Cluster Ready

Theory and Practice of the Low-Power SATA Spec DevSleep

Interrupt Swizzling Solution for Intel 5000 Chipset Series based Platforms

Sample for OpenCL* and DirectX* Video Acceleration Surface Sharing

March Getting Started with the Intel Desktop Board DQ77MK UEFI Development Kit

Intel and the Future of Consumer Electronics. Shahrokh Shahidzadeh Sr. Principal Technologist

Intel Desktop Board DQ35MP. MLP Report. Motherboard Logo Program (MLP) 5/7/2008

INTEL PERCEPTUAL COMPUTING SDK. How To Use the Privacy Notification Tool

Intel 865PE/P Chipset

Intel Desktop Board DQ57TM

Intel 945G/945GM Express Chipset Intel Dynamic Video Memory Technology (DVMT) 3.0

OpenCL* and Microsoft DirectX* Video Acceleration Surface Sharing

How to Create a.cibd File from Mentor Xpedition for HLDRC

Open FCoE for ESX*-based Intel Ethernet Server X520 Family Adapters

Intel Desktop Board D102GGC2 Specification Update

Intel Desktop Board DH61HO. MLP Report. Motherboard Logo Program (MLP) 09/20/2012

Transcription:

Live Migration of vgpu Aug 2016 Xiao Zheng xiao.zheng@intel.com Kevin Tian kevin.tian@intel.com

Agenda GPU Virtualization and vgpu Live Migration vgpu Resources Design and Solution Current Status Summary 2

GPU Virtualization Usage Cases IT Desktop Media Could Desktop#N 2D/3D Office Productivity CADs Media Process VDI 3D/Media Acceleration Network Remote Framebuffer Streaming 3

XENGT Architecture Mediated Pass-through Host Linux Qemu vpci layout VGA VM2 VM1 pass-through for performance critical resource i915 Driver Hooks I/O Hooks Address space balloon vgt vgpu vgpu GFX Driver Address space balloon Trap and emulate for privileged resource Time-shared among VMs XEN MPT Services GPU 4

vgpu Live Migration Live Migration: Load balance, Maintenance, Fault recovery Unfortunately most of vgpu solutions do not support migration except GVT-g GVT-g with mediated pass-through Typically a GPU pass-through solution Typically a GPU SRIOV solution Host Linux Qemu vpci V layo G ut A VM2 VM1 Guest vgpu Guest vgpu i915 Drive r Hook s I/O Hook s Address space balloon vgt vgp vgp U GFX Driver Addre ss space balloo n Hypervisor HW GPU GPU GPUGPU Hypervisor SRIOV HW GPU PF VF VF XEN GPU MPT Services GVT-g architecture (Mediation) make it possible for seamless live migration 5

Live Migration of vgpu in GVT-g Highlight feature: GVT-g is Open Source project, upstream ongoing vgpu Live Migration follows existing hypervisor migration flow 3D/2D/Media graphics workload seamless migrated between Servers or Local machine Support Linux/Windows Guest Live Migration Service downtime latency < 0.3 sec (Guest RAM 2GB, assigned 512MB vgpu memory, 10Gpbs adapter) VM1 Office uage VM2 CADs VM3 Media Process How? VM3* Media Process VM4 VDI vgpu Server1 vgpu Server2 6

Demo: vgpu Live Migration with 3D workload https://www.youtube.com/watch?v=y2sku5jodiy 7

Agenda GPU Virtualization and vgpu Live Migration vgpu Resources Design and Solution Current Status Summary 8

Inside of vgpu instance pass-through for performance critical resource Trap and emulate for privileged resource Time-shared among VMs GPU Interrupt Registers vgpu Render Engine Graphics Memory XenGT Interrupt Registers vgpu Render Engine Graphics Memory Interrupt Registers Render Engine GTT page table Graphics Memory 9

Challenge of Migrating vgpu Instance When and how to migrate Graphics Memory When and how to migrate Guest Graphics Page Table When and how to migrate Render Engine State Pre-copy GPU dirty page logging Stop and Copy Remove vgpu from scheduler Save and migrate all vgpu state Resume/Post-Copy Restore vgpu state Add vgpu into scheduler Service downtime Total migration time 10

Migration Policies for Different vgpu Resources Registers GTT page table Graphics Memory Context: Render Engine Copy and Restore Recreate Shadowing Track Dirty and Copy Recreate Shadowing 11

Agenda GPU Virtualization and vgpu Live Migration vgpu Resources Design and Solution Current Status Summary 12

Guest GTT Page Table Migration Guest VM GTT view VM1 GTT 0 ~ 512MB VM2 GTT 0 ~ 512MB Both GGTT and PPGTT are shadowed for Guest GGTT required rebasing due to GGTT partition among VMs GMA rebasing GMA rebasing Migration process actually: A. Copy entire Guest GTT page table B. Re-create the shadow page table for Guest HW GTT view VM0 GM address = 0xA VM1 VM2 on Target side C. Rebasing GGTT for GPU commands Migration GMA rebasing GTT = GGTT or PPGTT GMA = Graphics Mem Address Graphics Memory Address rebasing: Target HW GGTT view VM0 GM address = 0xB VM1* All vgpu cmds from Guest need to be rebased on new address in GVT-g before send to real GPU HW 13

Guest Graphics Memory Migration Pre-copy: Logging dirty graphics memory pages Stop-and-Copy: Migrate contents to target Resume/Post-copy: Recreate GTT page table based on target mfn Guest VM GTT view VM1 GTT 0 ~ 512MB Source host Physical Mem Source mfn Migrate page content Problem: Intel GPU page table entities has no Dirty or Accessed flags to track dirty pages Solution: Copy all used graphics memory to target. Target host Physical Mem Target mfn 14

Render Engine State Migration GGTT address vgpu Guest submitted CTX Render Context4 Render Context3 Render Context2 Context in queue o o o Intel GPU HW is context based CTX locates in GGTT memory Render engine state is contained within CTX Migration happens at this point Server1 Render Engine HW in idle Server2 Render Engine HW in idle Context1 completed Context0 completed CTX N Render Context required to be migrated 15

Agenda GPU Virtualization and vgpu Live Migration vgpu Resources Design and Solution Current Status Summary 16

Current Status Experimental support both KVMGT and XENGT Platforms: Intel 5 th /6 th Generation Intel Core Processors Benchmarks covered: Windows guest: Heaven, 3Dmark06, Trophic, Media encoding/decoding, Linux guest: lightsmark, 2D Quality: 12hours overnight testing, migrating every 30sec Timing: (Guest RAM 2GB including 512MB Graphics memory, 10Gbps adapter) Service downtime ~0.3sec Total migration time: ~1.7sec Pre-copy GPU dirty page logging Stop and Copy Remove vgpu scheduler Save and migrate all vgpu state Resume/Post-Copy Restore vgpu state Add vgpu into scheduler Service downtime ~0.3sec Total migration time ~1.7sec 17

Summary Need 3D/2D/Media workload in virtualization? GVT-g is the choice Need GPU virtualization with migration support? GVT-g is the choice 18

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 19

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. 20