INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Computer Performance Analysis Raj Jain 1992.

Slides:



Advertisements
Similar presentations
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. A PowerPoint Presentation Package to Accompany Applied Statistics.
Advertisements

Design of Experiments Lecture I
ITEC 451 Network Design and Analysis. 2 You will Learn: (1) Specifying performance requirements Evaluating design alternatives Comparing two or more systems.
1 Statistical Inference H Plan: –Discuss statistical methods in simulations –Define concepts and terminology –Traditional approaches: u Hypothesis testing.
1 Summarizing Performance Data Confidence Intervals Important Easy to Difficult Warning: some mathematical content.
Simulation Where real stuff starts. ToC 1.What, transience, stationarity 2.How, discrete event, recurrence 3.Accuracy of output 4.Monte Carlo 5.Random.
Intro to Statistics for the Behavioral Sciences PSYC 1900
Resampling techniques Why resampling? Jacknife Cross-validation Bootstrap Examples of application of bootstrap.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Introduction to Simulation
10-1 ©2006 Raj Jain The Art of Data Presentation.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Performance Evaluation
1 Validation and Verification of Simulation Models.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
1 PERF EVAL (CONT’D) H There are many other “tools of the trade” used in performance evaluation H Only a few will be mentioned here: –queueing theory –verification.
1 Introduction to Simulation Chapters 24. Overview Simulation: Key Questions Introduction to Simulation Common Mistakes in Simulation Other Causes of.
IE 594 : Research Methodology – Discrete Event Simulation David S. Kim Spring 2009.
Analysis of Simulation Results Andy Wang CIS Computer Systems Performance Analysis.
CHAPTER 4 Research in Psychology: Methods & Design
© 2005 The McGraw-Hill Companies, Inc., All Rights Reserved. Chapter 12 Describing Data.
Verification & Validation
1 Performance Evaluation of Computer Systems and Networks Introduction, Outlines, Class Policy Instructor: A. Ghasemi Many thanks to Dr. Behzad Akbari.
Chapter 10 The Art of Data Presentation. Overview 2 Types of Variables Guidelines for Preparing Good Charts Common Mistakes in Preparing Charts Pictorial.
1 Statistical Distribution Fitting Dr. Jason Merrick.
© 2003, Carla Ellis Simulation Techniques Overview Simulation environments emulation exec- driven sim trace- driven sim stochastic sim Workload parameters.
Generic Approaches to Model Validation Presented at Growth Model User’s Group August 10, 2005 David K. Walters.
Analysis of Simulation Results Chapter 25. Overview  Analysis of Simulation Results  Model Verification Techniques  Model Validation Techniques  Transient.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
5-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. May 28, 2009 Inventory # Chapter 5 Six Sigma.
Simulation Techniques Overview Simulation environments emulation/ exec- driven event- driven sim trace- driven sim stochastic sim Workload parameters System.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
1 OUTPUT ANALYSIS FOR SIMULATIONS. 2 Introduction Analysis of One System Terminating vs. Steady-State Simulations Analysis of Terminating Simulations.
1 Common Mistakes in Performance Evaluation (1) 1.No Goals  Goals  Techniques, Metrics, Workload 2.Biased Goals  (Ex) To show that OUR system is better.
1 Summarizing Performance Data Confidence Intervals Important Easy to Difficult Warning: some mathematical content.
Introduction to Simulation Andy Wang CIS Computer Systems Performance Analysis.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Introduction to statistics I Sophia King Rm. P24 HWB
Tutorial I: Missing Value Analysis
Handbook for Health Care Research, Second Edition Chapter 10 © 2010 Jones and Bartlett Publishers, LLC CHAPTER 10 Basic Statistical Concepts.
Simulation. Types of simulation Discrete-event simulation – Used for modeling of a system as it evolves over time by a representation in which the state.
Building Valid, Credible & Appropriately Detailed Simulation Models
Common Mistakes in Performance Evaluation The Art of Computer Systems Performance Analysis By Raj Jain Adel Nadjaran Toosi.
Monte Carlo Simulation Random Number Generation
OPERATING SYSTEMS CS 3502 Fall 2017
Performance Eval Slides originally from Williamson at Calgary
Physics and Physical Measurement
Prepared by Lloyd R. Jaisingh
Correlation, Bivariate Regression, and Multiple Regression
Chapter 3 Describing Data Using Numerical Measures
CHAPTER 4 Research in Psychology: Methods & Design
Performance evaluation
Network Performance and Quality of Service
ITEC 451 Network Design and Analysis
Types of Testing Visit to more Learning Resources.
CPSC 531: System Modeling and Simulation
Chapter 10 Verification and Validation of Simulation Models
Analyzing Reliability and Validity in Outcomes Assessment Part 1
Statistical Methods Carey Williamson Department of Computer Science
Introduction to Instrumentation Engineering
Carey Williamson Department of Computer Science University of Calgary
Computer Systems Performance Evaluation
Lecture 1: Descriptive Statistics and Exploratory
Building Valid, Credible, and Appropriately Detailed Simulation Models
Statistical Thinking and Applications
Analyzing Reliability and Validity in Outcomes Assessment
Chapter Nine: Using Statistics to Answer Questions
Where real stuff starts
A Glimpse of Representing Stochastic Processes
Presentation transcript:

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Computer Performance Analysis Raj Jain 1992

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Where is simulation located in the system evaluation ecosystem? −analysis −simulation −emulation −evaluated prototype −evaluated deployed system the distinction between analysis and simulation is fluid Queuing Theory, Markov Chains and Game Theory can blur the lines the distinction between simulation and emulation is fluid ns2 and other network simulators allow to attach real-world nodes; they can emulate “a network in between” no common term exists on these slides: “live testing” no common term exists on these slides: “live testing”

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Pros −arbitrary level of detail −requires less theoretical understanding than analysis −allows simplifications compared to live systems −easier to explore parameter space than live systems  Cons −much slower than analytical approach −easy to wrongly avoid or oversimplify important real-world effects seen in live systems −bugs are harder to discover than in both, analytical approach and live systems

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  When to choose simulation for a digital system? essential performance parameters too complex to formulate analytically too many variables to evaluate in a prototypical or deployed system too big to build hardware not available too expensive to build too big to build hardware not available too expensive to build visual exploration of parameter space desirable

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Key simulation questions −common mistakes in simulation −types of simulation −how to schedule events in simulations? −how to verify and validate a model? −how to determine steady state? −how long to run a simulation? −how to generate good random number? −what random number distributions to use?

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation Event State change in the system state the set of all variables in a simulation that make it possible to repeat the simulation exactly at an arbitrary simulated time State Variable one variable contributing to the state

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Types of simulation option 1option 2option 3 Statecontinuousdiscrete Time progression continuousdiscretenone State progression deterministicprobabilistic Event/state dependency linearnon-linear Event source and sink openclosed State development stableunstable

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo option 1option 2option 3 Statecontinuousdiscrete Time progression continuousdiscretenone State progression deterministicprobabilistic Event/state dependency linearnon-linear Event source and sink openclosed State development stableunstable Simulation  Types of simulation

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Types of simulation Monte Carlo simulation Trace-driven simulation Discrete event simulation no time axisdiscrete events drawn from trace dependent sequence of discrete events model a pseudo- probabilistic phenomenon combine real-world input with simulated model combine simulated input and model need random numbersno random numbers needed need random numbers evaluate non-probabilistic expression using probabilitistic methods explore effects of an observed sequence of input events on a system with alternative models explore (several) models with arbitrary and dependent input sequences terminated when accuracy threshold reached terminates when trace replayed terminated when steady state behaviour is representative

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Types of simulation Monte Carlo simulation Trace-driven simulation Discrete event simulation no time axisdiscrete events drawn from trace dependent sequence of discrete events model a pseudo- probabilistic phenomenon combine real-world input with simulated model combine simulated input and model need random numbersno random numbers needed need random numbers evaluate non-probabilistic expression using probabilitistic methods explore effects of an observed sequence of input events on a system with alternative models explore (several) models with arbitrary and dependent input sequences terminated when accuracy threshold reached terminates when trace replayed terminated when steady state behaviour is representative in Operating Systems and Networking, simulations have their origins in queuing theory trace-driven and discrete event simulation are prevalent Monte Carlo simulation often used for assessing static fairness, such as resource assignments (frequencies etc)

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Steady state is... −... in Monte Carlo simulation the termination condition the Monte Carlo simulation produces a meaningful results when (as soon as) steady state is reached −... in discrete event simulation reached when the influence of initialization values on state variables is no longer noticeable in simulation output a simulation produces meaningful output after steady state is reached −... in trace-driven simulation like discrete event simulation

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Steady state in discrete event simulation −Generally steady state performance is interesting −Important exceptions exist, e.g. TCP slow start behaviour on a single link −when only steady state is interesting: transient removal perform very long runs (wasting computing time) −... or... truncation initial (and final) data deletion moving average of independent outputs batch means

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  How long to run a simulation?  Terminate conditions −in trace-driven simulation, event density drops, or trace ends −in discrete event simulation termination event given by expert knowledge variation in output value is narrow enough  variance of independent variable’s trajectory  variance of batch means

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation Common mistakes in simulation improper seed selection and too few runs with different seeds: representative situations are not covered inadequate user participation too short: confidence of the results is too low inappropriate level of detail unverified model: bugs inadequate time estimate invalid model: lacking realism improperly handled initial conditions no achievable goal mysterious results

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  How to verify and validate a model? −verify: debug −validate: check that model reflects the real world

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Verification −modular design −anti-bugging (include self-checks) −structured walk-through (4 eyes principle) −deterministic model (known cases are simulated correctly) −trace (validate each step in simple cases) −graphical representation (validate visually) −continuity test (where applicable, small input changes result in small output changes) −degeneracy test (expected results reached with extreme variable settings) −consistency tests (more resources allow higher workload) −seed independence

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation  Validation is more difficult to achieve than for any other approach  Validation techniques −expert intuition do results look as expected to an expert −real-system measurement compare with practical results given by live testing −theoretical results compare with analytical results for cases that can be modeled easily

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Simulation The 3 rules of validation according to Jain Don’t trust the results of a simulation model until they have been validated by analytical modeling or measurements Don’t trust the results of an analytical model until they have been validated by a simulation model or measurements Don’t trust the results of a measurement until they have been validated by simulation or analytical modeling

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Raj Jain  Intro −useful for performance analysis for systems that are not available for workloads that are not observable  Common simulation mistakes −lack of statistical knowledge −underestimate development times −inappropriate level of detail −unverified model – logic bugs can survive −invalid model – must reflect reality −improper initial conditions – state trajectory may (for good reasons) not converge −too short – steady state not reached −poor random number generation

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Performance evaluation  Commonly used performance metrics −time response time and reaction time turnaround time: job start to completion stretch factor: parallel vs sequential execution time −capacity nominal: maximal achievable capacity under ideal workload usable: maximal achievable with violating other conditions −throughput −efficiency −utilization −reliability −availability −objective quality  subjective metrics −subjective quality −mean opinion score −ranking of comparison pair

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Performance evaluation  Workload selection −level-of-detail −representativeness −timeliness −loading level test full load, worst case, typical case, procurement/target case −repeatability −impact of external components don’t design a workload that is limited by external components

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Performance evaluation Simplest way of evaluating data series: averaging coefficient of variation variancestandard deviation mean

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Performance evaluation Simplest way of evaluating data series: averaging −mode (for categorical variable like on/off or red/green/blue) −p-percentile 1 st quartile = 25-percentile median = 2 nd quartile = 50-percentile 3 rd quartile = 75-percentile

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Common mistakes in performance eval no goals biased goals unsystematic approach assuming no change in the future ignoring social aspects ignore input errors unrepresentative workload(s) inappropriate experiment design ignore significant factors overlook important parameters omitting assumptions and limitations

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Common mistakes in performance eval analyse without understanding the problem no sensitivity analysis improper treatment of outliers ignoring variabilityno analysis wrong evaluation technique erroneous analysis too complex analysis incorrect performance metric improper presentation of results

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo Performance evaluation  Performance metrics −include performance time, rate, resource error rate, probability time to failure and duration −consider including mean and variance individual and global −selection criteria low variability non-redundancy completeness

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation  Good charts −require minimal effort from the reader −maximize information use words instead of symbols label all axes clearly −minimize ink no grid lines more detail −use common practices origin at (0,0) cause along the x axis, effect on y axis linear scales, increasing scales, equally divided scales

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation Checklist for line charts and bar charts (1/4): Line chart content 1.is the number of curves in the graph reasonably small? 2.can lines be distinguished from each other? 3.are the scales contiguous? 1.if the Y-axis presents a random quantity, are the confidence intervals shown? 2.is there a curve that can be removed without loosing information? 3.are the curves on a line chart labeled individually? 4.are all symbols explained? 5.if grid lines are shown, do they add information?

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation Checklist for line charts and bar charts (2/4): Bar chart content 1.are the bars labeled individually? 2.is the order of bars systematic? 3.does the area and width of bar charts represent (unequal) frequency and interval, respectively? 4.does the area and frequency of free space between bars convey information?

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation Checklist for line charts and bar charts (3/4): Labeling 1.are both coordinate axes shown and labeled? 2.are the axis labels self-explanatory and concise? 3.are the minimum and maximum values shown on the axes? 4.are measurement units indicated? 5.is the horizontal scale increasing left-to-right? 6.is the vertical scale increasing bottom-to-top? 7.is there a chart title? 8.is the chart title self-explanatory and concise?

INF5071, Andreas Petlund, Carsten Griwodz & Pål Halvorsen University of Oslo The Art of Data Presentation Checklist for line charts and bar charts (4/4): General 1.is the figure referenced and used in the text at all? 2.does the chart convey your message? 3.would plotting different variables convey your message better? 4.do all graphs use the same scale? 5.does the whole chart provide new information to the reader?