Cloud Gaming & Application Delivery with NVIDIA GRID Technologies. Franck DIARD, Ph.D. GRID Architect, NVIDIA

Similar documents
CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

REMOTE HIGH FIDELITY VISUALIZATION. May 2015 Jeremy Main, Sr. Solution Architect GRID

HIGH PERFORMANCE VIDEO ENCODING WITH NVIDIA GPUS

GRID SDK FAQ. PG January Frequently Asked Questions

AGENDA. Overview GPU Video Encoding NVIDIA Video Encoding Capabilities. Software API Performance & Quality. Kepler vs Maxwell GPU capabilities Roadmap

HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA

NVIDIA GRID OVERVIEW SERVER POWERED BY NVIDIA GRID. WHY GPUs FOR VIRTUAL DESKTOPS AND APPLICATIONS? WHAT IS A VIRTUAL DESKTOP?

VMware and NVIDIA: Bringing Workstations to the cloud

PLANNING FOR DENSITY AND PERFORMANCE IN VDI WITH NVIDIA GRID JASON SOUTHERN SENIOR SOLUTIONS ARCHITECT FOR NVIDIA GRID

ArcGIS Pro: Virtualizing in Citrix XenApp and XenDesktop. Emily Apsey Performance Engineer

S Hands on Tutorial: Deploying GRID in Citrix and VMware Virtual Desktop Environments

NVIDIA VIDEO ENCODER 5.0

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

PNY Professional Solutions NVIDIA GRID - GPU Acceleration for the Cloud

Performance Testing in Virtualized Environments. Emily Apsey Product Engineer

Get the Best out of NVIDIA GPUs for 3D Design and Engineering in the Cloud

Amazon EC2 Product Details Page 1 of 5

S5445 BUILDING THE BEST USER EXPERIENCE WITH CITRIX XENAPP & NVIDIA GRID THOMAS POPPELGAARD

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

NVIDIA GeForce GTX 580 GPU Datasheet

Scalability in the Cloud HPC Convergence with Big Data in Design, Engineering, Manufacturing

Vmware Horizon View with Rich Media, Unified Communications and 3D Graphics

GTC EXPRESS WEBINAR: GETTING THE MOST OUT OF VMWARE HORIZON VIEW VDGA WITH NVIDIA GRID. Steve Harpster - Solution Architect NALA

Table of Contents. P a g e 2

Remoting Your 3D. Ian Williams Manager, PSG Applied Engineering NVIDIA Corporation.

Low power GPUs a view from the industry. Edvard Sørgård

4Kp60 H.265/HEVC Glass-to-Glass Real-Time Encoder Reference Design

Manjrasoft Market Oriented Cloud Computing Platform

S4726 VIRTUALIZATION AN INTRO TO VIRTUALIZATION. Luke Wignall & Jared Cowart Senior Solution Architects GRID

Virtualization of ArcGIS Pro. An Esri White Paper December 2015

Cloud Computing. Adam Barker

Virtual Desktop VMware View Horizon

SierraVMI Sizing Guide

Chapter 19 Cloud Computing for Multimedia Services

Stream Processing on GPUs Using Distributed Multimedia Middleware

Cloud Models and Platforms

Boundless Security Systems, Inc.

Installation Guide. (Version ) Midland Valley Exploration Ltd 144 West George Street Glasgow G2 2HG United Kingdom

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

An Efficient Application Virtualization Mechanism using Separated Software Execution System

GPU Accelerated XenDesktop 3D Graphics beyond Designers and Engineers

A general-purpose virtualization service for HPC on cloud computing: an application to GPUs

Data Centers and Cloud Computing

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA

How To Use Arcgis For Free On A Gdb (For A Gis Server) For A Small Business

System requirements for Autodesk Building Design Suite 2017

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

Amazon AppStream. Developer Guide

NVIDIA CUDA Software and GPU Parallel Computing Architecture. David B. Kirk, Chief Scientist

Enabling Technologies for Distributed Computing

Enabling Technologies for Distributed and Cloud Computing

Delivering 3D Graphics from the Private or Public Cloud

Architecture (SOSP 2011) 11/11/2011 Minsung Jang

Computer Graphics Hardware An Overview

