Transcript Slide 1

THINC: A Virtual Display
Architecture for Thin-Client
Computing
Ricardo A. Baratto, Leonard N. Kim, Jason Nieh
Network Computing Laboratory
Columbia University
isolation...
...connectivity
Source: Internet Mapping Project (http://research.lumeta.com/ches/map/)
dis-integration of the computer
clusters and grid
computing
network
storage
remote display
display updates
input
benefits
ubiquitous access
remote collaboration
online help
thin clients
application processing
and data
stateless client
secure server room
existing systems
existing performance problem
PC
IC A
RDP
GoToM yPC
X
NX
VNC
Sun Ray
0%
20%
40%
60%
a u d io /v id e o q u a lit y
LAN
WAN
80%
100%
THINC
virtual display architecture
high performance remote display
transparent operation
●
system architecture
●
display protocol
●
translation
●
delivery
system architecture
applications
window
system
device
driver
framebuffer
interception and redirection
applications
high-level requests
✗ stateful client hurts
mobility
✗ app – window system
synchronization
window
system
device
driver
framebuffer
interception and redirection
applications
high-level requests
✗ lose semantics:
difficult to encode
✗Bandwidth intensive
window
system
device
driver
raw pixels
framebuffer
virtual display architecture
a p p lica tio n s
w in d o w
syste m
virtu a l d e vice
d rive r
benefits
a p p lica tio n s
S ta n d a rd
In te rfa c e
w in d o w
syste m
v irtu a l d e v ic e
d rive r
benefits
a p p lica tio n s
L e v e ra g e
e x is tin g
te c h n o lo g y
w in d o w
s yste m
v irtu a l d e v ic e
d riv e r
benefits
S im p le , lo w -le v e l
p ro to c o l
d isp la y u p d a t e s
virtu a l d e vice
d rive r
benefits
S im p le , s ta te le s s
c lie n t
d isp la y u p d a t e s
in p u t e v e n t s
v irtu a l d e v ic e
d riv e r
display protocol
Inspired by Sun Ray protocol
2D Primitives
●
copy
●
solid and tile fill
●
bitmap fill
●
raw
two key problems
how do we translate
from application commands
to the display protocol?
how and when do we send display
updates?
translation
use and preserve semantic information
for efficient translation
translation
●
use semantic information when
doing translation
use request semantics to generate update
req: fill window W, color C
window
system
req: fill [x,y,w,h] color C
THINC
update: solid fill
[x,y,w,h] color C
translation
✔use semantic information when
doing translation
●
preserve semantic information
throughout the system
preserving semantics:
offscreen rendering
display
draw
ab cde
offscreen regions
copy
ab c d e
offscreen rendering (cont)
offscreen region
command log
merge, clip, and discard commands as needed
using and preserving
semantics: video
●
●
reuse existing hardware acceleration
application interfaces
YUV (luminance-chrominance) color
space
– format
independence
– client hardware acceleration (scaling
for free)
delivery
maximize interactive response of the
system
delivery
●
●
transmit updates as soon as possible
merge, clip, and discard updates as
needed
shortest remaining size first
scheduler
real time
client
buffer
Cn
... C3 C2 C1
queue 1
.
.
.
queue p
cmd
size
implementation
●
X/Linux server
–
●
ongoing: windows server
X/Linux, windows, PDA, Java clients
experimental results
●
web and video performance
–
comparison to existing systems
–
Internet 2 sites around the globe
LAN
WAN
“
”
802.11g
web browsing performance
PC
IC A
RDP
GoToM yPC
X
NX
VNC
Sun Ray
T H IN C
0
0 .5
1
1 .5
2
2 .5
p e r w e b p a g e la t e n c y (s )
D e s k to p L A N
D e s k to p W A N
8 0 2 .1 1 g P D A
3
a/v playback quality
PC
IC A
RDP
GoToM yPC
X
NX
VNC
Sun Ray
T H IN C
0%
20%
40%
60%
80%
a u d io /v id e o q u a lit y
D e s k to p L A N
D e s k to p W A N
8 0 2 .1 1 g P D A
100%
MN
PA
MA
NY
CA
NM
FI
IE
CA
KR
PR
Internet2 web browsing performance
p a g e la t e n c y (s )
2
1 .5
1
0 .5
0
ny
pa
ma
mn
nm
ca
can
lo c a t io n
pr
ie
fi
kr
Internet2 a/v playback quality
p la y b a c k q u a lit y
100%
80%
60%
40%
20%
0%
ny
pa
ma
mn
nm
ca can
lo c a t io n
pr
ie
fi
kr
conclusions
THINC:
●
●
●
virtual display architecture transparently
leverages existing display infrastructure
efficient translation by using and preserving
semantic information from display request
delivery mechanisms increase
responsiveness of the system
for more info...
http://www.ncl.cs.columbia.edu
backup
audio
applications
audio
daemon
OS
virtual audio
driver
audio
data
audio
data
Experimental Results
Web Browsing Data Transfer
PC
IC A
RDP
GoToM yPC
X
NX
VNC
Sun Ray
T H IN C
0
50
100
150
200
p e r w e b p a g e d a t a (K B )
D e s k to p L A N
D e s k to p W A N
8 0 2 .1 1 g P D A
250
A/V Data Transfer
PC
IC A
RDP
GoToM yPC
X
NX
VNC
Sun Ray
T H IN C
0
50
100
150
200
a u d io /v id e o d a t a t r a n s fe r r e d (M B )
D e s k to p L A N
D e s k to p W A N
8 0 2 .1 1 g P D A
250
?
server-resized updates
offscreen drawing
display
draw
ab cde
offscreen regions
copy
ab c d e
command queues
offscreen region
command queue
copy onscreen
1
1
2
2
3
3
queue
client
how?
client
hardware
caps
applications
video
YUV
●
Standard hardware interface
●
Format independence
●
Hardware acceleration (fullscreen for
free!)
how we deliver updates
display
updates
Cn ... C3 C2 C1
client buffer
future work
●
3D and high-end user interfaces
●
remote device access
http://www.ncl.cs.columbia.edu
old slides
THINC
virtual display architecture
for high performance
remote display
implementation
●
●
server: X/Linux (Windows in progress)
clients: Linux (Windows, PDA, Java in
progress)
Web Browsing Performance
Audio/Video Performance
X proxies
LBX
... and a PC
Configurations
LAN Desktop
WAN Desktop
802.11g PDA
PlanetLab
applications
window
system
display
driver
framebuffer
●
ICA, RDP: Rich display protocol
●
SunRay: Ultra thin-client
Studies have shown performance problems
system architecture
as important
as protocol and encoding
goals
●
minimize latency
●
simple and portable
●
transparent operation
experimental results
●
●
up to 4.8 times better web browsing
performance
up to two orders of magnitude better
audio/video playback quality
application
requests
display
updates
translate
deliver
commands
THINC
display pipeline
applications
window
system
display
driver
framebuffer
client/server partitioning
applications
window
system
display
driver
framebuffer
✗
stateful client hurts mobility
✗
app – window system synchronization
applications
window
system
display
driver
framebuffer
✗
“Blind encoding”
basic static translation
Draw
API
standard
device
driver
commands
THINC
commands
video: first-class citizen
THINC
●
high performance remote display
●
LAN and WAN environments
●
●
transparent operation in exisiting desktop
systems
full screen, full motion audio/video playback
FI
CA
IE
KR
PR