Experiences with Client-based Speculative Remote Display John R. Lange & Peter A. Dinda Department of Electrical Engineering and Computer Science Northwestern.

Slides:



Advertisements
Similar presentations
Tuning Jenny Burr August Discussion Topics What is tuning? What is the process of tuning?
Advertisements

Categories of I/O Devices
Energy Efficiency through Burstiness Athanasios E. Papathanasiou and Michael L. Scott University of Rochester, Computer Science Department Rochester, NY.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
THINC: A Virtual Display Architecture for Thin-Client Computing Ricardo A. Baratto, Leonard N. Kim, Jason Nieh Network Computing Laboratory Columbia University.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Proactive Prediction Models for Web Application Resource Provisioning in the Cloud _______________________________ Samuel A. Ajila & Bankole A. Akindele.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
SKELETON BASED PERFORMANCE PREDICTION ON SHARED NETWORKS Sukhdeep Sodhi Microsoft Corp Jaspal Subhlok University of Houston.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Simulation Where real stuff starts. ToC 1.What, transience, stationarity 2.How, discrete event, recurrence 3.Accuracy of output 4.Monte Carlo 5.Random.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
User studies. Why user studies? How do we know security and privacy solutions are really usable? Have to observe users! –you may be surprised by what.
Differentiated Multimedia Web Services Using Quality Aware Transcoding S. Chandra, C.Schlatter Ellis and A.Vahdat InfoCom 2000, IEEE Journal on Selected.
11 MONITORING MICROSOFT WINDOWS SERVER 2003 Chapter 3.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Lesson 2: Configuring Servers
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
The User In Experimental Computer Systems Research Peter A. Dinda Gokhan Memik, Robert Dick Bin Lin, Arindam Mallik, Ashish Gupta, Sam Rossoff Department.
A Selective Retransmission Protocol for Multimedia on the Internet Mike Piecuch, Ken French, George Oprica and Mark Claypool Computer Science Department.
Series DATA MANAGEMENT. 1 Why ? Alarm/Status Notification –Remote unattended sites »Pumping stations –Pharmaceutical/Plant maintenance.
Maintaining and Updating Windows Server 2008
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
Overview SAP Basis Functions. SAP Technical Overview Learning Objectives What the Basis system is How does SAP handle a transaction request Differentiating.
Virtual Memory Tuning   You can improve a server’s performance by optimizing the way the paging file is used   You may want to size the paging file.
Client/Server Architectures
Presenter: Shant Mandossian EFFECTIVE TESTING OF HEALTHCARE SIMULATION SOFTWARE.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Module 13: Network Load Balancing Fundamentals. Server Availability and Scalability Overview Windows Network Load Balancing Configuring Windows Network.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
COMP 410 Update. The Problems Story Time! Describe the Hurricane Problem Do this with pictures, lots of people, a hurricane, trucks, medicine all disconnected.
EmNet: Satisfying The Individual User Through Empathic Home Networks J. Scott Miller, John R. Lange & Peter A. Dinda Department of Electrical Engineering.
Context-Aware Interactive Content Adaptation Iqbal Mohomed, Jim Cai, Sina Chavoshi, Eyal de Lara Department of Computer Science University of Toronto MobiSys2006.
CHAPTER TEN AUTHORING.
IBM OS/2 Warp Mike Storck Matt Kerster Mike Roe Patrick Caldwell.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Module 5: Implementing Printing. Overview Introduction to Printing in the Windows Server 2003 Family Installing and Sharing Printers Managing Access to.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Getting Started with OPC.NET OPC.NET Software Client Interface Client Base Server Base OPC Wrapper OPC COM Server Server Interface WCF Alternate.
Chapter 10 Verification and Validation of Simulation Models
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
CIS 4910 Information Systems Development Project Project Documentation.
Module 9 Planning and Implementing Monitoring and Maintenance.
1 Terminology. 2 Requirements for Network Printing Print server Sufficient RAM to process documents Sufficient disk space on the print server.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
Software System Performance CS 560. Performance of computer systems In most computer systems:  The cost of people (development) is much greater than.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
ITMT 1371 – Window 7 Configuration 1 ITMT Windows 7 Configuration Chapter 8 – Managing and Monitoring Windows 7 Performance.
Maintaining and Updating Windows Server 2008 Lesson 8.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
OPERATING SYSTEMS CS 3502 Fall 2017
Jacob R. Lorch Microsoft Research
Trading Timeliness and Accuracy in Geo-Distributed Streaming Analytics
Distributed Shared Memory
Introduction to Event-Driven Programming
MONITORING MICROSOFT WINDOWS SERVER 2003
Proposal: A General Infrastructure for Efficient Application-Level Protocols Steven Czerwinski Goal: To investigate ways to make.
Chapter 10 Verification and Validation of Simulation Models
Advanced Operating Systems
Miss rate versus (period, slice)
Presented By: Darlene Banta
Presentation transcript:

Experiences with Client-based Speculative Remote Display John R. Lange & Peter A. Dinda Department of Electrical Engineering and Computer Science Northwestern University Sam Rossoff Department of Computer Science University of Victoria Prescience Lab

2 Speculative Remote Display Remote display interactivity fundamentally constrained by network latency –Critical for WANs Speculation can improve interactivity –Can be done without server support Significant predictability exists in remote display protocol streams Speculation can be introduced into remote display clients –User-controlled tradeoff between latency and display errors –User studies currently give mixed results for tradeoff

3 Outline Speculative Remote Display Predictability study of Remote Display protocol streams –RDP and VNC Design and implementation of a client- based speculative remote display system –VNC-SRD User study of VNC-SRD –Examination of user-controlled speculation Conclusions

4 Remote Display Systems Historically popular in many forms –VNC, RDP, THINC, Citrix, X –Thin clients, remote administration, mobile users, etc Implemented at all levels of the stack –Virtual hardware, device drivers, window system extensions –Large variance in semantic properties of the protocols Lots of work has gone into optimizing Remote Displays –Predominantly to decrease bandwidth requirements

5 Latency vs. Bandwidth Optimization Large amount of work in optimizing bandwidth usage of Remote Displays –Compression/encoding, caching, protocol design Bandwidth is important… But so is interactivity User interaction implies waiting for server updates –Network latency is a critical component

6 Prospects for Speculative Remote Display User Events Screen Events Can we predict screen events well? If so, can we speculatively execute screen events before server responds? (Windows RDP)

7 Optimizing Latency Through Speculation Speculation can improve interactivity –Display screen events before they arrive RTT is no longer limiting factor UI Interaction intuitively appears to be predictable –Menus, dialog boxes, etc –Often tied to specific user action

8 Questions Is there predictability? How do we design and implement such a tool –Client –Client/Server –Predictor –… Can users tolerate display errors? Can users control tradeoff between display errors and interactivity?

9 Analysis of Predictability Effectiveness of speculation requires predictable event sequences Examined predictability with state-limited kth order Markov models –Simple –General prediction symbols Unique event signatures as symbols –Can provide multi step ahead predictions

10 Trace Collection Instrumented versions of rdesktop and VNC User studies –Northwestern students & faculty participants 5 users for each protocol –Single study model Full screen display of remote Windows machine Private local network Standardized task sequence Event traces from typical Windows workloads –Word, PowerPoint, Web browsing –15 minute periods –VNC: 12K-24K user events, 8.5K-17K screen events –RDP: 47K-77K user events, 712K-1M screen events

11 Analysis of Predictability Generated symbols from event sequences Ran symbol streams through Markov model –Model is continuously being updated, just as in system we later built –Screen->Screen, Screen+User->Screen –Different model orders considered –Different constraints on state space size considered Analyzed one-step-ahead predictability –Percentage of predictions that were correct Predictor Accuracy –Percentage of total events correctly predicted Protocol Predictability

