102
THINC: A Virtual and Remote Display Architecture for Desktop Computing Ricardo A. Baratto Network Computing Laboratory Columbia University

defense.ppt

Embed Size (px)

Citation preview

Page 1: defense.ppt

THINC: A Virtual and Remote Display Architecture for

Desktop Computing

Ricardo A. BarattoNetwork Computing Laboratory

Columbia University

Page 2: defense.ppt

isolation...

Page 3: defense.ppt

Source: Internet Mapping Project (http://research.lumeta.com/ches/map/)

... connectivity

Page 4: defense.ppt

dis-integration of the computer

networkstorage

clusters and grid

computing

Page 5: defense.ppt

remote display

display updates

input

Page 6: defense.ppt

benefits

Page 7: defense.ppt

ubiquitous access

Page 8: defense.ppt

remote collaboration

Page 9: defense.ppt

online help

Page 10: defense.ppt

stateless client

application processingand data

secure server room

thin clients

Page 12: defense.ppt

what's wrong?

problem: focused on office applications on LAN

and reducing data transfer on low bandwidth links

therefore: poor support for display intensive

interactive applications poor support for higher latency WAN

environments

Page 13: defense.ppt

THINC

virtual and remote display architecture

for desktop computing

Page 14: defense.ppt

contributions

high performance remote display system [SOSP 05]

first to natively support multimedia applications

superior remote display support for mobile devices [WWW 06, SCC 06]

Page 15: defense.ppt

contributions II

MobiDesk: desktop utility computing infrastructure [MobiCom 04, best student paper award]

A2M: protect MobiDesk from DDoS attacks

beyond remote display: desktop recording [SOSP 07]

Page 16: defense.ppt

THINC remote display

simple display protocol COPY, Solid Fill, Tile Fill, BITMAP, RAW

focus on architecture of the system to improve performance interception translation delivery

Page 17: defense.ppt

applications

windowsystem

devicedriver

framebuffer

interception: traditional display pipeline

Page 18: defense.ppt

applications

windowsystem

devicedriver

framebuffer

high-level requests

interception

stateful client hurts mobility

app – window system synchronization

Page 19: defense.ppt

applications

windowsystem

framebuffer

devicedriver

raw pixels

high-level requests

interception

lose semantics: expensive encoding

Page 20: defense.ppt

applications

windowsystem

virtual devicedriver

display updates

input events

virtual display architecture

Page 21: defense.ppt

Standard Interface

applications

windowsystem

virtual devicedriver

benefits

Page 22: defense.ppt

Leverageexisting

technology

applications

windowsystem

virtual devicedriver

benefits

Page 23: defense.ppt

virtual devicedriver

display updates

Simple, low-levelprotocol

benefits

Page 24: defense.ppt

virtual devicedriver

display updates

input events

Simple, statelessclient

benefits

Page 25: defense.ppt

translation

use and preserve semantic information for efficient

translation

Page 26: defense.ppt

use semantic information when doing translation

translation

Page 27: defense.ppt

use request semantics to generate update

req: fill window W, color C

application

window

system

req: fill [x,y,w,h] color C

THINCupdate: solid fill [x,y,w,h] color C

Page 28: defense.ppt

use semantic information when doing translation

preserve semantic information throughout the system

translation

Page 29: defense.ppt

why preserve semantics: offscreen rendering

draw

offscreen regions

abcde copy abcde

display

Page 30: defense.ppt

offscreen rendering (cont)

offscreen region

command log

merge, clip, and discard commands as needed

Page 31: defense.ppt

delivery

maximize interactive response of the system

Page 32: defense.ppt

delivery

transmit updates as soon as possible

merge, clip, and discard updates as needed

... not all display content created equal

Page 33: defense.ppt

shortest remaining size first scheduler

client buffer

C1C2C3...Cn

real time

.

.

.

queue 1

queue n

cmdsize

Page 34: defense.ppt

experimental results

X/Linux prototype web browsing performance

comparison to existing systems performance on wide area networks

Page 35: defense.ppt

web browsing performance

... up to 4.8 times better performance

0 0.5 1 1.5 2 2.5 3

ICA

RDP

GoToMyPC

X

NX

VNC

Sun Ray

THINC

page download latency (s)

LAN WAN

Page 36: defense.ppt

WAN web browsingperformance

Page 37: defense.ppt

multimedia

Page 38: defense.ppt

existing systems

0% 20% 40% 60% 80% 100%

PC

ICA

RDP

GoToMyPC

X

NX

VNC

Sun Ray

audio/video quality

LAN WAN

Page 39: defense.ppt

THINC multimedia

native support for video playback bidirectional audio synchronized audio/video playback format independent and transparent to

applications

Page 40: defense.ppt

video playback

video player

virtual devicedriver

hw video accelerationinterfaces

YUV

leverage clienthardware

scaling for free

Page 41: defense.ppt

audio

applications

OS

virtual audiodriver

audiodaemon

audio data

audio data

Page 42: defense.ppt

experimental results

Page 43: defense.ppt

a/v playback quality

... perfect playback and up to two orders of magnitude better

0% 20% 40% 60% 80% 100%

PC

ICA

RDP

GoToMyPC

X

NX

VNC

Sun Ray

THINC

LAN WAN

Page 44: defense.ppt

mobile devices

becoming ubiquitous have network connectivity but limited environment and

applications

Page 45: defense.ppt

pTHINC

provide superior remote display support for mobile devices

competitive alternative to limited mobile applications

Page 46: defense.ppt

?

server-resized updates

Page 47: defense.ppt

user interface

zoom, scroll, rotate full screen by leveraging external

controls

Page 48: defense.ppt

experimental results

Page 49: defense.ppt

PDA web browsing performance

... up to 17x faster than other systems, and up to 8x faster than native

0.1 1 10 100

Local

RDP

VNC

ICA

ICA resized

pTHINC

pTHINC resized

page download latency (s)

X5 (640x480) X51v (640x480) X5 (1024x768) X51v (1024x768)

Page 50: defense.ppt

native vs pTHINC

Page 51: defense.ppt

btw

Page 52: defense.ppt

limitations need better compression

NX/SunRay/VNC, adaptive multimedia

too much bandwidth? limited on mobile devices flash video

no support for new generation of high-end desktops and 3D applications

Page 53: defense.ppt

impact

Technology licensed for commercial use

VESA standard in progress

Page 54: defense.ppt

conclusions

high performance remote display system able to outperform existing solutions

first to provide full support for multimedia content, transparently to applications and independent of format

superior remote display support for mobile devices

Page 55: defense.ppt

backup

Page 56: defense.ppt

Page-by-page comparison

THINC faster on all pages except image-only

Our approach works better than both low and high-level on non-image content

Page 57: defense.ppt

Microbenchmarks

It's not each individual component, but the combination

Not clear microbenchmark results can be extrapolated to overall performance

But do have some results: No offscreen: ~70% (all RAW) Only interception and redirection: ~225%

Page 58: defense.ppt

future work

remote display standard (Net2Display) 3D indexing and searching improvements

Page 59: defense.ppt

list of publications

MobiDesk: Mobile Virtual Desktop Computing [MobiCom 04]

THINC: A Virtual Display Architecture for Thin-Client Computing [SOSP 05]

Remotely Keyed Cryptographics: Secure Remote Display Access Using (Mostly) Untrusted Hardware [ICICS 05]

pTHINC: A Thin-Client Architecture for Mobile Wireless Web [WWW 06]

An Application Streaming Service for Mobile Handheld Devices [SCC 06]

Net2Display: A Proposed VESA Standard for Remoting Displays and I/O Devices over Networks [ADEAC 06]

DejaView: A Personal Virtual Computer Recorder [SOSP 07]

Page 60: defense.ppt

beyond remote display: desktop recording

provide recording of all desktop output

allow recording to be searched

Page 61: defense.ppt

text capturedaemon

indexvisualrecord

client/viewer

applications

virtual devicedriver

visualoutput

accessibilityservicestext

output

desktop recording

Page 62: defense.ppt

recording runtime overhead

Page 63: defense.ppt

storage growth

32KB/s

Page 64: defense.ppt

wan a/v playback quality

Page 65: defense.ppt

mouth-to-ear latency overhead

Page 66: defense.ppt

PDA video playback quality

0% 20% 40% 60% 80% 100%

Local

RDP

VNC

ICA

pTHINC

video quality

Axim X5 Axim X51v

Page 67: defense.ppt

web browsing data transfer

0 50 100 150 200 250

PC

ICA

RDP

GoToMyPC

X

NX

VNC

Sun Ray

THINC

per page data (KB)

LAN WAN

Page 68: defense.ppt

A/V data transfer

0.1 1 10 100 1000

PC

ICA

RDP

GoToMyPC

X

NX

VNC

Sun Ray

THINC

LAN WAN

Page 69: defense.ppt

PDA web browsing data transfer

0.1 1 10 100 1000

Local

RDP

VNC

ICA

ICA resized

pTHINC

pTHINC resized

per page data (KB)

Axim X5 (640x480) Axim X51v (640x480)Axim X5 (1024x768) Axim X51v (1024x768)

Page 70: defense.ppt

PDA video data transfer

0.1 1 10 100

Local

RDP

VNC

ICA

pTHINC

video data size (MB)

Axim X5 Axim X51v

Page 71: defense.ppt

browse and search latency

Page 72: defense.ppt

playback speedup

Page 73: defense.ppt

web browsing performance

... up to 4.8 times better performance

0 0.5 1 1.5 2 2.5 3

PC

ICA

RDP

GoToMyPC

X

NX

VNC

Sun Ray

THINC

per web page latency (s)

LAN WAN

Page 74: defense.ppt

existing performance problem

0% 20% 40% 60% 80% 100%

PC

ICA

RDP

GoToMyPC

X

NX

VNC

Sun Ray

audio/video quality

LAN WAN

Page 75: defense.ppt

implementation

X/Linux and windows display server Linux audio driver (alsa) + daemon X/Linux windows, PDA, and Java clients X/Linux desktop recording

capture using ATK (Gnome) index using Postgres + Tsearch2

Page 76: defense.ppt

offscreen drawing

draw

offscreen regions

abcde copy abcde

display

Page 77: defense.ppt

offscreen region

command queue

command queues

Page 78: defense.ppt

client

queue

1

2

33

2

1

copy onscreen

Page 79: defense.ppt

how?

applications

clienthardware

caps

video

Page 80: defense.ppt

how we deliver updates

displayupdates

client buffer

C1C2C3...Cn

Page 81: defense.ppt

desktop virtualization

decouple desktop from underlying video hardware

encapsulate window and graphical state

can move around: carry in pocket around hosting servers

Page 82: defense.ppt

MobiDesk

Page 83: defense.ppt

A2M: Access Assured Mobile Desktop Computing

Page 84: defense.ppt

old slides

Page 85: defense.ppt

contributions high performance remote display system [SOSP

05]

focus on system architecture to improve performance

outperforms existing systems

first to natively support multimedia applications transparent and format-independent

wireless mobile device support [WWW 06, SCC 06]

server-side display scaling for improved display quality and performance

user interface tailored for constrained environment

Page 86: defense.ppt

contributions II MobiDesk: desktop utility computing

infrastructure [MobiCom 04]

fully virtualized environment for hosting desktops

hosted sessions can be migrated for high availability

A2M: protect MobiDesk from DDoS attacks indirection-based network + remote display exploit asymmetric traffic to minimize overhead

beyond remote display: desktop recording [SOSP 07]

low overhead recording, and efficient access

novel use of accessibility services for indexing and searching

Page 87: defense.ppt

display protocol

Inspired on Sun Ray protocol

2D Primitives copy solid and tile fill bitmap fill raw

Page 88: defense.ppt

demo

Page 89: defense.ppt

video

leverage existing hardware acceleration interfaces

YUV (luminance-chrominance) color space format independence client hardware acceleration (scaling for free)

Page 90: defense.ppt

YUV

Standard hardware interface Format independence Hardware acceleration (fullscreen

for free!)

Page 91: defense.ppt

isolation...

Page 92: defense.ppt

                                            

... and a PC

Page 93: defense.ppt

system architecture as important

as protocol and encoding

Page 94: defense.ppt

goals

minimize latency simple and portable transparent operation

Page 95: defense.ppt

applicationrequests

translate

commands

deliver

displayupdates

THINC

Page 96: defense.ppt

basic static translation

DrawAPI

standarddevicedriver

commands

THINCcommand

s

Page 97: defense.ppt

high performance remote display LAN and WAN environments transparent operation in exisiting

desktop systems full screen, full motion audio/video

playback

THINC

Page 98: defense.ppt

server-resized updates

Page 99: defense.ppt

system architecture

Page 100: defense.ppt

two key problems

how do we translate from application commands

to the display protocol?

how and when do we send display updates?

Page 101: defense.ppt

but...

performance problems issues supporting display intensive

interactive applications issues coping with higher latency network

environments lack of “features”

limited or no support for multimedia content

subpar support for mobile devices

Page 102: defense.ppt

system architecture is key

interception translation delivery