We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byJosephine Bishop
Modified about 1 year ago
Performance COE 308 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 2 How can we make intelligent choices about computers? Why is some computer hardware performs better at some programs, but performs less at other programs? How do we measure the performance of a computer? What factors are hardware related? software related? How does machine’s instruction set affect performance? Understanding performance is key to understanding underlying organizational motivation What is Performance?
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 3 Response Time and Throughput Response Time Time between start and completion of a task, as observed by end user Response Time = CPU Time + Waiting Time (I/O, OS scheduling, etc.) Throughput Number of tasks the machine can run in a given period of time Decreasing execution time improves throughput Example: using a faster version of a processor Less time to run a task more tasks can be executed Increasing throughput can also improve response time Example: increasing number of processors in a multiprocessor More tasks can be executed in parallel Execution time of individual sequential tasks is not changed But less waiting time in scheduling queue reduces response time
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 4 For some program running on machine X X is n times faster than Y Book’s Definition of Performance Execution time X 1 Performance X = Performance Y Performance X Execution time X Execution time Y = n=
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 5 Real Elapsed Time Counts everything: Waiting time, Input/output, disk access, OS scheduling, … etc. Useful number, but often not good for comparison purposes Our Focus: CPU Execution Time Time spent while executing the program instructions Doesn't count the waiting time for I/O or OS scheduling Can be measured in seconds, or Can be related to number of CPU clock cycles What do we mean by Execution Time?
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 6 Clock cycle = Clock period = 1 / Clock rate Clock rate = Clock frequency = Cycles per second 1 Hz = 1 cycle/sec1 KHz = 10 3 cycles/sec 1 MHz = 10 6 cycles/sec1 GHz = 10 9 cycles/sec 2 GHz clock has a cycle time = 1/(2×10 9 ) = 0.5 nanosecond (ns) We often use clock cycles to report CPU execution time Clock Cycles Cycle 1Cycle 2Cycle 3 CPU Execution Time = CPU cycles × cycle time Clock rate CPU cycles =
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 7 Improving Performance To improve performance, we need to Reduce number of clock cycles required by a program, or Reduce clock cycle time (increase the clock rate) Example: A program runs in 10 seconds on computer X with 2 GHz clock What is the number of CPU cycles on computer X ? We want to design computer Y to run same program in 6 seconds But computer Y requires 10% more cycles to execute program What is the clock rate for computer Y ? Solution: CPU cycles on computer X = 10 sec × 2 × 10 9 cycles/s = 20 × 10 9 CPU cycles on computer Y = 1.1 × 20 × 10 9 = 22 × 10 9 cycles Clock rate for computer Y = 22 × 10 9 cycles / 6 sec = 3.67 GHz
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 8 Instructions take different number of cycles to execute Multiplication takes more time than addition Floating point operations take longer than integer ones Accessing memory takes more time than accessing registers CPI is an average number of clock cycles per instruction Important point Changing the cycle time often changes the number of cycles required for various instructions (more later) Clock Cycles per Instruction (CPI) 1 I1 cycles I2I3I6I4I5I CPI =14/7 = 2
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 9 To execute, a given program will require … Some number of machine instructions Some number of clock cycles Some number of seconds We can relate CPU clock cycles to instruction count Performance Equation: (related to instruction count) Performance Equation CPU cycles = Instruction Count × CPI Time = Instruction Count × CPI × cycle time
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 10 I-CountCPICycle ProgramX CompilerXX ISAXXX OrganizationXX TechnologyX Understanding Performance Equation Time = Instruction Count × CPI × cycle time
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 11 Suppose we have two implementations of the same ISA For a given program Machine A has a clock cycle time of 250 ps and a CPI of 2.0 Machine B has a clock cycle time of 500 ps and a CPI of 1.2 Which machine is faster for this program, and by how much? Solution: Both computer execute same count of instructions = I CPU execution time (A) = I × 2.0 × 250 ps = 500 × I ps CPU execution time (B) = I × 1.2 × 500 ps = 600 × I ps Computer A is faster than B by a factor = = 1.2 Using the Performance Equation 600 × I 500 × I
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 12 Determining the CPI Different types of instructions have different CPI Let CPI i = clocks per instruction for class i of instructions Let C i = instruction count for class i of instructions Designers often obtain CPI by a detailed simulation Hardware counters are also used for operational CPUs CPU cycles = (CPI i × C i ) i = 1 n ∑ CPI = (CPI i × C i ) i = 1 n ∑ n ∑ CiCi
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 13 Example on Determining the CPI Problem A compiler designer is trying to decide between two code sequences for a particular machine. Based on the hardware implementation, there are three different classes of instructions: class A, class B, and class C, and they require one, two, and three cycles per instruction, respectively. The first code sequence has 5 instructions:2 of A, 1 of B, and 2 of C The second sequence has 6 instructions:4 of A, 1 of B, and 1 of C Compute the CPU cycles for each sequence. Which sequence is faster? What is the CPI for each sequence? Solution CPU cycles (1 st sequence) = (2×1) + (1×2) + (2×3) = = 10 cycles CPU cycles (2 nd sequence) = (4×1) + (1×2) + (1×3) = = 9 cycles Second sequence is faster, even though it executes one extra instruction CPI (1 st sequence) = 10/5 = 2CPI (2 nd sequence) = 9/6 = 1.5
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 14 Given: instruction mix of a program on a RISC processor What is average CPI? What is the percent of time used by each instruction class? Class i Freq i CPI i ALU50%1 Load20%5 Store10%3 Branch20%2 How faster would the machine be if load time is 2 cycles? What if two ALU instructions could be executed at once? Second Example on CPI CPI i × Freq i 0.5×1 = ×5 = ×3 = ×2 = 0.4 %Time 0.5/2.2 = 23% 1.0/2.2 = 45% 0.3/2.2 = 14% 0.4/2.2 = 18% Average CPI = = 2.2
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 15 MIPS: Millions Instructions Per Second Sometimes used as performance metric Faster machine larger MIPS MIPS specifies instruction execution rate We can also relate execution time to MIPS MIPS as a Performance Measure Instruction Count Execution Time × 10 6 Clock Rate CPI × 10 6 MIPS == Inst Count MIPS × 10 6 Inst Count × CPI Clock Rate Execution Time ==
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 16 Drawbacks of MIPS Three problems using MIPS as a performance metric 1.Does not take into account the capability of instructions Cannot use MIPS to compare computers with different instruction sets because the instruction count will differ 2.MIPS varies between programs on the same computer A computer cannot have a single MIPS rating for all programs 3.MIPS can vary inversely with performance A higher MIPS rating does not always mean better performance Example in next slide shows this anomalous behavior
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 17 Two different compilers are being tested on the same program for a 4 GHz machine with three different classes of instructions: Class A, Class B, and Class C, which require 1, 2, and 3 cycles, respectively. The instruction count produced by the first compiler is 5 billion Class A instructions, 1 billion Class B instructions, and 1 billion Class C instructions. The second compiler produces 10 billion Class A instructions, 1 billion Class B instructions, and 1 billion Class C instructions. Which compiler produces a higher MIPS? Which compiler produces a better execution time? MIPS example
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 18 Solution to MIPS Example First, we find the CPU cycles for both compilers CPU cycles (compiler 1) = (5×1 + 1×2 + 1×3)×10 9 = 10×10 9 CPU cycles (compiler 2) = (10×1 + 1×2 + 1×3)×10 9 = 15×10 9 Next, we find the execution time for both compilers Execution time (compiler 1) = 10×10 9 cycles / 4×10 9 Hz = 2.5 sec Execution time (compiler 2) = 15×10 9 cycles / 4×10 9 Hz = 3.75 sec Compiler1 generates faster program (less execution time) Now, we compute MIPS rate for both compilers MIPS = Instruction Count / (Execution Time × 10 6 ) MIPS (compiler 1) = (5+1+1) × 10 9 / (2.5 × 10 6 ) = 2800 MIPS (compiler 2) = (10+1+1) × 10 9 / (3.75 × 10 6 ) = 3200 So, code from compiler 2 has a higher MIPS rating !!!
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 19 Amdahl’s Law Amdahl's Law is a measure of Speedup How a computer performs after an enhancement E Relative to how it performed previously Enhancement improves a fraction f of execution time by a factor s and the remaining time is unaffected Performance with E Performance before ExTime before ExTime with E Speedup(E) == ExTime with E = ExTime before × (f / s + (1 – f )) Speedup(E) = (f / s + (1 – f )) 1
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 20 Suppose a program runs in 100 seconds on a machine, with multiply responsible for 80 seconds of this time. How much do we have to improve the speed of multiplication if we want the program to run 4 times faster? Solution: suppose we improve multiplication by a factor s 25 sec (4 times faster) = 80 sec / s + 20 sec s = 80 / (25 – 20) = 80 / 5 = 16 Improve the speed of multiplication by s = 16 times How about making the program 5 times faster? 20 sec ( 5 times faster) = 80 sec / s + 20 sec s = 80 / (20 – 20) = ∞ Impossible to make 5 times faster! Example on Amdahl's Law
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 21 Benchmarks Performance best obtained by running a real application Use programs typical of expected workload Representatives of expected classes of applications Examples: compilers, editors, scientific applications, graphics,... SPEC (System Performance Evaluation Corporation) Funded and supported by a number of computer vendors Companies have agreed on a set of real program and inputs Various benchmarks for … CPU performance, graphics, high-performance computing, client- server models, file systems, Web servers, etc. Valuable indicator of performance (and compiler technology)
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 22 The SPEC CPU2000 Benchmarks 12 Integer benchmarks (C and C++)14 FP benchmarks (Fortran 77, 90, and C) Name Description Name Description gzipCompressionwupwiseQuantum chromodynamics vprFPGA placement and routingswimShallow water model gccGNU C compilermgridMultigrid solver in 3D potential field mcfCombinatorial optimizationappluPartial differential equation craftyChess programmesaThree-dimensional graphics library parserWord processing programgalgelComputational fluid dynamics eonComputer visualizationartNeural networks image recognition perlbmkPerl applicationequakeSeismic wave propagation simulation gapGroup theory, interpreterfacerecImage recognition of faces vortexObject-oriented databaseammpComputational chemistry bzip2CompressionlucasPrimality testing twolfPlace and route simulatorfma3dCrash simulation using finite elements sixtrackHigh-energy nuclear physics apsiMeteorology: pollutant distribution Wall clock time is used as metric Benchmarks measure CPU time, because of little I/O
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 23 SPEC 2000 Ratings (Pentium III & 4) SPEC ratio = Execution time is normalized relative to Sun Ultra 5 (300 MHz) SPEC rating = Geometric mean of SPEC ratios Note the relative positions of the CINT and CFP 2000 curves for the Pentium III & 4 Pentium III does better at the integer benchmarks, while Pentium 4 does better at the floating-point benchmarks due to its advanced SSE2 instructions
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 24 Performance and Power Power is a key limitation Battery capacity has improved only slightly over time Need to design power-efficient processors Reduce power by Reducing frequency Reducing voltage Putting components to sleep Energy efficiency Important metric for power-limited applications Defined as performance divided by power consumption
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 25 Performance and Power
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 26 Energy Efficiency Energy efficiency of the Pentium M is highest for the SPEC2000 benchmarks Relative Energy Efficiency Always on / maximum clockLaptop mode / adaptive clockMinimum power / min clock Benchmark and power mode SPECINT 2000SPECFP 2000SPECINT 2000SPECFP 2000SPECINT 2000SPECFP 2000 Pentium 1.6/0.6 GHz Pentium 2.4/1.2 GHz Pentium 1.2/0.8 GHz
PerformanceCOE 308 – Computer Architecture© Muhamed Mudawar – slide 27 Performance is specific to a particular program Any measure of performance should reflect execution time Total execution time is a consistent summary of performance For a given ISA, performance improvements come from Increases in clock rate (without increasing the CPI) Improvements in processor organization that lower CPI Compiler enhancements that lower CPI and/or instruction count Algorithm/Language choices that affect instruction count Pitfalls (things you should avoid) Using a subset of the performance equation as a metric Expecting improvement of one aspect of a computer to increase performance proportional to the size of improvement Things to Remember
Performance COE 301 Computer Organization Dr. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Performance ICS 233 Computer Architecture and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of.
Lecture2: Performance Metrics Computer Architecture By Dr.Hadi Hassan 1/3/2016Dr. Hadi Hassan Computer Architecture 1.
Performance COE 301 / ICS 233 Computer Organization Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum.
1 Chapter 4. 2 Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational motivation.
Chapter 4 Assessing and Understanding Performance.
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
ECE-C355 Computer Structures Winter 2008 Chapter 04: Understanding Performance Slides are adapted from Professor Mary Jane Irwin (
CSE 340 Computer Architecture Summer 2014 Understanding Performance.
810:142 Lecture 2: Performance Fall 2006 Chapter 4: Performance Adapted from Mary Jane Irwin at Penn State University for Computer Organization and Design,
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
1 Computer Performance: Metrics, Measurement, & Evaluation.
1 1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the 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.
CS35101 – Computer Architecture Week 9: Understanding Performance Paul Durand ( ) [Adapted from M Irwin (www.cse.psu.edu/~mji)
Computer ArchitectureFall 2007 © September 17, 2007 Karem Sakallah CS-447– Computer Architecture.
September 10 Performance Read 3.1 through 3.4 for Wednesday Only 3 classes before 1 st Exam!
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )www.cse.psu.edu/~mji
Chapter 4 Assessing and Understanding Performance Bo Cheng.
Performance Computer Organization II 1 Computer Science Dept Va Tech January 2009 © McQuain & Ribbens Defining Performance Which airplane has.
Computer Architecture CSE 3322 Web Site crystal.uta.edu/~jpatters/cse3322 Send to Pramod Kumar, with the names and s.
Performance D. A. Patterson and J. L. Hennessey, Computer Organization & Design: The Hardware Software Interface, Morgan Kauffman, second edition 1998.
L12 – Performance 1 Comp 411 Computer Performance He said, to speed things up we need to squeeze the clock Study
Performance. Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational.
1 chapter 4 Performance –time to do the task, i.e., execution time, response time, latency, etc. –tasks finished per day, hour, week, sec, ms, ns., etc.
CSE431 L04 Understanding Performance.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 04: Understanding Performance Mary Jane Irwin (
Computer Organization and Design Performance Montek Singh Mon, April 4, 2011 Lecture 13.
Lec2.1 Computer Architecture Chapter 2 The Role of Performance.
Performance. What is performance? How to measure performance? Performance metrics Performance evaluation Why does some hardware perform better than others.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
EGRE 426 Computer Organization and Design Chapter 4.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
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.
Chapter 4. Measure, Report, and Summarize Make intelligent choices See through the marketing hype Understanding underlying organizational aspects Why.
Chapter 1 Performance & Technology Trends. Outline What is computer architecture? Performance What is performance: latency (response time), throughput.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
ECE/CS 552: Benchmarks, Means and Amdahl’s Law © Prof. Mikko Lipasti Lecture notes based in part on slides created by Mark Hill, David Wood, Guri Sohi,
1 ECE3055 Computer Architecture and Operating Systems Lecture 2 Performance Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
Lecture 3. Performance Prof. Taeweon Suh Computer Science & Engineering Korea University COSE222, COMP212, CYDF210 Computer Architecture.
1 1998 Morgan Kaufmann Publishers Chapter 2 Performance Text in blue is by N. Guydosh Updated 1/25/04*
Assessing and Understanding Performance Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made available.
1 CS465 Performance Revisited (Chapter 1) Be able to compare performance of simple system configurations and understand the performance implications of.
CMSC 611: Advanced Computer Architecture Benchmarking Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
1 CSE SUNY New Paltz Chapter 2 Performance and Its Measurement.
© 2017 SlidePlayer.com Inc. All rights reserved.