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