QuickSpecs. NVIDIA Quadro M GB Graphics INTRODUCTION. NVIDIA Quadro M GB Graphics. Overview

OCIO HIGH RESOLUTION GRAPHICS DESKTOP VIRTUALIZATION POC. Chip Charnley Technical Expert Client Technologies Infrastructure Architecture

Operating Systems Virtualization mechanisms

VDI: What Does it Mean, Deploying challenges & Will It Save You Money?

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Cluster Monitoring and Management Tools RAJAT PHULL, NVIDIA SOFTWARE ENGINEER ROB TODD, NVIDIA SOFTWARE ENGINEER

IP Video Rendering Basics

Manjrasoft Market Oriented Cloud Computing Platform

NVIDIA GRID VGPU Steve Harpster SA NALA October 2013

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Desktop Consolidation. Stéphane Verdy, CTO Devon IT

2) Xen Hypervisor 3) UEC

Whitepaper. NVIDIA Miracast Wireless Display Architecture

Technical Brief. Userful Multiplatform Desktop Virtualization Software

Intel Graphics Virtualization Technology Update. Zhi Wang,

QuickSpecs. NVIDIA Quadro K4200 4GB Graphics INTRODUCTION. NVIDIA Quadro K4200 4GB Graphics. Overview

Brainlab Node TM Technical Specifications

Unified Computing Systems

Desktop virtualization using SaaS Architecture

Android Development: Part One

COS 318: Operating Systems. Virtual Machine Monitors

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

VMware End User Computing Horizon Suite

Build Your Own Performance Test Lab in the Cloud. Leslie Segal Testware Associate, Inc.

Next Generation Operating Systems

Getting Started with RemoteFX in Windows Embedded Compact 7

GPU Renderfarm with Integrated Asset Management & Production System (AMPS)

vnas Series All-in-one NAS with virtualization platform

NVIDIA GRID: GRAPHICS ACCELERATED VDI WITH THE VISUAL PERFORMANCE OF A WORKSTATION

The GPU Accelerated Data Center. Marc Hamilton, August 27, 2015

High Performance GPGPU Computer for Embedded Systems

IBM Platform Computing Cloud Service Ready to use Platform LSF & Symphony clusters in the SoftLayer cloud

System Requirements Table of contents

Scaling from Datacenter to Client

Remote Desktop on Mobile

NVIDIA GeForce GTX 750 Ti

Hosted Video in Cloud Computing

Autodesk Revit 2016 Product Line System Requirements and Recommendations

E-Guide VIRTUALIZED GPUS TO IMPROVE VDI PERFORMANCE

9/26/2011. What is Virtualization? What are the different types of virtualization.

Transcription:

Cloud Gaming & Application Delivery with NVIDIA GRID Technologies Franck DIARD, Ph.D. GRID Architect, NVIDIA

What is GRID? Using efficient GPUS in efficient servers What is Streaming? Transporting pixels to a client through the network Interactive graphics = Low latency!!!

Remote Graphics CLIENT SERVER Render Kybd/Mse Decode IP Network NIC CPU Encode Render Capture GRID Client <16ms Network 30 ms 2 Frames GRID <30 ms

Content for Cloud Graphics Native games Windows DirectX / OpenGL Linux OpenGL VM Players Android Games VirtualBox + Android x86 Flash player New Engines Shiva 3D Workstation/VDI VMWare, CITRIX, NICE Virtual set top box/transcoding Decode Rendering STB UI Recode

Cloud Gaming Advantages For Publishers For Gamers No Piracy Mobility Precise Accounting High performance HW Controlled SW Game Updates Ubiquity Instant Play

GRID Technologies GRID SDK: Set of HW and SW to stream GPU accelerated graphics from the cloud or on premises HW accelerated rendering Video compression acceleration GPU virtualization Different architectures for different usage models A team of NVIDIA SW and HW experts Interacting with a very rich middleware and HW solutions ecosystem

Strategies GPU desktop/application streaming middleware Use a middleware stack that uses GRID SDK Build your own using the GRID SDK Cloud servers Use a GRID powered IAAS service AWS Build your own GRID HW components Server design templates

Building a Streaming Middleware

