1/18/02CSE 141 - Performance I Measuring Performance Part I.

Slides:



Advertisements
Similar presentations
CS1104: Computer Organisation School of Computing National University of Singapore.
Advertisements

Performance What differences do we see in performance? Almost all computers operate correctly (within reason) Most computers implement useful operations.
Performance Evaluation of Architectures Vittorio Zaccaria.
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
100 Performance ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
Chapter 4 Assessing and Understanding Performance Bo Cheng.
Performance D. A. Patterson and J. L. Hennessey, Computer Organization & Design: The Hardware Software Interface, Morgan Kauffman, second edition 1998.
Computer Performance Evaluation: Cycles Per Instruction (CPI)
EECE476: Computer Architecture Lecture 11: Understanding and Assessing Performance Chapter 4.1, 4.2 The University of British ColumbiaEECE 476© 2005 Guy.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
Chapter 4 Assessing and Understanding Performance
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
Lecture 3: Computer Performance
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.
Computer Organization and Design Performance Montek Singh Mon, April 4, 2011 Lecture 13.
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.
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.
2016/5/26\ELEG323-08F\Topic4.ppt1 Topics 4: Performance Measurement Introduction to Computer Systems Engineering (CPEG 323)
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.
B0111 Performance Anxiety ENGR xD52 Eric VanWyk Fall 2012.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
Performance David Monismith Jan. 16, 2015 Based on notes from Dr. Bill Siever and from the Patterson and Hennessy Text.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
1 Acknowledgements Class notes based upon Patterson & Hennessy: Book & Lecture Notes Patterson’s 1997 course notes (U.C. Berkeley CS 152, 1997) Tom Fountain.
Performance.
Computer Performance Computer Engineering Department.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
CSE2021: Computer Organization Instructor: Dr. Amir Asif Department of Computer Science York University Handout # 2: Measuring Performance Topics: 1. Performance:
1  1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the performance.
Performance Performance
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.
Lecture 5: 9/10/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
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
EGRE 426 Computer Organization and Design Chapter 4.
Performance Computer Organization II 1 Computer Science Dept Va Tech January 2009 © McQuain & Ribbens Defining Performance Which airplane has.
ECE/CS 552: Performance and Cost © Prof. Mikko Lipasti Lecture notes based in part on slides created by Mark Hill, David Wood, Guri Sohi, John Shen and.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
B0111 Performance Anxiety ENGR xD52 Eric VanWyk Fall 2012.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
Measuring Performance Based on slides by Henri Casanova.
June 20, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 1: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed.
BITS Pilani, Pilani Campus Today’s Agenda Role of Performance.
Additional Examples CSE420/598, Fall 2008.
Performance. Moore's Law Moore's Law Related Curves.
Measuring Performance II and Logic Design
Computer Architecture & Operations I
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
September 2 Performance Read 3.1 through 3.4 for Tuesday
Performance Performance The CPU Performance Equation:
How do we evaluate computer architectures?
Defining Performance Which airplane has the best performance?
Computer Architecture & Operations I
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS2100 Computer Organisation
Computer Performance He said, to speed things up we need to squeeze the clock.
Morgan Kaufmann Publishers Computer Performance
Computer Performance Read Chapter 4
Performance.
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Computer Organization and Design Chapter 4
Presentation transcript:

1/18/02CSE Performance I Measuring Performance Part I

CSE Performance I2 Performance Marches On... But what is performance?

CSE Performance I3 Time versus throughput ° Time to do the task from start to finish – execution time, response time, latency ° Tasks per unit time – throughput, bandwidth Vehicle Ferrari Greyhound Speed 160 mph 65 mph Time to Bay Area 3.1 hours 7.7 hours Passengers 2 60 Throughput (pm/h) mostly used for data movement

CSE Performance I4 Time versus throughput Time is measured in time units/job. Throughput is measured in jobs/time unit. But “time = 1/throughput” may be false. –It takes 4 months to grow a tomato. Can you only grow 3 tomatoes a year ?? –If you run only one job at a time, time = 1/throughput

CSE Performance I5 How do you measure Execution Time? user CPU time? (time CPU spends running your code) total CPU time (user + kernel) ? (includes op. sys. code) Wallclock time? (total elapsed time) –Includes time spent waiting for I/O, other users,... Answer depends... For measuring processor speed, we can use total CPU. –If no I/O or interrupts, wallclock may be better more precise (microseconds rather than 1/100 sec) can measure individual sections of code > time foo... foo’s results u 12.9s 2:39 65% > user + kernel wallclock

CSE Performance I6 Performance For “performance”, larger should be better. –Time is backwards - larger execution time is worse. CPU performance = 1 / total CPU time System performance = 1 / wallclock time These terms only make sense if you know what program is measured... –e.g. “The performance on Linpack was 200 MFLOP/S” and if CPU or system only works on 1 program at a time. –This may all change in the next few years! Performance’s units, “inverse seconds”, can be awkward –Can answer “What was performance?” by “It took 15 seconds.”

