Performance evaluation

Slides:



Advertisements
Similar presentations
3-1 ©2013 Raj Jain Washington University in St. Louis Selection of Techniques and Metrics Raj Jain Washington.
Advertisements

1 CS533 Modeling and Performance Evaluation of Network and Computer Systems Capacity Planning and Benchmarking (Chapter 9)
Modeling and Simulation By Lecturer: Nada Ahmed. Introduction to simulation and Modeling.
Design of Experiments Lecture I
1 Evaluation Rong Jin. 2 Evaluation  Evaluation is key to building effective and efficient search engines usually carried out in controlled experiments.
MANAGING FOR QUALITY AND PERFORMANCE EXCELLENCE, 7e, © 2008 Thomson Higher Education Publishing 1 Chapter 11 Statistical Thinking and Applications.
Copyright © 2005 Department of Computer Science CPSC 641 Winter PERFORMANCE EVALUATION Often in Computer Science you need to: – demonstrate that.
ITEC 451 Network Design and Analysis. 2 You will Learn: (1) Specifying performance requirements Evaluating design alternatives Comparing two or more systems.
Introduction to Simulation
1 PERFORMANCE EVALUATION H Often one needs to design and conduct an experiment in order to: – demonstrate that a new technique or concept is feasible –demonstrate.
1 Experimental Methodology H Experimental methods can be used to: – demonstrate that a new concept, technique, or algorithm is feasible –demonstrate that.
Statistics CSE 807.
Discrete-Event Simulation: A First Course Steve Park and Larry Leemis College of William and Mary.
Steps of a sound simulation study
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Introduction to Experiment Design Shiv Kalyanaraman Rensselaer Polytechnic Institute
Performance Evaluation
1 PERFORMANCE EVALUATION H Often in Computer Science you need to: – demonstrate that a new concept, technique, or algorithm is feasible –demonstrate that.
Measuring Performance Chapter 12 CSE807. Performance Measurement To assist in guaranteeing Service Level Agreements For capacity planning For troubleshooting.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Knowledge is Power Marketing Information System (MIS) determines what information managers need and then gathers, sorts, analyzes, stores, and distributes.
1 Introduction to Simulation Chapters 24. Overview Simulation: Key Questions Introduction to Simulation Common Mistakes in Simulation Other Causes of.
Analysis of Simulation Results Andy Wang CIS Computer Systems Performance Analysis.
© 2003, Carla Ellis Experimentation in Computer Systems Research Why: “It doesn’t matter how beautiful your theory is, it doesn’t matter how smart you.
Modeling & Simulation: An Introduction Some slides in this presentation have been copyrighted to Dr. Amr Elmougy.
Modeling and Performance Evaluation of Network and Computer Systems Introduction (Chapters 1 and 2) 10/4/2015H.Malekinezhad1.
1 Performance Evaluation of Computer Systems and Networks Introduction, Outlines, Class Policy Instructor: A. Ghasemi Many thanks to Dr. Behzad Akbari.
Introduction to Experimental Design
Chapter 3 System Performance and Models. 2 Systems and Models The concept of modeling in the study of the dynamic behavior of simple system is be able.
Analysis of Simulation Results Chapter 25. Overview  Analysis of Simulation Results  Model Verification Techniques  Model Validation Techniques  Transient.
ENM 503 Lesson 1 – Methods and Models The why’s, how’s, and what’s of mathematical modeling A model is a representation in mathematical terms of some real.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Copyright  2003 by Dr. Gallimore, Wright State University Department of Biomedical, Industrial Engineering & Human Factors Engineering Human Factors Research.
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
Chapter 10 Verification and Validation of Simulation Models
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 Common Mistakes in Performance Evaluation (1) 1.No Goals  Goals  Techniques, Metrics, Workload 2.Biased Goals  (Ex) To show that OUR system is better.
12/7/2015© 2008 Raymond P. Jefferis III1 Simulation of Computer Systems.
Probabilistic Design Systems (PDS) Chapter Seven.
Introduction to Simulation Andy Wang CIS Computer Systems Performance Analysis.
1 1 Slide Simulation Professor Ahmadi. 2 2 Slide Simulation Chapter Outline n Computer Simulation n Simulation Modeling n Random Variables and Pseudo-Random.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Understanding Performance in Operating Systems Andy Wang COP 5611 Advanced Operating Systems.
© 2003, Carla Ellis Vague idea “groping around” experiences Hypothesis Model Initial observations Experiment Data, analysis, interpretation Results & final.
Csci 418/618 Simulation Models Dr. Ken Nygard, IACC 262B
Vague idea “groping around” experiences Hypothesis Model Initial observations Experiment Data, analysis, interpretation Results & final Presentation Experimental.
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.
Computer Simulation Henry C. Co Technology and Operations Management,
Common Mistakes in Performance Evaluation The Art of Computer Systems Performance Analysis By Raj Jain Adel Nadjaran Toosi.
OPERATING SYSTEMS CS 3502 Fall 2017
CPSC 531: System Modeling and Simulation
Prepared by Lloyd R. Jaisingh
Software Architecture in Practice
Network Performance and Quality of Service
Modeling and Simulation (An Introduction)
ITEC 451 Network Design and Analysis
Chapter 1.
Chapter 10 Verification and Validation of Simulation Models
Prepared by Lee Revere and John Large
Computer Systems Performance Evaluation
Discrete-Event System Simulation
Understanding Performance in Operating Systems
Performance Evaluation of Computer Networks
Computer Systems Performance Evaluation
Performance Evaluation of Computer Networks
Summary Inf-2202 Concurrent and Data-Intensive Programming Fall 2016
MECH 3550 : Simulation & Visualization
DESIGN OF EXPERIMENTS by R. C. Baker
Presentation transcript:

Performance evaluation Inf-2202 Concurrent and Data-intensive Programming Fall 2016 Lars Ailo Bongo (larsab@cs.uit.no)

Source / recommended reading

Outline Performance evaluation Best practices Measurement Simulation Modeling Best practices

Steps for a performance evaluation study State the goals of the study and define the system boundaries List system services and possible outcomes Select performance metrics List system and workload parameters Select factors and their values Select evaluation techniques Select the workload Design the experiments Analyze and interpret the data Presents the results. Start over, if necessary Box 2.2 in The art of computer systems performance analysis. Raj Jain. Wiley. 1991.

How to avoid common mistakes Is the system correctly defined and the goals clearly stated? Are the goals stated in an unbiased manner? Have all steps of the analysis followed systematically? Is the problem clearly understood before analyzing it? Are the performance metrics relevant for this problem? Is the workload correct for this problem? Is the evaluation technique appropriate? Is the list of parameters that affect performance that affect performance complete? Box 2.1 in The art of computer systems performance analysis. Raj Jain. Wiley. 1991.

How to avoid common mistakes Have all parameters that affect performance been chosen as factors to be varied? Is the experimental design efficient in terms of time and results? Is the level of detail proper? Is the measured data presented with analysis and interpretation? Is the analysis statistically correct? Has the sensitivity analysis been done? Would errors in the input cause an insignificant change in the results?

How to avoid common mistakes Have the outliers in the input or output been treated properly? Have the future changes in the system and workload been taken into account? Has the variance of input been taken into account? Has the variance of the results been analyzed? Is the analysis easy to explain? Is the presentation style suitable for its audience? Have the results been graphically presented as much as possible? Are the assumptions and limitations of the analysis clearly documented?

Selection of techniques and metrics Evaluation technique Modeling Simulation Measurements Metrics Wall-clock time, system time, latency, throughput, scalability, correctness, availability, utilization, smoothness, usability…

Selection of technique Criterion Modeling Simulation Measurement Stage Any Post-prototype 2. Time required Small Medium Varies 3. Tools Analyst Computer languages/ simulator Instrumentation 4. Accuracy Low Moderate 5. Trade-off evaluation Easy Difficult 6. Cost High 7. Scalability Slightly modified table 3.1 from The art of computer systems performance analysis. Raj Jain. Wiley. 1991.

Selection of performance metrics Type Response time, turnaround time, reaction time Throughput, bandwidth/ capacity Efficiency, utilization, idle time Reliability, availability, mean time to failure Cost/performance ratio Scalability Energy efficiency … Mean, max, median, minimum? Variability Completeness

Performance requirements Specific Measurable Acceptable Realizable Thorough

Outline Performance evaluation Best practices Measurement Simulation Modeling Best practices

Performance measurements Essence: monitor the system while it is being subjected to a particular workload Need to understand system Need to understand how system is used (workload) What are the different types of workloads? Which workloads are used in related work? How are representative workload types selected? How is the measured workload data summarized? How is the system performance monitored? How can the workload be placed on the system in a controlled manner? How are the evaluation results presented?

Workload types Real workload Synthetic workload Obviously realistic Difficult to repeat Synthetic workload Similar characteristics to real workload Easier to work with (port, scale, repeat, analyze) Micro-benchmark: measure one type of operation Kernel: small part of application Synthetic program: simplified application Benchmark: one (or more) applications

Workload selection Services exercised Level of detail Representativeness Repeatability

Workload characterization Various statistical techniques Will skip this part

