ICOM 6115: COMPUTER SYSTEMS PERFORMANCE MEASUREMENT AND EVALUATION Nayda G. Santiago August 18, 2006.

Slides:



Advertisements
Similar presentations
1 CS533 Modeling and Performance Evaluation of Network and Computer Systems Selection of Techniques and Metrics (Chapter 3)
Advertisements

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.
Reference: Message Passing Fundamentals.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
Computational Astrophysics: Methodology 1.Identify astrophysical problem 2.Write down corresponding equations 3.Identify numerical algorithm 4.Find a computer.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling The key to multiprogramming is scheduling Scheduling is done to meet the goals of –Response time.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
Lecture 9: SHELL PROGRAMMING (continued) Creating shell scripts!
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved. 7.2 A Central Processor.
1 Lecture 10: Uniprocessor Scheduling. 2 CPU Scheduling n The problem: scheduling the usage of a single processor among all the existing processes in.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
CS102 Introduction to Computer Programming
CCSA 221 Programming in C CHAPTER 2 SOME FUNDAMENTALS 1 ALHANOUF ALAMR.
PMIT-6102 Advanced Database Systems
M. Keshtgary Spring 91 Chapter 3 SELECTION OF TECHNIQUES AND METRICS.
CPU Scheduling Chapter 6 Chapter 6.
1 Enabling Large Scale Network Simulation with 100 Million Nodes using Grid Infrastructure Hiroyuki Ohsaki Graduate School of Information Sci. & Tech.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
1 Interconnects Shared address space and message passing computers can be constructed by connecting processors and memory unit using a variety of interconnection.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Lecture 2b: Performance Metrics. Performance Metrics Measurable characteristics of a computer system: Count of an event Duration of a time interval Size.
Copyright 1995 by Coherence LTD., all rights reserved (Revised: Oct 97 by Rafi Lohev, Oct 99 by Yair Wiseman, Sep 04 Oren Kapah) IBM י ב מ 7-1 Measuring.
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.
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.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
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.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
ICOM 6115: COMPUTER SYSTEMS PERFORMANCE MEASUREMENT AND EVALUATION Nayda G. Santiago August 16, 2006.
Performance.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Quality of System requirements 1 Performance The performance of a Web service and therefore Solution 2 involves the speed that a request can be processed.
Uniprocessor Scheduling
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.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
4. Performance 4.1 Introduction 4.2 CPU Performance and Its Factors
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Software Engineering Algorithms, Compilers, & Lifecycle.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Measuring Performance Based on slides by Henri Casanova.
OPERATING SYSTEMS CS 3502 Fall 2017
Lecture 2: Performance Evaluation
System Performance.
Selecting Evaluation Techniques
Where are being used the OS?
Introduction to Operating System (OS)
CPU Scheduling Chapter 5.
CPE 619 Selection of Techniques and Metrics
Lecture 23: Process Scheduling for Interactive Systems
Computer Architecture
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Multiprocessor and Real-Time Scheduling
Database System Architectures
Performance.
Presentation transcript:

ICOM 6115: COMPUTER SYSTEMS PERFORMANCE MEASUREMENT AND EVALUATION Nayda G. Santiago August 18, 2006

Administrative Stuff  Quiz 1 August 23, 2006, Wednesday  WebCT – if activated Article: Designing computer architecture research workloads  Students who do not have cards to access lab Cesar and Idalys

Back to performance measurements  How to measure software performance on a system?

Experiment  In order to analyze the performance of an application, one has to conduct one or more experiments to find out about its possible performance problems.

General Structure of Measurement  Typical execution of an application program Source repository Compilation System Source Code Repository Control system Executor/ Launcher Application Process Output Data Input Data Executable

Typical execution of an application program  Typical execution of an application program The source code of the application is either available directly or through a repository control system like RCS or CVS which also allows to store and access multiple versions versions of the application's code at the same time in a so-called source repository. A compilation system is used to produce an executable.  The compilation system typically consists of several phases including preprocessors, parsers, optimizers, assemblers, linkers, and runtime libraries. Compilation systems for high-level parallel languages like HPF often generate output in another language like Fortran or C in a first step and then use compiler systems for these languages to produce an executable.

Typical execution of an application program  A launcher / executor takes the executable and suitable input data and executes it as one ore more application processes on a computer system. Launching an application can be done interactively (e.g. through a UNIX shell program or a program manager) or through a batch system under the control of a command script. Typically, the program generates some output data containing the results of the computation.

Instrumentation  In order to determine the performance of an application, the application has to be modified in order to insert code which collects information about the performance of the program. This process is called instrumentation. This can be done in several ways: A source code instrumentor modifies the original source code to add the necessary measurement instructions. It is typically implemented as a source-to-source translation tool which runs as a preprocessor before the actual compilation or it is handled by the compilation system itself. An object code instrumentor modifies object code or executables to accomplish the same task. An dynamic instrumentor also modifies executables but does this during the execution of the program. It has the great advantage that instrumentation can be changed / adapted during the execution.

Measurement Experiment Setup

Selecting Performance Metrics response time n. An unbounded, random variable … representing the elapses between the time of sending a message and the time when the error diagnostic is received. – S. Kelly-Bootle, The Devil’s DP Dictionary Request System Done Not Done Correct Not Correct Error i Probability Time between Event k Duration Time between Time Rate Resource Speed Reliability Availability

Selecting Performance Metrics  Mean is what usually matters But variance for some (ex: response time)  Individual vs. Global May be at odds Increase individual may decrease global  Ex: response time at the cost of throughput Increase global may not be most fair  Ex: throughput of cross traffic  Performance optimizations of bottleneck have most impact Example: Response time of Web request Client processing 1s, Latency 500ms, Server processing 10s  Total is 11.5 s Improve client 50%?  11 s Improve server 50%?  6.5 s

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

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

Response Time  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 type and system formats

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

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 load to response time at minimal load Most systems have higher response time as load increases

Throughput  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  Throughput increases as load increases, to a point Thrput Knee Capacity Usable Capacity Nominal Capacity Load Response Time Load Nominal capacity is ideal (ex: 10 Mbps) Usable capacity is achievable (ex: 9.8 Mbps) Knee is where response time goes up rapidly for small increase in throughput

Efficiency  Ratio of maximum achievable throughput (ex: 9.8 Mbps) to nominal capacity (ex: 10 Mbps)  98%  For multiprocessor, ration 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  Ex: equal load on CPUs  But may not be possible. Ex: 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 Ex: For Transaction Processing system may want Dollars / TPS

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  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  General Problems Nonspecific – no numbers. Only qualitative words (rare, low, high, extremely small) Nonmeasureable – no way to measure and verify system meets requirements Nonacceptable – numbers based on what sounds good, but once setup system not good enough Nonrealizable – numbers based on what sounds good, but once started are too high Nonthorough – no attempt made to specify all outcomes