Xen GPU Rider. Outline Target & Vision GPU & Xen CUDA on Xen GPU Hardware Acceleration On VM - VMGL.

Slides:



Advertisements
Similar presentations
Computer Graphics Prof. Muhammad Saeed. 2 Hardware ( Graphic Cards ) II Hardware II Computer Graphics 1 August 2012.
Advertisements

XEN AND THE ART OF VIRTUALIZATION Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, lan Pratt, Andrew Warfield.
GPU Virtualization Support in Cloud System Ching-Chi Lin Institute of Information Science, Academia Sinica Department of Computer Science and Information.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
GPU Virtualization on VMware’s Hosted I/O Architecture Micah Dowty Jeremy Sugerman USENIX WIOV
GPUs on Clouds Andrew J. Younge Indiana University (USC / Information Sciences Institute) UNCLASSIFIED: 08/03/2012.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
CUDA Programming Model Xing Zeng, Dongyue Mou. Introduction Motivation Programming Model Memory Model CUDA API Example Pro & Contra Trend Outline.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408/CS483, ECE 498AL, University of Illinois, Urbana-Champaign ECE408 / CS483 Applied Parallel Programming.
1 Integrating GPUs into Condor Timothy Blattner Marquette University Milwaukee, WI April 22, 2009.
1 ITCS 4/5010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Dec 31, 2012 Emergence of GPU systems and clusters for general purpose High Performance Computing.
Training Program on GPU Programming with CUDA 31 st July, 7 th Aug, 14 th Aug 2011 CUDA Teaching UoM.
© David Kirk/NVIDIA and Wen-mei W. Hwu, 2007 ECE 498AL, University of Illinois, Urbana-Champaign 1 ECE 498AL Lectures 7: Threading Hardware in G80.
Presenter: Hung-Fu Li HPDS Lab. NKUAS vCUDA: GPU Accelerated High Performance Computing in Virtual Machines Lin Shi, Hao Chen and Jianhua.
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
Introduction to CUDA (1 of 2) Patrick Cozzi University of Pennsylvania CIS Spring 2012.
MIDeA :A Multi-Parallel Instrusion Detection Architecture Author: Giorgos Vasiliadis, Michalis Polychronakis,Sotiris Ioannidis Publisher: CCS’11, October.
VirtualBox What you need to know to build a Virtual Machine.
Gregory Fotiades.  Global illumination techniques are highly desirable for realistic interaction due to their high level of accuracy and photorealism.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 CS 395 Winter 2014 Lecture 17 Introduction to Accelerator.
Emergence of GPU systems and clusters for general purpose high performance computing ITCS 4145/5145 April 3, 2012 © Barry Wilkinson.
GPU Architecture and Programming
FIGURE 11.1 Mapping between OpenCL and CUDA data parallelism model concepts. KIRK CH:11 “Programming Massively Parallel Processors: A Hands-on Approach.
Processes Introduction to Operating Systems: Module 3.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 ECE 498AL Lectures 8: Threading Hardware in G80.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE498AL, University of Illinois, Urbana-Champaign 1 ECE498AL Lecture 4: CUDA Threads – Part 2.
Chun-Yuan Lin Brief of GPU&CUDA. What is GPU? Graphics Processing Units 2015/12/16 2 GPU.
Efficient Parallel CKY Parsing on GPUs Youngmin Yi (University of Seoul) Chao-Yue Lai (UC Berkeley) Slav Petrov (Google Research) Kurt Keutzer (UC Berkeley)
Full and Para Virtualization
Introduction Why are virtual machines interesting?
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
Introduction to CUDA 1 of 2 Patrick Cozzi University of Pennsylvania CIS Fall 2014.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408/CS483, University of Illinois, Urbana-Champaign 1 Graphic Processing Processors (GPUs) Parallel.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 GPU.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
1 PERFORMANCE DIFFERENTIATION OF NETWORK I/O in XEN by Kuriakose Mathew ( )‏ under the supervision of Prof. Purushottam Kulkarni and Prof. Varsha.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Oct 30, 2014.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Advisor: Hung Shi-Hao Presenter: Chen Yu-Jen
GPGPU Programming with CUDA Leandro Avila - University of Northern Iowa Mentor: Dr. Paul Gray Computer Science Department University of Northern Iowa.
VMM-Independent Graphics Acceleration H. Andrés Lagar-Cavilla, U of Toronto Niraj Tolia (CMU), Eyal de Lara (Toronto), M. Satyanarayanan.
VMGL: VMM-Independent Graphics Acceleration H. Andrés Lagar-Cavilla, U of Toronto Niraj Tolia (CMU), Eyal de Lara (Toronto), M.
Introduction to Operating Systems Concepts
Computer Engg, IIT(BHU)
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 July 12, 2012 © Barry Wilkinson CUDAIntro.ppt.
Virtualization for Cloud Computing
NFV Compute Acceleration APIs and Evaluation
GPUNFV: a GPU-Accelerated NFV System
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Current Generation Hypervisor Type 1 Type 2.
NEWS LAB 薛智文 嵌入式系統暨無線網路實驗室
Our Graphics Environment
Brief of GPU&CUDA Chun-Yuan Lin.
CS427 Multicore Architecture and Parallel Computing
Virtual Machines: Versatile Platforms for Systems and Processes
VirtualGL.
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
From Turing Machine to Global Illumination
Quick Introduction to OS
Ray-Cast Rendering in VTK-m
GPU Programming using OpenCL
Chapter 3: Windows7 Part 2.
Chapter 3: Windows7 Part 2.
Computer Graphics Graphics Hardware
Graphics Processing Unit
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Xen GPU Rider

