1 Lecture 2: Metrics to Evaluate Systems Topics: Power and technology trends wrap-up, benchmark suites, performance equation, summarizing performance with.

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

CS1104: Computer Organisation School of Computing National University of Singapore.
Computer Abstractions and Technology
Power Reduction Techniques For Microprocessor Systems
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Evaluating Performance
Lecture 2: Modern Trends 1. 2 Microprocessor Performance Only 7% improvement in memory performance every year! 50% improvement in microprocessor performance.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
1 Lecture 2: System Metrics and Pipelining Today’s topics: (Sections 1.5 – 1.10)  Power/Energy examples  Performance summaries  Measuring cost and dependability.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
CS 7810 Lecture 12 Power-Aware Microarchitecture: Design and Modeling Challenges for Next-Generation Microprocessors D. Brooks et al. IEEE Micro, Nov/Dec.
1 Lecture 2: System Metrics and Pipelining Today’s topics: (Sections 1.6, 1.7, 1.9, A.1)  Quantitative principles of computer design  Measuring cost.
1 Lecture 2: System Metrics and Pipelining Today’s topics: (Sections 1.6, 1.7, 1.9, A.1)  Performance summaries  Quantitative principles of computer.
1 Lecture 11: Digital Design Today’s topics:  Evaluating a system  Intro to boolean functions.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
Chapter 4 Assessing and Understanding Performance
Lecture: Pipelining Basics
1 Lecture 1: CS/ECE 3810 Introduction Today’s topics:  logistics  why computer organization is important  modern trends.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
1 Lecture 10: FP, Performance Metrics Today’s topics:  IEEE 754 representations  FP arithmetic  Evaluating a system Reminder: assignment 4 due in a.
1 Lecture 2: Measuring Performance/Cost/Power Today’s topics: (Sections 1.6, 1.4, 1.7, 1.8)  Quantitative principles of computer design  Measuring cost.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI.
1 Computer Performance: Metrics, Measurement, & Evaluation.
Folklore Confirmed: Compiling for Speed = Compiling for Energy Tomofumi Yuki INRIA, Rennes Sanjay Rajopadhye Colorado State University 1.
Computer Performance Computer Engineering Department.
Lecture 03: Fundamentals of Computer Design - Trends and Performance Kai Bu
Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 5810/6810: Hennessy.
1 CS/EE 6810: Computer Architecture Class format:  Most lectures on YouTube *BEFORE* class  Use class time for discussions, clarifications, problem-solving,
MS108 Computer System I Lecture 2 Metrics Prof. Xiaoyao Liang 2014/2/28 1.
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.
CDA 3101 Fall 2013 Introduction to Computer Organization Computer Performance 28 August 2013.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
Computer Performance Computer Engineering Department.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
Morgan Kaufmann Publishers
Performance Performance
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
4. Performance 4.1 Introduction 4.2 CPU Performance and Its Factors
1 Lecture: Metrics to Evaluate Performance Topics: Benchmark suites, Performance equation, Summarizing performance with AM, GM, HM  Video 1: Using AM.
1 Lecture 2: Metrics to Evaluate Systems Topics: Metrics: power, reliability, cost, benchmark suites, performance equation, summarizing performance with.
1 Lecture: Static ILP Topics: predication, speculation (Sections C.5, 3.2)
1 Lecture 3: Pipelining Basics Today: chapter 1 wrap-up, basic pipelining implementation (Sections C.1 - C.4) Reminders:  Sign up for the class mailing.
CS203 – Advanced Computer Architecture
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.
1 Lecture: Benchmarks, Pipelining Intro Topics: Performance equations wrap-up, Intro to pipelining.
CS203 – Advanced Computer Architecture
High Performance Computer Architecture:
Lecture 2: Performance Today’s topics:
Lecture 2: Performance Evaluation
Lecture 3: MIPS Instruction Set
Green cloud computing 2 Cs 595 Lecture 15.
Lecture: Branch Prediction
Lecture: Branch Prediction
Morgan Kaufmann Publishers
Lecture 2: Performance Today’s topics: Technology wrap-up
Computer Architecture
Performance of computer systems
The University of Adelaide, School of Computer Science
Lecture 3: MIPS Instruction Set
The University of Adelaide, School of Computer Science
Performance of computer systems
Parameters that affect it How to improve it and by how much
The University of Adelaide, School of Computer Science
Utsunomiya University
Presentation transcript:

1 Lecture 2: Metrics to Evaluate Systems Topics: Power and technology trends wrap-up, benchmark suites, performance equation, summarizing performance with AM, GM, HM Sign up for the class mailing list!  Video 1: Using AM as a performance summary  Video 2: GM, Performance Equation  Video 3: AM vs. HM vs. GM

2 Power Consumption Trends Dyn power  activity x capacitance x voltage 2 x frequency Capacitance per transistor and voltage are decreasing, but number of transistors is increasing at a faster rate; hence clock frequency must be kept steady Leakage power is also rising; is a function of transistor count, leakage current, and supply voltage Power consumption is already between W in high-performance processors today Energy = power x time = (dynpower + lkgpower) x time

3 Problem 1 For a processor running at 100% utilization at 100 W, 20% of the power is attributed to leakage. What is the total power dissipation when the processor is running at 50% utilization?

4 Problem 1 For a processor running at 100% utilization at 100 W, 20% of the power is attributed to leakage. What is the total power dissipation when the processor is running at 50% utilization? Total power = dynamic power + leakage power = 80W x 50% + 20W = 60W

5 Power Vs. Energy Energy is the ultimate metric: it tells us the true “cost” of performing a fixed task Power (energy/time) poses constraints; can only work fast enough to max out the power delivery or cooling solution If processor A consumes 1.2x the power of processor B, but finishes the task in 30% less time, its relative energy is 1.2 X 0.7 = 0.84; Proc-A is better, assuming that 1.2x power can be supported by the system

6 Problem 2 If processor A consumes 1.4x the power of processor B, but finishes the task in 20% less time, which processor would you pick: (a) if you were constrained by power delivery constraints? (b) if you were trying to minimize energy per operation? (c) if you were trying to minimize response times?

7 Problem 2 If processor A consumes 1.4x the power of processor B, but finishes the task in 20% less time, which processor would you pick: (a) if you were constrained by power delivery constraints? Proc-B (b) if you were trying to minimize energy per operation? Proc-A is 1.4x0.8 = 1.12 times the energy of Proc-B (c) if you were trying to minimize response times? Proc-A is faster, but we could scale up the frequency (and power) of Proc-B and match Proc-A’s response time (while still doing better in terms of power and energy)

8 Reducing Power and Energy Can gate off transistors that are inactive (reduces leakage) Design for typical case and throttle down when activity exceeds a threshold DFS: Dynamic frequency scaling -- only reduces frequency and dynamic power, but hurts energy DVFS: Dynamic voltage and frequency scaling – can reduce voltage and frequency by (say) 10%; can slow a program by (say) 8%, but reduce dynamic power by 27%, reduce total power by (say) 23%, reduce total energy by 17% (Note: voltage drop  slow transistor  freq drop)

9 Problem 3 Processor-A at 3 GHz consumes 80 W of dynamic power and 20 W of static power. It completes a program in 20 seconds. What is the energy consumption if I scale frequency down by 20%? What is the energy consumption if I scale frequency and voltage down by 20%?

10 Problem 3 Processor-A at 3 GHz consumes 80 W of dynamic power and 20 W of static power. It completes a program in 20 seconds. What is the energy consumption if I scale frequency down by 20%? New dynamic power = 64W; New static power = 20W New execution time = 25 secs (assuming CPU-bound) Energy = 84 W x 25 secs = 2100 Joules What is the energy consumption if I scale frequency and voltage down by 20%? New DP = 41W; New static power = 16W; New exec time = 25 secs; Energy = 1425 Joules