12 RDP Prediction Accuracy Screen+User -> Screen

13 RDP Predictability Screen+User -> Screen

14 VNC Prediction Accuracy Screen+User->Screen

15 VNC Predictability Screen+User->Screen

16 Implications RDP displays a high degree of predictability –Screen events are highly correlated RDP results are much better than VNC –Most likely due to number of messages in an update –Differences in protocol semantics –RDP screen event rate much higher than VNC Errors are possible –Users will experience inconsistent screen states –Implementation must correct mis-predictions –Can users tolerate this?

17 User Control Errors will occur, but… Sensitivity to errors varies… –Between applications –Between users Let user decide tradeoff between aggressive use of predictions to reduce latency, and increasing display errors Can users make that decision? –What is the best way to present the control to users?

18 Why not RDP/SRD? Implementation simplicity –VNC has much less client state –VNC has fewer event types –VNC execution is straightforward If it works with VNC then it surely works with RDP

19 VNC-SRD Implementation of SRD inside VNC client –~2300 LOC (C++) added to VNC client –~850 LOC (Perl) Markov predictor implementation User-driven prediction application policy –Allows user to adjust amount of speculation Generic predictor interface –Event signature-based predictions Error correction and rollback

20

21 Prediction Application Policy System predicts event signatures –Constructs events from signatures Events directed to one of two queues –Applied Queue Applied events currently displayed to the user Held until validated by arrival of server events –Pending Queue Predictions waiting to be displayed Events applied to screen at a given rate –Rate: predicted server event rate –Rate * (desired latency reduction) = # of steps ahead

22 User Control Users/workloads have varying error tolerance –Allow direct user control VNC-SRD adds a user adjustable scale to the interface –User specifies desired network latency reduction

23 Error Handling Speculation can result in wrong display –System must determine and correct errors Correction –VNC-SRD fetches entire modified region All applied predictions are rolled back Local rollback is straightforward Validation –VNC-SRD validates prediction against next event Error on mismatch –Conservative approach Out of order predictions may be displayed correctly All errors have equal weight

24 User Study Students from Northwestern and University of Victoria –16 total users 4 network scenarios –Varied latency and drop rate 300ms, 100ms, 50ms, 10ms + 10% drop rate –3 randomly presented to each user 3 Application workloads –Word, PowerPoint, and Web Browsing –Performed in each of the network scenarios –5 minute runs Predictor state cleared for each run

25 Purpose of Study Determine whether users can tolerate screen artifacts due to speculation Determine whether users can trade off using our interface

26 Study Questionnaire Users rated the system after each scenario –Ability to find a comfortable predictor setting –Responsiveness at the most comfortable setting –Acceptability of display errors at the most comfortable setting –Scale: 1 (very bad) to 10 (very good)

27 User Study Caveats Few predictions were made –Study runs not long enough to sufficiently seed predictor –VNC has low predictability Ratings should thus be taken with a large grain of salt Future work planned to improve this

28 Able to find a comfortable setting?

29 Are Display Errors Acceptable?

30 Is the System Responsive?

31 Results We still do not know for sure whether users… –Can tolerate the screen artifacts –Can trade off between screen artifacts and latency More work needed

32 Alternative Design Approaches Speculative support on the server –Synchronized predictors Predictions used for other purposes –Cache hints –Update regions –Update ordering Other prediction algorithms/symbols –Time series predictions of event coordinates

33 Future Work Exploration of predictability in Remote Display protocols –How far ahead can predictions be made? –What prediction algorithm should be used? –To what degree can SRD decrease latency? –Comparison of more protocols Exploration of different SRD designs

34 Conclusions Remote display interactivity fundamentally constrained by network latency –Critical for WANs Speculation can improve interactivity –Can be done without server support Significant predictability exists in remote display protocol streams Speculation can be introduced into remote display clients –User-controlled tradeoff between latency and display errors –User studies currently give mixed results for tradeoff

35 Prescience Lab – Empathic Systems Project – John Lange –