Measuring Interactive Performance with VNCplay Nickolai Zeldovich, Ramesh Chandra Stanford University.

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

1 Official Interface Guidelines by David Catmull User interface documentation published by Apple and Microsoft.
The Operating System. What is an Operating System? The program that is loaded first and manages the hardware resources like main memory, backing storage.
PC Application
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Chapter 14 Chapter 14: Server Monitoring and Optimization.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Chapter 1- Visual Basic Schneider 1 Chapter 1 An Introduction to Computers and Visual Basic.
Automating with Macros Today we are going to at how to automate frequently used processes with macros: What is a macro? What do we want to automate? How.
SE320: Introduction to Computer Games Week 8: Game Programming Gazihan Alankus.
Hands-On Microsoft Windows Server 2008 Chapter 11 Server and Network Monitoring.
Windows Server 2008 Chapter 11 Last Update
An Introduction to Operating Systems. Definition  An Operating System, or OS, is low-level software that enables a user and higher-level application.
C LICKERS IN THE C LASSROOM Missouri S&T Educational Technology 102 Centennial Hall (573)
VMWare Workstation Installation. Starting Vmware Workstation Go to the start menu and start the VMware Workstation program. *Note: The following instructions.
Operating Systems Chapter 4.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Scratch the Cat. Object Oriented Programing Writing computer programs Based on Objects Instead of Actions Based on Data Instead of Logic.
Chapter Three Software and Operating Systems What is software? How software is developed (Analysis, Design, Programming, and Testing) What are software.
The Blue “W” is placed on your Desktop or in your system tray area.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Lesson 6 Operating Systems and Software
Chapter 4: What is an operating system?. What is an operating system? A program or collection of programs that coordinate computer usage among users and.
GroundsOpsStaff (Last Updated 9/9/2010) A Grounds Operations and Staffing Computer Application Based on APPA Operational Guidelines for Grounds Management.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Bottlenecks: Automated Design Configuration Evaluation and Tune.
Software GCSE COMPUTING.
Overview of Windows and Microsoft Word. Operating System Performs 3 functions –Controls the hardware of the computer Screen, keyboard, disk drives, etc.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
11.10 Human Computer Interface www. ICT-Teacher.com.
WINDOWS Part 1 – Start Up Basics
Lecture 5: Interaction 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 711,  ex 2271 
Creating Multimedia Interaction with Windows Media Technologies 7.
Mr C Johnston ICT Teacher
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 3 Programmer Support Gary Marsden ( ) July 2002.
Computer A computer is an electronic machine that takes information, processes it,and stores it. Computers are made up of hardware ( monitor, tower, keyboard,
Output Design. Output design  Output can be: Displayed on a screen/VDU/monitor. Printed on paper as hard copy. Sound.
Instructions To start a new game, click the “Start New Game” button. To reset the game in order to change the Answers and Questions on each slide, as.
Computer Basics & Keyboarding. What Is A Computer? An electronic device operating under the control of instructions stored in its own memory unit An electronic.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
OPERATING SYSTEM - program that is loaded into the computer and coordinates all the activities among computer hardware devices. -controls the hardware.
Copyright © 2006 Prentice-Hall. All rights reserved.1 Computer Literacy for IC 3 Unit 2: Using Productivity Software Project 1: Taking a Tour of Windows.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4: Events Programming with Alice and Java First Edition by John Lewis.
Basic Parts of a Computer B. Keyboard C. Monitor A. CPU D. Mouse.
SCRIPT PROGRAMMING WITH FLASH Introductory Level 1.
Main Computer Components
Lecture 5: 9/10/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Parts of a Computer Computer Hardware Hardware refers to the physical parts that make up the computer. Let’s name the computer hardware parts that we.
Installing Microsoft C++ Microsoft Visual Studio 6.0.
THE WINDOWS OPERATING SYSTEM Computer Basics 1.2.
Operating Systems. Categories of Software System Software –Operating Systems (OS) –Language Translators –Utility Programs Application Software.
Graphical User Interfaces (GUI’s ). & Command-Line Interfaces.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Using Macros Lesson.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Jacob R. Lorch Microsoft Research
Operating System.
System Software EIT, © Author Gay Robertson, 2016.
Event-driven programming
Event loops 16-Jun-18.
Operating Systems Overview
Lecture 4 : Windows 7 By MSc. Manar Joundy Hazar 2017
Event loops.
Event loops 17-Jan-19.
Event loops 17-Jan-19.
Event loops 8-Apr-19.
Event loops.
Event loops.
Event loops 19-Aug-19.
Presentation transcript:

Measuring Interactive Performance with VNCplay Nickolai Zeldovich, Ramesh Chandra Stanford University

Measuring performance Scientific computing or server workloads: –How long does it take for my program to run? Measure total running time

Measuring performance Users of interactive applications: –I asked for something, when will I get it? But we still measure total runtime –WinBench runs Word, PowerPoint, etc as fast as possible, and measures total runtime We are measuring the wrong thing

Case in point Use Microsoft PowerPoint for 5 minutes Two machines: 2.0 GHz and 300 MHz –Expect to see different performance! Two performance metrics: –Total runtime: from start to finish –Response time: from click to output on screen

Performance Metrics Total RuntimeResponse Time

Users pause a lot... 0 sec0.1 sec0.2 sec5 sec... Response time is noise in total runtime

Outline Overview of VNCplay Current approaches How VNCplay works Evaluation –Quantitative results –Qualitative experience Summary

Overview of VNCplay To compare interactive performance, we need reproducible workloads –Record interactive user session –Replay session in different environments Compare response time between replays

Current approaches Display protocols: X11, VNC, Windows Key strokes, mouse clicks Screen updates

Current approaches Screen updates... 0 sec1 sec5 sec8 secTime Input Event Recorder Tools like Xnee, Visual Test, AutoIt, rfbplaymacro

Current approaches Screen updates... 0 sec1 sec5 sec8 secTime Input Event Replayer

What if system is slow? 0 sec0.5 sec1.0 sec Need feedback of when the system responds 1.5 sec Time

What should happen? 0 sec0.5 sec1.0 sec Need feedback of when the system responds 1.5 sec Time

Workarounds? Current tools allow user to insert delay statements to compensate for slowness –Creates unrealistic user behavior –Tedious and error-prone

VNCplay approach Big problem is mouse clicks Take a screen snapshot at each mouse click during recording Wait for the same thing during replay

VNCplay approach 0 sec1 sec5 sec8 secTime Input Event Screen updates Recorder

VNCplay approach Screen updates 0 sec1 sec5 sec8 secTime Input Event Replayer

VNCplay details Only snapshot the screen around the cursor –Reduces trace file size –Ignores irrelevant things (e.g. system clock) Other tricks described in the paper

Analyzing Replays Time Response Time System 1: System 2: Match

Evaluation OpenOffice on Linux Scaled CPU frequency from 2.0 GHz down to 300 MHz Compare total running time and interactive response time

Total Runtime

Median Response Time

Other experiments Paper has details on more experiments –Microsoft Windows, Linux –Evaluate interactive performance of different disk IO schedulers

Experience using VNCplay Platform independence –Measured interactive performance of PowerPoint, Word, OpenOffice Reliable replay –Replayed 5-minute PowerPoint session on a slow system, taking over an hour – works OK!

Caveats Near-perfect reproducibility needed –VMware: start the same VM every time –In Linux, reset user account (dotfiles)

Caveats Keyboard input can be a problem –Use mouse instead of keyboard shortcuts –Click before and after you type Couple of tries to get a reliable session –Tooltips, pop-ups get in the way

Using VNCplay vncplay record server:5901 trace.vnc vncplay play server1:5901 trace.vnc out1.rfb vncplay play server2:5901 trace.vnc out2.rfb vncplay analyze out1.rfb out2.rfb > analyze.out vncanalyze median analyze.out vncanalyze cdf analyze.out > cdf.plot Use gnuplot, Excel to plot cdf.plot

Other uses Automated testing –Make sure your application behaves the same way with a new release of Linux / Windows GUI ``automation’’ –Automate GUI-intensive tasks that have no scriptable interface

Future directions Integrate some GUI toolkit knowledge for smarter matching (e.g. ignore tooltips) Better keyboard input handling –Machine learning –Details in paper If you want to help, let us know!

In conclusion … Need to measure interactive performance –Runtime benchmarks are not appropriate VNCplay –Portable, reliable session replay –Response time measurement

Questions?