Page 1
THINC: An Architecture for Thin-Client Computing
Ricardo A. Baratto [[email protected] ]
Page 5
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)
Page 6
2. operating cost
moveaddchange
$1000 per incident
Page 11
network decouples data and applicationsfrom access device
Page 12
display updates
user input
stateless client
application processingand data
secure server room
Page 13
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
Page 15
1. network capacity
Page 18
2. network connectivity
Page 19
3. backend infrastructure
clusters of inexpensive servers, blades, ...
Page 22
applications
Display Pipeline
windowsystem
displaydriver
framebuffer
Page 23
applications
windowsystem
displaydriver
framebuffer
Page 24
Client complexity Synchronization Mobility
Page 26
applications
windowsystem
displaydriver
framebuffer
Page 27
“Blind encoding” Client pull: slow update rate
Page 28
applications
windowsystem
displaydriver
framebuffer
Page 29
ICA, RDP: Rich display protocol SunRay: Ultra thin-client
Studies have shown performance problems
Page 30
Proposal
THINC: a thin-client architectureto replace PCs
Page 31
Goals
minimize latency simple and portable transparent operation
Page 32
1. Remote Display
Page 33
applications
windowsystem
virtual devicedriver
display updates
input events
Proposed Architecture
Page 34
Standard Interface
applications
windowsystem
virtual devicedriver
Page 35
Leverageexisting
technology
applications
windowsystem
virtual devicedriver
Page 36
virtual devicedriver
display updates
Simple, low-levelprotocol
Page 37
virtual devicedriver
display updates
input events
Simple, statelessclient
Page 38
Display Protocol
2D Primitives Copy, Solid and Tile Fill, Bitmap,
Raw
Video
3D Primitives
Page 39
two key problems
how do we translate from application commands
to the display protocol?
how and when do we send display updates?
Page 40
applicationrequests
translate
commands
deliver
displayupdates
THINC
Page 42
basic static translation
DrawAPI
standarddevicedriver
commands
THINCcommands
Page 43
offscreen drawing
draw
offscreen regions
abcde copy abcde
display
Page 44
offscreen region
command queue
command queues
Page 45
client
queue
1
2
33
2
1
copy onscreen
Page 46
video: first-class citizen
Page 47
how?
applications clienthardware
caps
video
Page 48
YUV
Standard hardware interface Format independence Hardware acceleration (fullscreen for
free!)
Page 49
3D
UI moving towards 3D backends Quartz, Avalon, Xgl
Animations, transparency, ... Games: the next frontier?
Page 51
operation
offscreen
onscreen
client buffer
C1
C2
C3...C
n
Page 52
push, don't pull don't block sending updates
Page 53
SRSF scheduler
buffer
C1
C2
C3
...Cn
real time
.
.
.
queue 1
queue p
cmdsize
Page 55
2. Remote Session
Page 56
more than just a display...
Page 57
audio
applications
OS
virtual audiodriver
audiodaemon
audio data
audio data
Page 58
usb [usb/ip]
applications
OS
virtual hostcontroller
usbdaemon
data
data
Page 59
usb/ip modifications
need a transport protocol performance and resilience
Page 60
session management
TCPUDP
display
audio
usb
sessionmanager
Page 61
benefits
simplification abstract generic functionality resource management
open issue: performance impact?
Page 62
resource management
display
audio
usb
sessionmanager
shared
Page 63
Priority: Interactive response Classes of service
Requested by components
resource management
Page 64
synchronization
display
video
audio
Page 65
synchronization
time as first-class characteristic intra and inter stream stored media and real-time content
Page 68
A Virtual Hosting Infrastructure
ZAP: OS virtualization [Osman et al]
MOVE: network virtualization [Su]
THINC: remote access
Page 70
centralization
DDoS target
computers out of service
Page 71
A2M
Protection: Indirection-based overlay Exploit traffic asymmetry: Only protect
uplink
Page 72
ubiquitous access
untrusted client devices
remote session compromise
Page 73
Secure Remote Display Access
Video card as the only trusted component Decryption in the GPU
Issues: Encoding, compression? Other components?
Page 74
Preliminary Experimental Results
Page 76
Configurations
LAN Desktop
WAN Desktop
802.11g PDA
Page 77
Web Browsing Performance
Interactive Latency
Page 78
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)
Page 79
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)
Page 80
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)
Page 81
Audio/Video Performance
Playback Quality
Page 82
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
Page 83
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
Page 84
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
Page 85
Status
Remote display [SOSP 2005] Audio Audio/Video Synchronization [Kim]
MobiDesk [MobiCom 2004] A2M [Stavrou,Keromytis] and Secure Remote
Display [Cook, Keromytis]
Page 86
ToDo
3D USB Session and resource management All-media synchronization
Page 87
Schedule
USB: Summer 2005 Session, resource management:
Summer/Fall 2005 All-media synchronization: Fall 2005 3D: Fall 2005/Spring 2006