Monitors A tool to observe activities in a system Observe performance Collect performance statistics Analyze the data Display results Central part of any performance measurement

Terminology Event: change in system state Trace: log of events (with timestamps and additional information) Overhead: perturbation Domain: set of observable activities Input rate/ sample rate: maximum frequency of events that can be observed Resolution: coarseness of the observed information Input width: event size (rate * width = storage overhead)

Monitor classification Software/ hardware Online/ offline Sampling / event-driven Automated analysis? Adaptive system?

Software monitor - design issues Activation mechanism: trap, trace, timer Buffer size and number of buffers Buffer overflow Data compression or online analysis On/off switch Programming language Priority Exception monitoring

Software monitor – common layers Management: decide what parameters and states to change Console: control system parameters and states Interpretation: make use of results Presentation: present analysis results Analysis: analyze gathered data Collection: collect gathered data Observation: gather raw data

Software monitor – common layers Management Console Interpretation Presentation Analysis Collection Observation Decide what parameters and states to change Implicit spying (for example monitor a bus) Explicit instrumentation (add timer calls) Probing (send requests)

Experimental design Goal: obtain maximum information with minimum number of experiments

Terminology Response (performance) variable Factors Levels Primary factors Secondary factors Replication Design Experimental unit Interactions

Common mistakes Unclear goals Ignoring variation due to experimental variation Not controlling important parameters Not isolating different factors Using simple one-factor-at-a-time design Conducting to many experiments

Experimental designs Simple design Start with a typical configuration Vary one factor at a time Analyze how that factor effects performance Advantage: few experiments Disadvantage: not statistically efficient, does not take into account factor interaction Not recommended

Experimental designs Simple design Full factorial design Utilize every possible combination of all levels of all factors Advantage: full coverage Disadvantage: cost of study In practice: Reduce number of levels per factor Reduce the number of factors Use fractional design

Experimental designs Simple design Full factorial design Fractional factorial design If full factorial design not practical Change several factors at a time Must know how to design such an experiment (not covered )

Experimental design steps (for your master thesis) Find a good paper with related work Study experiment goals and presentation Study experimental methodology Copy methodology Conduct experiments

Issues not covered What to do with the monitored data Performance tuning Capacity tuning How to present the results How to cheat when presenting the results Probability theory Statistics Experimental analysis

Outline Performance evaluation Best practices Measurement Simulation Modeling Best practices

Simulation Simulation is the imitation of the operation of a real-world process or system over time [wikipedia] If system is not available If experimental environment is not available Easy to compare several alternatives (workloads, designs, environments) Must be designed to provide realistic results Many simulators available Can simulate a part of a system

Checklist Before developing: Checks during development Is the goal properly specified? Is the level of detail appropriate for the goal? Checks during development Is the model reviewed regularly by end user? Is the model documented? Checks during simulation: Is the simulation length appropriate? Are the initial transients removed before computation? Has the model been verified thoroughly? Has the model been validated before using its results? If there are any surprising results, have they been validated?

Common mistakes Inappropriate level of detail Improper language Unverified models Invalid models Improperly handled initial conditions Too short simulations (Poor random-number generators or seeds) Box 24.1 in The art of computer systems performance analysis. Raj Jain. Wiley. 1991.

Terminology Emulation: duplicate functions of guest system on host Focus: exact reproduction of behavior State variables: defines state of system Event: change in system state Continuous-time model: system state is defined at all times Discrete-time model: system state only defined at particular instants of time

Terminology Continuous state model Discrete state model Deterministic model: output can be predicted with certainty Probabilistic model: different result for same input parameters Static model: time is not a variable Dynamic model: time is a variable Linear model Non-linear model

Terminology Open model: input is external to model Closed model: no external input Stable model: behavior settles eventually Unstable model: behavior consciously changing

Types of simulation Emulation Monte Carlo Trace-driven Discrete-event

Simula Simulation languages (Simula I, Simula 67) Ole-Johan Dahl, Kristen Nygaard Norsk Regnesentral, 1960s First object oriented language Turing award 2001 IEEE John von Neumann Medal 2002

Not covered Analysis of simulation results

Outline Performance evaluation Best practices Measurement Simulation Modeling Best practices

Analytical modeling A mathematical model is a description of a system using mathematical concepts and language Very cost effective Limited detail

Modeling Designs, Lessons and Advice from Building Large Distributed Systems. Jeff Dean. LADIS´09 keynote talk. Slides 23—29

Summary Performance evaluation Measurements: Simulation: Modeling: How to do it How not to do it Measurements: Best results Most expensive Simulation: Good results Some effort Modeling: Initial results Easy and cheap In practice a combination should be used