You are on page 1of 19

SHARC: A Scalable 3D Graphics Virtual Appliance Delivery Framework in Cloud

Weidong Shi & Yang Lu


Zhu Li Jonathan Engelsma

ViTie Inc
Hong Kong Polytechnic University Grand Valley State University

Agenda
Grand Computing Research Challenges
Current and Past Research
Real-time

3D Graphics Support in Cloud


Based Dependable and Revivable Services

Many-core Data

Center Computing and Continuous VM Checkpoints

Future Research Directions


Conclusions

Killer App Challenge


An Industry Constantly Search for Killer Apps The Killer App for X What are the Killer Apps for Many-core? Who needs 100 cores to run M/S Word? What are the Killer Apps for Cloud?

We think everyone on the planet deserves to have their own virtual data center in the cloud
- Lew Tucker, CTO of SUN cloud group.

Cloud Multimedia/Graphics Support

(IEEE Cloud)
Address Missing Support for 3D Graphics in Cloud
Compatible with Existing Xen Based Cloud Can Operate as an Add-on Service to Cloud Users Support VNC and RDP

First Ever Solution to Support Real-time 3D in Cloud

Applications

Games

Professional 3D Tools

Scientific Visualization

Virtual World

Virtual Reality

Biomedical Imaging

Cloud Graphics Support


Management Server Graphics Rendering Servers

Virtual Servers

Cloud Physical Servers

Media Processing/Delivery Servers


`

Distributed Data Center


Data Center Virtual Machine Image Repository Data Center

Virtual Graphics Support


VNC Server DirectX App OpenGL App

Virtual Direct3D Driver

Virtual GL Driver
User Space Input Daemon Server Virtual Graphics Bus

Virtual Pointing Device Virtual Keyboard Virtual Display Driver

Xen Hypervisor

Graphics Rendering Server


Network Stack
Graphics Rendering Scheduler

Graphics Graphics Rendering Context Rendering Context Graphics Graphics Rendering Context Rendering Context

Graphics Object Cache


CUDA Compression Transmit To Host

Render to PBuffer

CUDA Compression

Transmit To Host

Render to PBuffer

Render to PBuffer

CUDA Compression

Transmit To Host

Graphics Rendering Context

Graphics Rendering Context

Network Stack
Networked Pipe Networked Pipe Networked Pipe Networked Pipe

Graphics Rendering Context Graphics Rendering Context

Graphics Object Cache

Render to PBuffer

CUDA Compression

Transmit To Host

Processing Overhead

Client Side Rendering Server Compression Transcoding Networking (internal) Others

Cost Projection
0.35 0.3 0.25
Dollars

0.2 0.15 0.1 0.05 0


2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025

Advertising Revenue

Total Computing Cost/PerHour Total Computing+Bandwidth Cost

Bandwidth Cost/PerHour

It'll Never Work!


HW Component Providers Server Side Rendering Solution Providers Service Providers AMD Fusion, Nvidia, TI, Stream Processors Incorporated

IBM, PC over IP, G-Cluster Onlive (STB thin client), Gaikai (MMOG), G-Cluster (managed network)

Perfect interactivity within hundreds of miles None of above is virtualization based

New Citrix cloud based service for professional graphics design

Current and Future Work


3D

Pipeline Aware Video Compression Faster, Less Bits, and Better Adaptive QoS Virtual Graphics Performance On a Par With Native Graphics
Resource Mobile

Sharing with QoS Control

Support

Many-core Era
Threads

Multi-threading

Multi-core

Many-core Era

100

10 Small Number Of Traditional Cores

Arrays of Throughput Cores

1 2003

SMT 2005

Year
2007 2009 2011 2013

2x cores less than every two years


Roadmap: Doug Carmean Sr. Principal Architect. Intel.

Continuous VM Checkpoint Frame Rates


0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 5f/pckp 10f/pckp 15f/pckp 20f/pckp 40f/pckp

Frame Ratio

Tux

WoW3

Alien Arena

Frame rate compared against baseline (without taking checkpoints)

Thanks and Questions

Simple VNC Demo

Note: During test, a 3D PC game was played using modified VNC client with the game running in Xen virtual guest on a remote Xen host, and game video was streamed using H264. Desktop display of client was captured using capturemydesktop and converted to wmv for PPT embedding using mencoder.

You might also like