System Performance.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

1 CS533 Modeling and Performance Evaluation of Network and Computer Systems Selection of Techniques and Metrics (Chapter 3)
3-1 ©2013 Raj Jain Washington University in St. Louis Selection of Techniques and Metrics Raj Jain Washington.
1 CS533 Modeling and Performance Evaluation of Network and Computer Systems Capacity Planning and Benchmarking (Chapter 9)
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
ITEC 451 Network Design and Analysis. 2 You will Learn: (1) Specifying performance requirements Evaluating design alternatives Comparing two or more systems.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Lecture 7 Model Development and Model Verification.
Performance Evaluation
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
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.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Analysis of Simulation Results Andy Wang CIS Computer Systems Performance Analysis.
ICOM 6115: COMPUTER SYSTEMS PERFORMANCE MEASUREMENT AND EVALUATION Nayda G. Santiago August 18, 2006.
M. Keshtgary Spring 91 Chapter 3 SELECTION OF TECHNIQUES AND METRICS.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
Modeling and Performance Evaluation of Network and Computer Systems Introduction (Chapters 1 and 2) 10/4/2015H.Malekinezhad1.
Selecting Evaluation Techniques Andy Wang CIS 5930 Computer Systems Performance Analysis.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
Performance Evaluation of Computer Systems Introduction
1 Performance Evaluation of Computer Systems and Networks Introduction, Outlines, Class Policy Instructor: A. Ghasemi Many thanks to Dr. Behzad Akbari.
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
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.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Chapter 10 Verification and Validation of Simulation Models
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.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
NETE4631: Network Information System Capacity Planning (2) Suronapee Phoomvuthisarn, Ph.D. /
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
ECE 259 / CPS 221 Advanced Computer Architecture II (Parallel Computer Architecture) Evaluation – Metrics, Simulation, and Workloads Copyright 2004 Daniel.
Measuring Performance Based on slides by Henri Casanova.
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
William Stallings Data and Computer Communications
Congestion Control in Data Networks and Internets
OPERATING SYSTEMS CS 3502 Fall 2017
Processes and threads.
Classifications of Software Requirements
CPU SCHEDULING.
QoS & Queuing Theory CS352.
Selecting Evaluation Techniques
Software Architecture in Practice
Network Performance and Quality of Service
Copyright ©: Nahrstedt, Angrave, Abdelzaher
ITEC 451 Network Design and Analysis
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
CPE 619 Selection of Techniques and Metrics
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Chapter 10 Verification and Validation of Simulation Models
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Computer Systems Performance Evaluation
3: CPU Scheduling Basic Concepts Scheduling Criteria
Switching Techniques.
Chapter 6: CPU Scheduling
Performance Evaluation of Computer Networks
Computer Systems Performance Evaluation
Performance Evaluation of Computer Networks
Chapter 6: CPU Scheduling
Chapter-5 Traffic Engineering.
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
Verification and Validation of Simulation Models
Module 5: CPU Scheduling
Presentation transcript:

System Performance

Verification and Validation of Simulation Models Verification: concerned with building the model right. It is utilized in the comparison of the conceptual model to the computer representation that implements that conception. It asks the questions: Is the model implemented correctly in the computer? Are the input parameters and logical structure of the model correctly represented? 30

Verification and Validation of Simulation Models Validation: concerned with building the right model. It is utilized to determine that a model is an accurate representation of the real system. Validation is usually achieved through the calibration of the model, an iterative process of comparing the model to actual system behavior and using the discrepancies between the two, and the insights gained, to improve the model. 30

Verification of Simulation Models Verification and Validation Many commonsense suggestions can be given for use in the verification process. 1. Have the code checked by someone other than the programmer. 2. Make a flow diagram which includes each logically possible action a system can take when an event occurs, and follow the model logic for each action for each event type. 30

Verification of Simulation Models Verification and Validation 3. Closely examine the model output for reasonableness under a variety of settings of the input parameters. Have the code print out a wide variety of output statistics. 4. Have the computerized model print the input parameters at the end of the simulation, to be sure that these parameter values have not been changed inadvertently. 30

Verification of Simulation Models Verification and Validation 5. Make the computer code as self- documenting as possible. Give a precise definition of every variable used, and a general description of the purpose of each major section of code. These suggestions are basically the same ones any programmer would follow when debugging a computer program. 30