11 Other Technology Trends DRAM density increases by 40-60% per year, latency has reduced by 33% in 10 years (the memory wall!), bandwidth improves twice as fast as latency decreases Disk density improves by 100% every year, latency improvement similar to DRAM Emergence of NVRAM technologies that can provide a bridge between DRAM and hard disk drives Also, growing concerns over reliability (since transistors are smaller, operating at low voltages, and there are so many of them)

12 Defining Reliability and Availability A system toggles between  Service accomplishment: service matches specifications  Service interruption: services deviates from specs The toggle is caused by failures and restorations Reliability measures continuous service accomplishment and is usually expressed as mean time to failure (MTTF) Availability measures fraction of time that service matches specifications, expressed as MTTF / (MTTF + MTTR)

13 Cost Cost is determined by many factors: volume, yield, manufacturing maturity, processing steps, etc. One important determinant: area of the chip Small area  more chips per wafer Small area  one defect leads us to discard a small-area chip, i.e., yield goes up Roughly speaking, half the area  one-third the cost

14 Measuring Performance Two primary metrics: wall clock time (response time for a program) and throughput (jobs performed in unit time) To optimize throughput, must ensure that there is minimal waste of resources

15 Benchmark Suites Performance is measured with benchmark suites: a collection of programs that are likely relevant to the user  SPEC CPU 2006: cpu-oriented programs (for desktops)  SPECweb, TPC: throughput-oriented (for servers)  EEMBC: for embedded processors/workloads

16 Summarizing Performance Consider 25 programs from a benchmark set – how do we capture the behavior of all 25 programs with a single number? P1 P2 P3 Sys-A Sys-B Sys-C  Sum of execution times (AM)  Sum of weighted execution times (AM)  Geometric mean of execution times (GM)

17 Problem 4 Consider 3 programs from a benchmark set. Assume that system-A is the reference machine. How does the performance of system-C compare against that of system-B (for all 3 metrics)? P1 P2 P3 Sys-A Sys-B Sys-C  Sum of execution times (AM)  Sum of weighted execution times (AM)  Geometric mean of execution times (GM)

18 Problem 4 Consider 3 programs from a benchmark set. Assume that system-A is the reference machine. How does the performance of system-C compare against that of system-B (for all 3 metrics)? P1 P2 P3 S.E.T S.W.E.T GM Sys-A Sys-B Sys-C  Relative to C, B provides a speedup of 1.03 (S.W.E.T) or 1.01 (GM) or 0.94 (S.E.T)  Relative to C, B reduces execution time by 3.3% (S.W.E.T) or 1% (GM) or -6.7% (S.E.T)