Outline Target & Vision GPU & Xen CUDA on Xen GPU Hardware Acceleration On VM - VMGL

Target: Virt-GPU for HPC

Vision Cost Down – Higher C/P value Green – Energy saved Anytime, Anywhere – More convenient

Xen GPU +

GPGPU On Virtual Machine GPGPU GViM Split-driver model VMM-bypass mechanism Lower-level memory management mechanism Xen privileged domain Memory management Communication methods Reference:

Virtualization of GPUs Reference:

CUDA Intro “Compute Unified Device Architecture” General purpose programming model User kicks off batches of threads on the GPU GPU = dedicated super-threaded, massively data parallel co- processor Targeted software stack Compute oriented drivers, language, and tools Driver for loading computation programs into GPU Standalone Driver - Optimized for computation Interface designed for compute – graphics-free API Data sharing with OpenGL buffer objects Guaranteed maximum download & readback speeds Explicit GPU memory management Reference: David Kirk/NVIDIA and Wen-mei W. Hwu, 2007 ECE 498AL, University of Illinois, Urbana-Champaign

GPU Virtualization - Components Xen privileged domain Memory management Communication methods Using CUDA API The CUDA interposer library Fronted driver Xen-bus Xenstore Shared call buffer

GPU Virtualization - Components The backend driver User-level module CUDA calls → execution results Library Wrapper function Call packets → CUDA function calls CUDA library & driver CUDA Driver SDK Toolkit Reference:

Virtualization components for GPU Reference:

Memory Management 2-copy malloc() Host memory → GPU memory 1-copy mmap() Xenstore Zero-copy bypass Limited data size Reference:

Memory Management Reference:

Conclusion Strengths Arch of foresight, Optimized interface Weaknesses Resource Mg, Scheduling, Dedicated Platform Opportunities Green Computing – Power Mg Threats Intel VT-d, NVIDIA Multi-OS

VMGL

Why Virtualize 3D ? Virtualization Cost Green Convenience 3D Interaction Reality Recreation User-Interface

Virtualizing GPUs is difficult ? Closed information HW interface Technical specification Device driver Lack of standard uncertain interface – AGP ? PCI ? PCI-X ? PCI – E ? common standard – x86, IDE, SCSI... High-level API ?

Demand Graphics-intensive applications Excellent rendering performance Cross-Platform – VMs & GPUs Suspend & Resume across different GPUs Thin client User-Interface

3D Graphics API Direct3D OpenGL

X11 / OpenGL Reference: 02/dri_gram

OpenGL extension – GLX X Window – 3D Rendering Reference: 02/dri_gram

Virtualized OpenGL - VMGL HW accelerated rendering VM Host vendor-supplied GPU driver OpenGL library Cross-Platform 87% or better of native HW acceleration Suspend & Resume Reference:

Architecture features - VMGL Virtualizing the OpenGL API portability compatibility Use a Network Transport Cross-VM Reference:

Architecture Reference:

VMGL Apps in X11 Guest VMs Reference:

OpenGL transport (Problem?) Direct rendering PATH from Apps to Graphics Cards GL stub WireGL screen-visible state OpenGL command queues Reference:

Suspend & Resume Shadow driver keep OpenGL state OpenGL contexts Global Context State Texture State Display Lists Reference:

Conclusion Strengths Cross-Platform, Lightweight, X11 Forwarding Performance Weaknesses Performance via VNC, GL extensions, Shared Memory Opportunities Thin client, WebOS Threats Intel VT-d, NVIDIA Multi-OS

Reference NVIDIA David Kirk/NVIDIA and Wen-mei W. Hwu, 2007 ECE 498AL, University of Illinois, Urbana-Champaign GViM VMGL /vmgl.pdf Xen

Q & A