Select Metrics Criteria to compare performance In general, related to speed, accuracy and/or availability of system services E.g.: network performance Speed: throughput and delay Accuracy: error rate Availability: data packets sent do arrive E.g.: processor performance Speed: time to execute instructions

List Parameters List all parameters that affect performance System parameters (hardware and software) E.g.: CPU type, OS type, … Workload parameters E.g.: Number of users, type of requests List may not be initially complete, so have a working list and let grow as progress

Validation of Model Assumptions Verification and Validation Structural involves questions of how the system operate (Example1) Data assumptions should be based on the collection of reliable data and correct statistical analysis of the data. Customers queueing and service facility in a bank (one line or many lines) 1. Inter-arrival times of customers during several 2-hour periods of peak loading (“rush-hour” traffic) 30

Selecting an Evaluation Technique (1 of 4) Which life-cycle stage the system is in? Measurement only when something exists When are results needed? (often, yesterday!) Simulations and measurement can be same What tools and skills are available? Maybe languages to support simulation Tools to support measurement (e.g.: packet sniffers, source code to add monitoring hooks) Skills in analytic modeling (e.g.: queuing theory)

Selecting an Evaluation Technique (2 of 4) Level of accuracy desired? Simulation has more details, but may abstract key system details Measurement may sound real, but workload, configuration, etc., may still be missing Accuracy can be high to none without proper design Even with accurate data, still need to draw proper conclusions E.g.: so response time is 10.2351 with 90% confidence. So what? What does it mean?

Selecting an Evaluation Technique (3 of 4) What are the alternatives? Can explore trade-offs easiest with analytic models, simulations moderate, measurement most difficult Cost? Measurement generally most expensive Analytic modeling cheapest (pencil and paper) Simulation often cheap but some tools expensive Traffic generators, network simulators

Selecting an Evaluation Technique (4 of 4) Saleability? Much easier to convince people with measurements Most people are skeptical of analytic modeling results since they are hard to understand Often validate with simulation before using Can use two or more techniques Validate one with another

Selecting Performance Metrics (1 of 3) response time n. An unbounded, representing the elapses between the time of sending a message and the time when the error diagnostic is received. Time responsiveness Possible Outcomes Speed Rate productivity Request Correct Resource utilization Done Probability System Not Correct Errori Time between Reliability Not Done Eventk Duration Time between Availability

Selecting Performance Metrics (2 of 3) Mean is what usually matters But do not overlook the effect of variability Individual vs. Global (systems shared by many users) Increase individual may decrease global E.g.: response time at the cost of throughput Performance optimizations of bottleneck have most impact E.g.: Response time of Web request

Selecting Performance Metrics (3 of 3) May be more than one set of metrics Resources: Queue size, CPU Utilization, Memory Use … Criteria for selecting subset, choose: Non redundancy – don’t use 2 if 1 will do E.g.: queue size and delay may provide identical information Completeness – should capture tradeoffs E.g.: one disk may be faster but may return more errors so add reliability measure

Case Study (1 of 5) Computer system of end-hosts sending packets through routers Congestion occurs when number of packets at router exceed buffering capacity Goal: compare two congestion control algorithms User sends block of packets to destination; Four possible outcomes: A) Some delivered in order B) Some delivered out of order C) Some delivered more than once D) Some dropped

Case Study (2 of 5) For A), straightforward metrics exist: 1) Response time: delay for individual packet 2) Throughput: number of packets per unit time 3) Processor time per packet at source 4) Processor time per packet at destination 5) Processor time per packet at router Since large response times can cause extra (unnecessary) retransmissions: 6) Variability in response time (is also important)

Case Study (3 of 5) For B), out-of-order packets cannot be delivered to the user immediately They are often discarded (considered dropped) Alternatively, they are stored in destination buffers awaiting arrival of intervening packets 7) Probability of out of order arrivals For C), consume resources without any use 8) Probability of duplicate packets For D), for many reasons is undesirable 9) Probability of lost packets Also, excessive loss can cause disconnection 10) Probability of disconnect

f(x1, x2, …, xn) = (xi)2 / (n xi2) Case Study (4 of 5) Since a multi-user system, want fairness: 11) Fairness = A function of variability of throughput across users; for any given set of user throughputs (x1, x2, …, xn), the fairness is: f(x1, x2, …, xn) = (xi)2 / (n xi2) Index between 0 and 1 All users get same, then 1 If k users get equal throughput and n-k get zero, than index is k/n

