Copyright 2004 David J. Lilja1 Performance metrics What is a performance metric? Characteristics of good metrics Standard processor and system metrics.

Slides:



Advertisements
Similar presentations
1 Lecture 2: Metrics to Evaluate Performance Topics: Benchmark suites, Performance equation, Summarizing performance with AM, GM, HM Video 1: Using AM.
Advertisements

Performance What differences do we see in performance? Almost all computers operate correctly (within reason) Most computers implement useful operations.
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Evaluating Performance
100 Performance ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.
Computer Performance CS350 Term Project-Spring 2001 Elizabeth Cramer Bryan Driskell Yassaman Shayesteh.
Chapter 4 M. Keshtgary Spring 91 Type of Workloads.
Copyright 2004 David J. Lilja1 What Do All of These Means Mean? Indices of central tendency Sample mean Median Mode Other means Arithmetic Harmonic Geometric.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Sep 5, 2005 Lecture 2.
Computational Astrophysics: Methodology 1.Identify astrophysical problem 2.Write down corresponding equations 3.Identify numerical algorithm 4.Find a computer.
Performance D. A. Patterson and J. L. Hennessey, Computer Organization & Design: The Hardware Software Interface, Morgan Kauffman, second edition 1998.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.5 Comparing and Summarizing Performance.
Computer Performance Evaluation: Cycles Per Instruction (CPI)
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
Chapter 4 Assessing and Understanding Performance
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Sep 3, 2003 Lecture 2.
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
Lecture 3: Computer Performance
1 Lecture 10: FP, Performance Metrics Today’s topics:  IEEE 754 representations  FP arithmetic  Evaluating a system Reminder: assignment 4 due in a.
1 Chapter 4. 2 Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational motivation.
1 Measuring Performance Chris Clack B261 Systems Architecture.
CPU Performance Assessment As-Bahiya Abu-Samra *Moore’s Law *Clock Speed *Instruction Execution Rate - MIPS - MFLOPS *SPEC Speed Metric *Amdahl’s.
Performance & Benchmarking. What Matters? Which airplane has best performance:
1 Computer Performance: Metrics, Measurement, & Evaluation.
Lecture 2: Computer Performance
Lecture 2b: Performance Metrics. Performance Metrics Measurable characteristics of a computer system: Count of an event Duration of a time interval Size.
BİL 221 Bilgisayar Yapısı Lab. – 1: Benchmarking.
Memory/Storage Architecture Lab Computer Architecture Performance.
1 CHAPTER 2 THE ROLE OF PERFORMANCE. 2 Performance Measure, Report, and Summarize Make intelligent choices Why is some hardware better than others for.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Sections 1.5 – 1.11.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
Performance.
1. 2 Table 4.1 Key characteristics of six passenger aircraft: all figures are approximate; some relate to a specific model/configuration of the aircraft.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
1 Seoul National University Performance. 2 Performance Example Seoul National University Sonata Boeing 727 Speed 100 km/h 1000km/h Seoul to Pusan 10 hours.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
1  1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the performance.
Performance Performance
TEST 1 – Tuesday March 3 Lectures 1 - 8, Ch 1,2 HW Due Feb 24 –1.4.1 p.60 –1.4.4 p.60 –1.4.6 p.60 –1.5.2 p –1.5.4 p.61 –1.5.5 p.61.
September 10 Performance Read 3.1 through 3.4 for Wednesday Only 3 classes before 1 st Exam!
Performance – Last Lecture Bottom line performance measure is time Performance A = 1/Execution Time A Comparing Performance N = Performance A / Performance.
Computer Organization Instruction Set Architecture (ISA) Instruction Set Architecture (ISA), or simply Architecture, of a computer is the.
1 Lecture: Metrics to Evaluate Performance Topics: Benchmark suites, Performance equation, Summarizing performance with AM, GM, HM  Video 1: Using AM.
Chapter 4. Measure, Report, and Summarize Make intelligent choices See through the marketing hype Understanding underlying organizational aspects Why.
Lec2.1 Computer Architecture Chapter 2 The Role of Performance.
L12 – Performance 1 Comp 411 Computer Performance He said, to speed things up we need to squeeze the clock Study
Performance 9 ways to fool the public Old Chapter 4 New Chapter 1.4.
Performance Computer Organization II 1 Computer Science Dept Va Tech January 2009 © McQuain & Ribbens Defining Performance Which airplane has.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Chapter 1 Performance & Technology Trends. Outline What is computer architecture? Performance What is performance: latency (response time), throughput.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
Lecture 2: Performance Evaluation
CS161 – Design and Architecture of Computer Systems
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
September 2 Performance Read 3.1 through 3.4 for Tuesday
Execution time Execution Time (processor-related) = IC x CPI x T
How do we evaluate computer architectures?
Defining Performance Which airplane has the best performance?
Chap 2: Metric of Performance
Morgan Kaufmann Publishers
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS2100 Computer Organisation
Execution time Execution Time (processor-related) = IC x CPI x T
Performance.
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
CS2100 Computer Organisation
Presentation transcript:

Copyright 2004 David J. Lilja1 Performance metrics What is a performance metric? Characteristics of good metrics Standard processor and system metrics Speedup and relative change

Copyright 2004 David J. Lilja2 What is a performance metric? Count Of how many times an event occurs Duration Of a time interval Size Of some parameter A value derived from these fundamental measurements

Copyright 2004 David J. Lilja3 Time-normalized metrics “Rate” metrics Normalize metric to common time basis Transactions per second Bytes per second (Number of events) ÷ (time interval over which events occurred) “Throughput” Useful for comparing measurements over different time intervals

Copyright 2004 David J. Lilja4 What makes a “good” metric? Allows accurate and detailed comparisons Leads to correct conclusions Is well understood by everyone Has a quantitative basis A good metric helps avoid erroneous conclusions

Copyright 2004 David J. Lilja5 Good metrics are … Linear Fits with our intuition If metric increases 2x, performance should increase 2x Not an absolute requirement, but very appealing dB scale to measure sound is nonlinear

Copyright 2004 David J. Lilja6 Good metrics are … Reliable If metric A > metric B Then, Performance A > Performance B Seems obvious! However, MIPS(A) > MIPS(B), but Execution time (A) > Execution time (B)

Copyright 2004 David J. Lilja7 Good metrics are … Repeatable Same value is measured each time an experiment is performed Must be deterministic Seems obvious, but not always true… E.g. Time-sharing changes measured execution time

Copyright 2004 David J. Lilja8 Good metrics are … Easy to use No one will use it if it is hard to measure Hard to measure/derive → less likely to be measured correctly A wrong value is worse than a bad metric!

Copyright 2004 David J. Lilja9 Good metrics are … Consistent Units and definition are constant across systems Seems obvious, but often not true… E.g. MIPS, MFLOPS Inconsistent → impossible to make comparisons

Copyright 2004 David J. Lilja10 Good metrics are … Independent A lot of $$$ riding on performance results Pressure on manufacturers to optimize for a particular metric Pressure to influence definition of a metric But a good metric is independent of this pressure

Copyright 2004 David J. Lilja11 Good metrics are … Linear -- nice, but not necessary Reliable -- required Repeatable -- required Easy to use -- nice, but not necessary Consistent -- required Independent -- required

Copyright 2004 David J. Lilja12 Clock rate Faster clock == higher performance 1 GHz processor always better than 2 GHz But is it a proportional increase? What about architectural differences? Actual operations performed per cycle Clocks per instruction (CPI) Penalty on branches due to pipeline depth What if the processor is not the bottleneck? Memory and I/O delays

Copyright 2004 David J. Lilja13 Clock rate (Faster clock) ≠ (better performance) A good first-order metric Linear Reliable Repeatable ☺ Easy to measure ☺ Consistent ☺ Independent ☺

Copyright 2004 David J. Lilja14 MIPS Measure of computation “speed” Millions of instructions executed per second MIPS = n / (T e * ) n = number of instructions T e = execution time Physical analog Distance traveled per unit time

Copyright 2004 David J. Lilja15 MIPS But how much actual computation per instruction? E.g. CISC vs. RISC Clocks per instruction (CPI) MIPS = Meaningless Indicator of Performance Linear Reliable Repeatable ☺ Easy to measure ☺ Consistent Independent ☺

Copyright 2004 David J. Lilja16 MFLOPS Better definition of “distance traveled” 1 unit of computation (~distance) ≡ 1 floating- point operation Millions of floating-point ops per second MFLOPS = f / (T e * ) f = number of floating-point instructions T e = execution time GFLOPS, TFLOPS,…

Copyright 2004 David J. Lilja17 MFLOPS Integer program = 0 MFLOPS But still doing useful work Sorting, searching, etc. How to count a FLOP? E.g. transcendental ops, roots Too much flexibility in definition of a FLOP Not consistent across machines Linear Reliable Repeatable ☺ Easy to measure ☺ Consistent Independent

Copyright 2004 David J. Lilja18 SPEC System Performance Evaluation Coop Computer manufacturers select “representative” programs for benchmark suite Standardized methodology 1. Measure execution times 2. Normalize to standard basis machine 3. SPECmark = geometric mean of normalized values