GRID SDK Components Server Side on GRID HW Client Side on NV NvFBC Low Latency Desktop Capture NvIFR Low Latency Render Target Capture Low Latency Decode on GeForce & Tegra NvENC Low latency Hardware Encoder Sample Code (NvIFR & NvFBC) GRID Programming Guide GRID Server Setup Guide Amazon G2 Getting Started Guide

GTC Previous Talks with more API Details

2 Different APIS: NvFBC and NvIFR For VERY different things NvFBC is an asynchronous display grabber, wholesale capture, orthogonal to any apps or graphics API NvIFR is a transfer of the rendered frame of the currently bound render target, per 3D context NvFBC capture only what is seen on a display, nothing else one grabber per virtual display NvIFR is only used in a DX9, DX1x and OpenGL context Does not matter if rendered graphics are on the screen or not As many sessions as rendering contexts

Common Features to NvFBC and NvIFR HW H264 encoding Fast path between FB and NVEnc DMA readback to page locked system memory For CPU codecs Various format conversions (YUV, YUV444, RGB, planar) Completely DMA CUDA mapping Other codecs Apps GRID GPU or vgpu 3D Framebuffer OS Apps Graphics commands Remote Graphics Stack NVIFR H.264 or raw streams Render Target NVENC Network NVFBC Front Buffer

NvFBC Usage Case NVEnc NVEnc 3D DX CSC Shader 3D 3D DX CSC Shader 3D DX Windows NvFBC DX Windows DX DX OGL NvFBC Single Exclusive Game Process Streamer Desktop Apps Aero Streamer Brute force whole screen grabbing but has some advantages Easier onboarding of apps, no process injection Uses a simple fullscreen grabber in different process

NvIFR Usage Case Game/App is injected/hooked by streaming middleware or uses the SDK natively (AWS AppStream, Shiva) Used along with lightweight virtualization shims layers/application delivery CSC NVEnc Shader Game/App process GPU DX/OGL Windows Shim Streamer NvIFR

NVEnc Fast, asynchronous to 3D engine Only uses 2 watts per GPU High quality

New Feature of the GRID SDK/HW YUV444 vs. YUV420

Running Several Applications per GPU

GPU Virtualization Application shimming 1 OS = n GPUs = m apps Linux, Windows baremetal No static partition of resources No CPU tax NMOS n OS = n GPUs = n desktops vgpu n OS = m GPUs = n desktops (n>>m)

Architectures:No Virtualization Windows / Linux GPU GPU GPU GPU But Poor man s GPU virtualization can be used

Multiple DX/OpenGL Contexts Using API Injection and NvIFR Windows GPU GPU GPU GPU

Increasing CCU with Shimming/Sandboxing With m>n Allows launching multiple instances File system isolation Persistence SandBox SandBox SandBox SandBox Requires forcing fullscreen games off the screen Call Of Duty #1 Call Of Duty #2 GPU BattleField #1 GPU Call Of Duty #2 1 single OS, n sandboxes

High CCU for Casual DX Games SF4: Xeon E5 with 3 K340s: 60+ sessions

# of Concurrent 1280x720x30fps Game Streams GRID SDK/HW CCU Benefit 2 x K520-H.264 2 x K340-H.264 2 x Quadro 4000-MPEG-4 45 40 Dual Xeon E5-2670 35 30 25 20 15 10 5 0 Portal - SFR Rabbits Go Home Pure Lego Batman 2 Lego Pirates Mirror's Edge Prince of Persia Assassin's Creed 2 Farming Simulator 2013

Performance, Load Balancing Resource Monitoring CPU load and system memory usage using OS API GPU load and FB usage through NVML CPU Affinity NUMA Undo application settings Mostly locking core for desktop perf Minimize QPI/HT traffic Resource placement

Architectures: XEN NMOS Windows Windows Linux Windows GPU GPU GPU GPU VM VM VM VM XEN The platform is virtualized, NOT the GPUs To be used with NvFBC

Windows Windows Linux Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Architectures: XEN vgpu, all virtualized GPU GPU GPU GPU VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM XEN

vgpu Session

GRID SDK, Client Side

Building Optimized Clients with GRID SDK Not to be overlooked GRID Decode API is designed for Low latency (1 frame) Power efficient using the H.264 hardware decoder GRID SDK Examples: Windows PC Based on DX9CUDAGPUDecode NVIDIA Shield (Android) Based on TegraH264HWDecode GRID SDK Client Side Low Latency Decode & Display on GeForce &Tegra

