87
THINC: An Architecture for Thin-Client Computing Ricardo A. Baratto [[email protected]]

THINC: An Architecture for Thin-Client Computing Ricardo A. Baratto [[email protected]]

Embed Size (px)

Citation preview

THINC: An Architecture for Thin-Client Computing

Ricardo A. Baratto [[email protected]]

problems

1. management

22469

5346

3629

262322

1919

14131111

206

0 50 100 150 200 250

USJ apanChina

GermanyUK

FranceKorea

ItalyCanada

BrazilRussia

AustraliaIndia

MexicoNetherlands

Other

Country

PCs in use (millions)

PCs in use worldwide (2004)

2. operating cost

moveaddchange

$1000 per incident

3. availability

4. security

5. work area

Thin-Clients

network decouples data and applicationsfrom access device

display updates

user input

stateless client

application processingand data

secure server room

Benefits

simplify IT management minimize cost of desktop failures transparent user mobility continuous computing access secure computing services improve user/computer work areas utilize resources efficiently

why now?

1. network capacity

2. network connectivity

3. backend infrastructure

clusters of inexpensive servers, blades, ...

Related Work

applications

Display Pipeline

windowsystem

displaydriver

framebuffer

applications

windowsystem

displaydriver

framebuffer

Client complexity Synchronization Mobility

LBX

X Proxies

applications

windowsystem

displaydriver

framebuffer

“Blind encoding” Client pull: slow update rate

applications

windowsystem

displaydriver

framebuffer

ICA, RDP: Rich display protocol SunRay: Ultra thin-client

Studies have shown performance problems

Proposal

THINC: a thin-client architectureto replace PCs

Goals

minimize latency simple and portable transparent operation

1. Remote Display

applications

windowsystem

virtual devicedriver

display updates

input events

Proposed Architecture

Standard Interface

applications

windowsystem

virtual devicedriver

Leverageexisting

technology

applications

windowsystem

virtual devicedriver

virtual devicedriver

display updates

Simple, low-levelprotocol

virtual devicedriver

display updates

input events

Simple, statelessclient

Display Protocol

2D Primitives Copy, Solid and Tile Fill, Bitmap,

Raw

Video

3D Primitives

two key problems

how do we translate from application commands

to the display protocol?

how and when do we send display updates?

applicationrequests

translate

commands

deliver

displayupdates

THINC

translation

basic static translation

DrawAPI

standarddevicedriver

commands

THINCcommands

offscreen drawing

draw

offscreen regions

abcde copy abcde

display

offscreen region

command queue

command queues

client

queue

1

2

33

2

1

copy onscreen

video: first-class citizen

how?

applications clienthardware

caps

video

YUV

Standard hardware interface Format independence Hardware acceleration (fullscreen for

free!)

3D

UI moving towards 3D backends Quartz, Avalon, Xgl

Animations, transparency, ... Games: the next frontier?

delivery

operation

offscreen

onscreen

client buffer

C1

C2

C3...C

n

push, don't pull don't block sending updates

SRSF scheduler

buffer

C1

C2

C3

...Cn

real time

.

.

.

queue 1

queue p

cmdsize

resizing updates

2. Remote Session

more than just a display...

audio

applications

OS

virtual audiodriver

audiodaemon

audio data

audio data

usb [usb/ip]

applications

OS

virtual hostcontroller

usbdaemon

data

data

usb/ip modifications

need a transport protocol performance and resilience

session management

TCPUDP

display

audio

usb

sessionmanager

benefits

simplification abstract generic functionality resource management

open issue: performance impact?

resource management

display

audio

usb

sessionmanager

shared

Priority: Interactive response Classes of service

Requested by components

resource management

synchronization

display

video

audio

synchronization

time as first-class characteristic intra and inter stream stored media and real-time content

3. Backend

MobiDesk

A Virtual Hosting Infrastructure

ZAP: OS virtualization [Osman et al]

MOVE: network virtualization [Su]

THINC: remote access

4. Security

centralization

DDoS target

computers out of service

A2M

Protection: Indirection-based overlay Exploit traffic asymmetry: Only protect

uplink

ubiquitous access

untrusted client devices

remote session compromise

Secure Remote Display Access

Video card as the only trusted component Decryption in the GPU

Issues: Encoding, compression? Other components?

Preliminary Experimental Results

                                            

... and a PC

Configurations

LAN Desktop

WAN Desktop

802.11g PDA

Web Browsing Performance

Interactive Latency

LAN Desktop Web Browsing Performance

0.70.59

0.53

0.5

0.56

0.53

0.44

1.01

0.43

N/A

0 0.5 1 1.5 2 2.5 3

PC

ICA

RDP

GoToMyPC

X

X ssh -C

NX

VNC

Sun Ray

THINC

per page latency (s)

WAN Desktop Web Browsing Performance

0.77

0.79

1.05

2.89

1.46

1.47

0.64

0.85

1.21

0.64

0 0.5 1 1.5 2 2.5 3

PC

ICA

RDP

GoToMyPC

X

X ssh -C

NX

VNC

Sun Ray

THINC

per page latency (s)

802.11g PDA Web Browsing Performance

0.84

0.48

3.15

0.46

0.46

0 0.5 1 1.5 2 2.5 3

PC

ICA

RDP

GoToMyPC

X

X ssh -C

NX

VNC

Sun Ray

THINC

per page latency (s)

Audio/Video Performance

Playback Quality

LAN Desktop A/V Performance

100%28%

15%

100%

76%

12%

14%

13%

100%

N/A

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

PC

ICA

RDP

GoToMyPC

X

X ssh -C

NX

VNC

Sun Ray

THINC

audio/video quality

WAN Desktop A/V Performance

100%

20%2%

1%

65%

27%12%

8%

12%

100%

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

PC

ICA

RDP

GoToMyPC

X

X ssh -C

NX

VNC

Sun Ray

THINC

audio/video quality

802.11g PDA A/V Performance

7%

19%

1%

14%

100%

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

PC

ICA

RDP

GoToMyPC

X

X ssh -C

NX

VNC

Sun Ray

THINC

audio/video quality

Status

Remote display [SOSP 2005] Audio Audio/Video Synchronization [Kim]

MobiDesk [MobiCom 2004] A2M [Stavrou,Keromytis] and Secure Remote

Display [Cook, Keromytis]

ToDo

3D USB Session and resource management All-media synchronization

Schedule

USB: Summer 2005 Session, resource management:

Summer/Fall 2005 All-media synchronization: Fall 2005 3D: Fall 2005/Spring 2006