Copyright 2004 David J. Lilja19 SPEC Geometric mean is inappropriate (more later) SPEC rating does not correspond to execution times of non-SPEC programs Subject to tinkering Committee determines which programs should be part of the suite Targeted compiler optimizations Linear Reliable Repeatable ☺ Easy to measure ½☺½☺ Consistent ☺ Independent

Copyright 2004 David J. Lilja20 QUIPS Developed as part of HINT benchmark Instead of effort expended, use quality of solution Quality has rigorous mathematical definition QUIPS = Quality Improvements Per Second

Copyright 2004 David J. Lilja21 QUIPS HINT benchmark program Find upper and lower rational bounds for Use interval subdivision technique Divide x,y into intervals that are power of 2 Count number of squares completely above/below curve to obtain u and l bounds Quality = 1/(u – l)

Copyright 2004 David J. Lilja22 QUIPS From:

Copyright 2004 David J. Lilja23 QUIPS From: HINT/ComputerPerformance.html

Copyright 2004 David J. Lilja24 QUIPS Primary focus on Floating-point ops Memory performance Good for predicting performance on numerical programs But it ignores I/O performance Multiprograming Instruction cache Quality definition is fixed Linear ≈☺≈☺ Reliable Repeatable ☺ Easy to measure ☺ Consistent ☺ Independent ☺

Copyright 2004 David J. Lilja25 Execution time Ultimately interested in time required to execute your program Smallest total execution time == highest performance Compare times directly Derive appropriate rates Time == fundamental metric of performance If you can’t measure time, you don’t know anything

Copyright 2004 David J. Lilja26 Execution time “Stopwatch” measured execution time Start_count = read_timer(); Portion of program to be measured Stop_count = read_timer(); Elapsed_time = (stop_count – start_count) * clock_period; Measures “wall clock” time Includes I/O waits, time-sharing, OS overhead, … “CPU time” -- include only processor time

Copyright 2004 David J. Lilja27 Execution time Best to report both wall clock and CPU times Includes system noise effects Background OS tasks Virtual to physical page mapping Random cache mapping and replacement Variable system load Report both mean and variance (more later) Linear ☺ Reliable ☺ Repeatable ≈☺≈☺ Easy to measure ☺ Consistent ☺ Independent ☺

Copyright 2004 David J. Lilja28 Performance metrics summary ClockMIPSMFLOPSSPECQUIPSTIME Linear ≈☺≈☺☺ Reliable ≈☺≈☺ Repeatable ☺☺☺☺☺☺ Easy to measure ☺☺☺ ½☺½☺☺☺ Consistent ☺☺☺☺ Independent ☺☺☺☺

Copyright 2004 David J. Lilja29 Other metrics Response time Elapsed time from request to response Throughput Jobs, operations completed per unit time E.g. video frames per second Bandwidth Bits per second Ad hoc metrics Defined for a specific need

Copyright 2004 David J. Lilja30 Means vs. ends metrics Means-based metrics Measure what was done Whether or not it was useful! Nop instructions, multiply by zero, … Produces unreliable metrics Ends-based metrics Measures progress towards a goal Only counts what is actually accomplished

Copyright 2004 David J. Lilja31 Means vs. ends metrics Means-based Ends-based Clock rate MIPS MFLOPS SPEC QUIPS Execution time

Copyright 2004 David J. Lilja32 Speedup Speedup of System 1 w.r.t System 2 S 2,1 such that: R 2 = S 2,1 R 1 R 1 = “speed” of System 1 R 2 = “speed” of System 2 System 2 is S 2,1 times faster than System 1

Copyright 2004 David J. Lilja33 Speedup “Speed” is a rate metric R i = D i / T i D i ~ “distance traveled” by System i Run the same benchmark program on both systems → D 1 = D 2 = D Total work done by each system is defined to be “execution of the same program” Independent of architectural differences

Copyright 2004 David J. Lilja34 Speedup

Copyright 2004 David J. Lilja35 Speedup

Copyright 2004 David J. Lilja36 Relative change Performance of System 2 relative to System 1 as percent change

Copyright 2004 David J. Lilja37 Relative change

Copyright 2004 David J. Lilja38 Relative change

Copyright 2004 David J. Lilja39 Important Points Metrics can be Counts Durations Sizes Some combination of the above

Copyright 2004 David J. Lilja40 Important Points Good metrics are Linear More “natural” Reliable Useful for comparison and prediction Repeatable Easy to use Consistent Definition is the same across different systems Independent of outside influences

Copyright 2004 David J. Lilja41 Important Points Not-so-good metric Better metrics Clock rate MIPS MFLOPS SPEC QUIPS Execution time

Copyright 2004 David J. Lilja42 Important Points Speedup = T2 / T1 Relative change = Speedup - 1