GRID HW Platforms

GRID Gaming Boards Product Name GRID K340 GRID K520 GPUs 4 x GK107 2 x GK104 Total shader (SMs) 8 16 Core Clocks 900 MHz 800 MHz Memory Size 4GB 8GB 720p30 Encodes ~40 ~20 1080p30 Encodes ~16 ~8 Driver Support Target Apps GeForce Drivers and Game Profiles High Density Gaming GeForce Drivers and Game Profiles High Performance Gaming Professional GRID K1 and K2 Enabled with vgpu Certified with Pro apps 1 Number of users depends on application and screen resolution

Building GRID Gaming Servers Dual Xeon E5 2x10 core 2.5 GHz CPUs SuperMicro, ASUS Up to 5 boards = 20 GPUs Xeon E3 systems 4x 4-core 3.5 GHz CPUs 2 boards = 8 GPUs Cirrascale, CARRI/GIGABYTE Xen, baremetal

Amazon Web Services with G2 A GPU accelerated VM on the AWS Amazon G2 instance: g2.2xlarge 1 NVIDIA GRID GK104 (GeForce GTX 670) 4-Core CPUs/15GB Memory/ 60GB Storage Rent Amazon G2 instances for $0.78- $0.82 per hour. Spin up/down instances based on traffic demand. http://aws.amazon.com/ec2/ BIG bandwitdh to internet and storage Partner Middleware Solution

Cloud Streaming Middleware

A Rich GRID Gaming Middleware Ecosystem SFR France/G-Cluster Bouygues France/Playcast Orange France/G-Cluster LG Uplus Korea/Ubitus

GPU Desktop Streaming Middleware on AWS Windows Server on AWS G2, using GRID SDK natively TeamViewer Feature rich remoting software Load it into your instance by simple install Scalable Graphics Published AMI, Dedicated Client http://www.scalablegraphics.com/aws/

MainFrame2: Application Delivery Middleware MainFrame2 Automatic ISV app onboarding HW/SW provisioning on AWS Streaming GRID HW accelerated for rendering and compression

TransGaming.com Running DX Games on top of Linux Solving MS licensing costs High CCU Linux Host Windows Windows Windows Game Game Game SandBox + DX->OGL + GRID GRID GPU GRID GPU H.264 Streams

Android Gaming Streaming Android-x86 in VirtualBox Thin provisionning Mapping VirtualBox s FB to NvIFR/NVENC VirtualBox VRDE NvIFR MODULE Open GLES OGL VirtualBox VRDE NvIFR MODULE Open GLES OGL VirtualBox VRDE NvIFR MODULE Open GLES OGL VirtualBox VRDE NvIFR MODULE Open GLES OGL Gaming API intercept of OpenGLES Rendered en encoded in Host GPU GPU 1 single OS, n instances of headless VirtualBox

vstb: Fixed Streaming Application Big volume market Up to 200 streams per server Linux based Single application to shim: Chrome/WebKit Decode Decorate with GUI Stream Chrome NvIFR Shim Layer Chrome NvIFR Shim Layer Chrome NvIFR Shim Layer Chrome NvIFR Shim Layer Chrome NvIFR Shim Layer GPU GPU GPU GPU 1 single OS, n instances of offscreen Chrome

Shared World Engines on GRID Powered Servers Shiva3D engine CPU GRID Engine CPU GK104 Global Illumination Ser ver Nod e GK107 NVENC GK107 GK107 GK107 NVENC NVENC Game State NVENC GK107 NVENC GK107 NVENC GK107 NVENC GK107 NVENC GK104 AI & PhysX Client Video Client Video Client Video Client Video Client Video Stream Client 1-4 Video Stream Client 5-8 Video Stream 9-12 Client Video Stream 29-32 Stream 1-4 Stream 5-8 Stream 9-12 Stream 13-16

Resources https://developer.nvidia.com/grid-app-game-streaming http://www.nvidia.com/object/cloud-get-started.html GRID-devtech-support@nvidia.com GRID General Manager phil.eisler@nvidia.com Thanks!