19 Sum of Weighted Exec Times – Example We fixed a reference machine X and ran 4 programs A, B, C, D on it such that each program ran for 1 second The exact same workload (the four programs execute the same number of instructions that they did on machine X) is run on a new machine Y and the execution times for each program are 0.8, 1.1, 0.5, 2 With AM of normalized execution times, we can conclude that Y is 1.1 times slower than X – perhaps, not for all workloads, but definitely for one specific workload (where all programs run on the ref-machine for an equal #cycles)

20 Summarizing Performance Consider 25 programs from a benchmark set – how do we capture the behavior of all 25 programs with a single number? P1 P2 P3 Sys-A Sys-B Sys-C  Sum of execution times (AM)  Sum of weighted execution times (AM)  Geometric mean of execution times (GM) (may find inconsistencies here)

21 GM Example Computer-A Computer-B Computer-C P1 1 sec 10 secs 20 secs P secs 100 secs 20 secs Conclusion with GMs: (i) A=B (ii) C is ~1.6 times faster For (i) to be true, P1 must occur 100 times for every occurrence of P2 With the above assumption, (ii) is no longer true Hence, GM can lead to inconsistencies

22 Summarizing Performance GM: does not require a reference machine, but does not predict performance very well  So we multiplied execution times and determined that sys-A is 1.2x faster…but on what workload? AM: does predict performance for a specific workload, but that workload was determined by executing programs on a reference machine  Every year or so, the reference machine will have to be updated

23 CPU Performance Equation Clock cycle time = 1 / clock speed CPU time = clock cycle time x cycles per instruction x number of instructions Influencing factors for each:  clock cycle time: technology and pipeline  CPI: architecture and instruction set design  instruction count: instruction set design and compiler CPI (cycles per instruction) or IPC (instructions per cycle) can not be accurately estimated analytically

24 Problem 5 My new laptop has an IPC that is 20% worse than my old laptop. It has a clock speed that is 30% higher than the old laptop. I’m running the same binaries on both machines. What speedup is my new laptop providing?

25 Problem 5 My new laptop has an IPC that is 20% worse than my old laptop. It has a clock speed that is 30% higher than the old laptop. I’m running the same binaries on both machines. What speedup is my new laptop providing? Exec time = cycle time * CPI * instrs Perf = clock speed * IPC / instrs Speedup = new perf / old perf = new clock speed * new IPC / old clock speed * old IPC = 1.3 * 0.8 = 1.04

26 An Alternative Perspective - I Each program is assumed to run for an equal number of cycles, so we’re fair to each program The number of instructions executed per cycle is a measure of how well a program is doing on a system The appropriate summary measure is sum of IPCs or AM of IPCs = 1.2 instr instr instr cyc cyc cyc This measure implicitly assumes that 1 instr in prog-A has the same importance as 1 instr in prog-B

27 An Alternative Perspective - II Each program is assumed to run for an equal number of instructions, so we’re fair to each program The number of cycles required per instruction is a measure of how well a program is doing on a system The appropriate summary measure is sum of CPIs or AM of CPIs = 0.8 cyc cyc cyc instr instr instr This measure implicitly assumes that 1 instr in prog-A has the same importance as 1 instr in prog-B

28 AM and HM Note that AM of IPCs = 1 / HM of CPIs and AM of CPIs = 1 / HM of IPCs So if the programs in a benchmark suite are weighted such that each runs for an equal number of cycles, then AM of IPCs or HM of CPIs are both appropriate measures If the programs in a benchmark suite are weighted such that each runs for an equal number of instructions, then AM of CPIs or HM of IPCs are both appropriate measures

29 AM vs. GM GM of IPCs = 1 / GM of CPIs AM of IPCs represents thruput for a workload where each program runs sequentially for 1 cycle each; but high-IPC programs contribute more to the AM GM of IPCs does not represent run-time for any real workload (what does it mean to multiply instructions?); but every program’s IPC contributes equally to the final measure

30 Problem 6 My new laptop has a clock speed that is 30% higher than the old laptop. I’m running the same binaries on both machines. Their IPCs are listed below. I run the binaries such that each binary gets an equal share of CPU time. What speedup is my new laptop providing? P1 P2 P3 Old-IPC New-IPC

31 Problem 6 My new laptop has a clock speed that is 30% higher than the old laptop. I’m running the same binaries on both machines. Their IPCs are listed below. I run the binaries such that each binary gets an equal share of CPU time. What speedup is my new laptop providing? P1 P2 P3 AM GM Old-IPC New-IPC AM of IPCs is the right measure. Could have also used GM. Speedup with AM would be 1.3.

32 Speedup Vs. Percentage “Speedup” is a ratio = old exec time / new exec time “Improvement”, “Increase”, “Decrease” usually refer to percentage relative to the baseline = (new perf – old perf) / old perf A program ran in 100 seconds on my old laptop and in 70 seconds on my new laptop  What is the speedup?  What is the percentage increase in performance?  What is the reduction in execution time?

33 Title Bullet