Case Study (5 of 5) After a few experiments (pilot tests) Found throughput and delay redundant higher throughput had higher delay instead, combine with power = thrput/delay Found variance in response time redundant with probability of duplication and probability of disconnection Drop variance in response time

Commonly Used Performance Metrics Response Time Turn around time Reaction time Stretch factor Throughput Operations/second Capacity Efficiency Utilization Reliability Uptime MTTF

Response Time (1 of 2) Interval between user’s request and system response Time User’s Request System’s Response But simplistic since requests and responses are not instantaneous Users spend time typing the request and the system takes time to output the response

Response Time (2 of 2) Can have two measures of response time User Starts Request User Finishes Request System Starts Execution System Starts Response System Finishes Response Time Reaction Time Think Time Response Time 1 Response Time 2 Can have two measures of response time Both ok, but 2 preferred if execution long Think time can determine system load

Response Time+ Turnaround time – time between submission of a job and completion of output For batch job systems Reaction time - Time between submission of a request and beginning of execution Usually need to measure inside system since nothing externally visible Stretch factor – ratio of response time at a particular load to the response time at minimum load Most systems have higher response time as load increases

Throughput (1 of 2) Rate at which requests can be serviced by system (requests per unit time) Batch: jobs per second Interactive: requests per second CPUs Millions of Instructions Per Second (MIPS) Millions of Floating-Point Ops per Sec (MFLOPS) Networks: pkts per second or bits per second Transactions processing: Transactions Per Second (TPS)

Throughput (2 of 2) Throughput increases as load increases, to a point Nominal capacity is ideal (e.g.: 10 Mbps) Usable capacity is achievable (e.g.: 9.8 Mbps) Knee is where response time goes up rapidly for small increase in throughput Thrput Knee Capacity Usable Nominal Load Response Time Load

Efficiency Ratio of maximum achievable throughput (e.g.: 9.8 Mbps) to nominal capacity (e.g.: 10 Mbps)  98% For multiprocessor, ratio of n-processor to that of one-processor (in MIPS or MFLOPS) Efficiency Number of Processors

Utilization Typically, fraction of time resource is busy serving requests Time not being used is idle time System managers often want to balance resources to have same utilization E.g.: equal load on CPUs But may not be possible. E.g.: CPU when I/O is bottleneck May not be time Processors – busy / total makes sense Memory – fraction used / total makes sense

Miscellaneous Metrics Reliability Probability of errors or mean time between errors (error-free seconds) Availability Fraction of time system is available to service requests (fraction not available is downtime) Mean Time To Failure (MTTF) is mean uptime Useful, since availability high (downtime small) may still be frequent and no good for long request Cost/Performance ratio Total cost / Throughput, for comparing 2 systems

Utility Classification HB – Higher is better (ex: throughput) LB - Lower is better (ex: response time) NB – Nominal is best (ex: utilization) Utility Metric Better LB Utility Metric Better HB Utility Metric Best NB

Setting Performance Requirements (1 of 2) Consider these typical requirement statements The system should be both processing and memory efficient. It should not create excessive overhead There should be an extremely low probability that the network will duplicate a packet, deliver it to a wrong destination, or change the data What’s wrong?

Setting Performance Requirements (2 of 2) General Problems Nonspecific – no numbers. Only qualitative words (rare, low, high, extremely small) Nonmeasureable – no way to measure and verify that the system meets requirements Nonacceptable – numerical values of requirements are set based upon what can be achieved or on what looks good; If set on what can be achieved, they may turn out to be too low Nonrealizable – numbers based on what sounds good, but once started are too high Nonthorough – no attempt is made to specify all outcomes

Setting Performance Requirements: Case Study (1 of 2) Performance for high-speed LAN Speed – if packet delivered, time taken to do so is important A) Access delay should be less than 1 sec B) Sustained throughput at least 80 Mb/s Reliability A) Prob of bit error less than 10-7 B) Prob of frame error less than 1% C) Prob of frame error not caught 10-15 D) Prob of frame miss-delivered due to uncaught error 10-18 E) Prob of duplicate 10-5 F) Prob of losing frame less than 1%

Setting Performance Requirements: Case Study (2 of 2) Availability A) Mean time to initialize LAN < 15 msec B) Mean time between LAN inits > 1 minute C) Mean time to repair < 1 hour D) Mean time between LAN partitions > ½ week All above values were checked for realizeability by modeling, showing that LAN systems satisfying the requirements were possible