CSE Performance I7 A brief study of time CPU Time = CPU cycles executed * Cycle times Every conventional processor has a clock with a fixed cycle time or clock rate Rate often measured in MHz = millions of cycles/second Time often measured in ns (nanoseconds) X MHz corresponds to 1000/X ns (e.g. 500 MHz  2 ns clock) CPU cycles = Instructions executed * CPI Average Clock Cycles per Instruction

CSE Performance I8 Putting it all together CPU Execution Time Instruction Count CPI Clock Cycle Time = XX instructions/program cycles/instruction seconds/cycle seconds Note: CPI is somewhat artificial (it’s computed from the other numbers using this formula) but it’s an intuitive and useful concept. Note: Use dynamic instruction count (#instructions executed), not static (#instructions in compiled code) One of P&H’s “big pictures”

CSE Performance I9 Explaining performance variation CPU Execution Time Instruction Count CPI Clock Cycle Time = XX Same machine, different programs Same program, different machines, but same ISA Same program, different ISA’s

CSE Performance I10 Comparing performance The fundamental question: Will computer A will run program P faster than computer B? Compare clock rates? –Will a 1.7 GHz PC be faster than a 867 MHz Mac?? –Not necessarily – CPI or Instruction Count may differ. see (Photoshop benchmark) Peak MIPS rate? (MIPS = Millions of Instructions / sec) –PowerPC G4 can execute 4 instruction/cycle (CPI=1/4) –867 MHz clock  3468 MIPS peak –But it doesn’t necessarily execute that quickly.

CSE Performance I11 Comparing performance The fundamental question: Will computer A will run program P faster than computer B? Compare actual MIPS rate on program P? –MIPS = 1 / (CPI x Cycle time) (in microseconds) –If Instruction Counts are the same, this is OK E.g., comparing two implementations of same ISA –Otherwise, actual MIPS doesn’t answer question.

CSE Performance I12 Comparing performance The fundamental question: Will computer A will run program P faster than computer B? Relative MIPS ? –Defined as, “How much faster is this computer than a Vax 11 model 780 (on some benchmark programs)” –If the benchmark is similar to P, this may give the right answer.

CSE Performance I13 What about MFLOP/S? Millions of Floating Point Ops per Second –Often written MFLOPS. “Peak MFLOP/S” (like peak MIPS) is useless. –maximum float ops per cycle / cycle time (in microseconds) “Normalized MFLOP/S” uses conventions (e.g. “divide counts as three float ops”) so “flop count” of a program is machine-independent. –OK for floating-point intensive programs –Depends on program - a better MFLOP/S rate on program P doesn’t guarantee better performance on Q.

CSE Performance I14 Relative Performance “Computer X is r times faster than Y” means Perf(X) / Perf(Y) = r (i.e. Time(Y) / Time(X) = r) Note the swapping of which goes on top when you use times

CSE Performance I15 Comparing speeds... “times faster than” (or “times as fast as”) means there’s a multiplicative factor relating quantities –“X was 3 time faster than Y”  speed(X) = 3 speed(Y) “percent faster than” implies an additive relationship –“X was 25% faster than Y”  speed(X) = (1+25/100) speed(Y) “percent slower than” implies subtraction –“X was 5% slower than Y”  speed(X) = (1-5/100) speed(Y) –“100% slower” means it doesn’t move at all ! “times slower than” or “times as slow as” is awkward. –“X was 3 times slower than Y” means speed(X) = 1/3 speed(Y) –It hints at having a measure of “slowness” –I’ll mostly avoid using this.

CSE Performance I16 Percentages aren’t intuitive! If X is p% faster than Y, is Y p% slower than X? –X is p% faster  speed(X) = (1+p/100) speed(Y) so speed(Y) = 1/(1+p/100) speed(X) –Y is p% slower  speed(Y) = (1-p/100) speed(X) No! 1/(1+p/100) is not (1 – p/100) (unless p=0) Suppose X is p% faster than Y and Y q% faster than Z. Is X (p+q)% faster than Z ??

CSE Performance I17 “Times faster” is easier! X is r times faster than Y  speed(X) = r speed(Y)  speed(Y) = 1/r speed(X)  Y is r times slower than X X is r times faster than Y, & Y is s times faster than Z  speed(X) = r speed(Y) = rs speed(Z)  X is rs faster than Z Advice: Convert “% faster” to “times faster” then do calculation and convert back if needed. Example: change “25% faster” to “5/4 times faster”.

CSE Performance I18 Machine of the day: Turing Machine Published 1936 by Alan Turing Extremely simple ISA “Universal” Turing machine (with about 20 states and 4 symbols) can do any computable function. –Program and data are written on the same tape Footnotes: Turing went on to work on real computer pencil eraser State , go L 0, go R 1 0, go R 1, go R

CSE Performance I19 Machine of the day: Turing Machine Used to prove some functions are uncomputable Turing machine only of theoretical interest –still remarkable – had elements of real computer Turing worked on “Bombe” computer during WW II –cracked German codes; greatly helped Allied victory After war, designed a general purpose computer (not built), proposed ideas of programming languages, neural nets, and the “Turing test”. Turing persecuted as homosexual; committed suicide