Chapter 1 Section 1.4 Dr. Iyad F. Jafar Evaluating Performance.

Slides:



Advertisements
Similar presentations
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Advertisements

COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Computer Abstractions and Technology
Power calculation for transistor operation What will cause power consumption to increase? CS2710 Computer Organization1.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Assessing and Understanding Performance Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made available.
810:142 Lecture 2: Performance Fall 2006 Chapter 4: Performance Adapted from Mary Jane Irwin at Penn State University for Computer Organization and Design,
ECE-C355 Computer Structures Winter 2008 Chapter 04: Understanding Performance Slides are adapted from Professor Mary Jane Irwin (
CSE431 L04 Understanding Performance.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 04: Understanding Performance Mary Jane Irwin (
Read Section 1.4, Section 1.7 (pp )
Computer Organization and Architecture 18 th March, 2008.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
Lec 2 Aug 31 review of lec 1 continue Ch 1 course overview performance measures Ch 1 exercises quiz 1.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
Chapter 4 Assessing and Understanding Performance Bo Cheng.
CS/ECE 3330 Computer Architecture Chapter 1 Performance / Power.
ECE 15B Computer Organization Spring 2010 Dmitri Strukov Lecture 3: Arithmetic Instructions Partially adapted from Computer Organization and Design, 4.
Assessing and Understanding Performance B. Ramamurthy Chapter 4.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Chapter 4 Assessing and Understanding Performance
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
Lecture 3: Computer Performance
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
CS 161 Spring 2009Course administration Instructor: Laxmi N. Bhuyan Office: 351 Engg. 2 Website:
CSE 340 Computer Architecture Summer 2014 Understanding Performance
CS3350B Computer Architecture Winter 2015 Performance Metrics I Marc Moreno Maza
Chapter 1 Computer Abstractions and Technology Part II.
Chapter 1 - The Computer Revolution Chapter 1 — Computer Abstractions and Technology — 1  Progress in computer technology  Underpinned by Moore’s Law.
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.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
Chapter 1 — Computer Abstractions and Technology — 1 Understanding Performance Algorithm Determines number of operations executed Programming language,
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
CDA 3101 Discussion Section 09 CPU Performance. Question 1 Suppose you wish to run a program P with 7.5 * 10 9 instructions on a 5GHz machine with a CPI.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
Chapter 1 Technology Trends and Performance. Chapter 1 — Computer Abstractions and Technology — 2 Technology Trends Electronics technology continues to.
Morgan Kaufmann Publishers
CSE2021: Computer Organization Instructor: Dr. Amir Asif Department of Computer Science York University Handout # 2: Measuring Performance Topics: 1. Performance:
Performance Performance
CS35101 – Computer Architecture Week 9: Understanding Performance Paul Durand ( ) [Adapted from M Irwin (
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.
4. Performance 4.1 Introduction 4.2 CPU Performance and Its Factors
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /03/2013 Lecture 3: Computer Performance Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE.
EGRE 426 Computer Organization and Design Chapter 4.
Chapter 1 — Computer Abstractions and Technology — 1 Uniprocessor Performance Constrained by power, instruction-level parallelism, memory latency.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
Computer Architecture CSE 3322 Web Site crystal.uta.edu/~jpatters/cse3322 Send to Pramod Kumar, with the names and s.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Modified by S. J. Fritz Spring 2009 (1) Based on slides from D. Patterson and www-inst.eecs.berkeley.edu/~cs152/ COM 249 – Computer Organization and Assembly.
Chapter 1 Performance & Technology Trends. Outline What is computer architecture? Performance What is performance: latency (response time), throughput.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
Lecture 3. Performance Prof. Taeweon Suh Computer Science & Engineering Korea University COSE222, COMP212, CYDF210 Computer Architecture.
Computer Architecture & Operations I
Morgan Kaufmann Publishers Technology Trends and Performance
Measuring Performance II and Logic Design
Computer Architecture & Operations I
CS161 – Design and Architecture of Computer Systems
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Assessing and Understanding Performance
Morgan Kaufmann Publishers
CSCE 212 Chapter 4: Assessing and Understanding Performance
Chapter 1 Computer Abstractions & Technology Performance Evaluation
CMSC 611: Advanced Computer Architecture
CMSC 611: Advanced Computer Architecture
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

Chapter 1 Section 1.4 Dr. Iyad F. Jafar Evaluating Performance

Outline Introduction CPU Execution Time The Performance Equation Determinants of Performance SPEC Benchmark Other Performance Metrics Examples 2

Introduction 3 Given a collection of computers, which one to buy? Best Performance ? Least Cost ? Best Cost/Performance? How to define performance? Time required to finish a task (individual users) Number of tasks executed per time (throughput) Less time to finish implies better performance If X is n times faster than Y, then Performance = 1 / Execution Time

CPU Execution Time 4 How to measure the execution time? Almost all modern computers are based on a clock The clock is a periodic square wave with known period (cycle time) Period = 1 / Frequency The base unit in measuring time is the cycle time, thus one clock cycle Time = cycles * cycle time Time = cycles / clock frequency

CPU Execution Time 5 Time required to execute a program is essentially the time required to execute its instructions! However, not all instructions take the same time! One way to think about execution time is that it equals the number of instructions executed multiplied by the average time per instruction Time = #instructions x cycle time Time = #instructions x average cycles per instruction x cycle time Time = IC x CPI x CC

CPU Execution Time 6 The average CPI is computed by Where l Where IC k is the number of instructions of class k executed l CPI k is the number of clock cycles per instruction for that instruction class l N is the number of instruction classes Note: The overall effective CPI varies by instruction mix – a measure of the dynamic frequency of instructions across one or many programs

The Performance Equation 7 Notes Three key factors for performance: IC, CPI, and CC CC: The clock rate is usually given IC: Overall instruction count (executed instructions) by using profilers/ simulators CPI: varies by instruction type and ISA implementation

The Performance Equation Example 1. In a certain program 1000 instructions were executed on CPU running at 1 GHz. If the instruction counts and CPI for each class are given below, how long does it take to execute the program? 8 Instruction Class Instruction Count Class CPI Effective CPI = (200x2+300x3+500x1)/1000 = 1.8 Time = 1000 x 1.8 x 1 ns = 1.8 us

The Performance Equation Example 2. Suppose the computer A has clock cycle of 250 ps and CPI 2.0 for some program, and computer B has clock cycle time of 500 ps and CPI of 1.2 for the same program, then which computer is faster ? 9 Time A = IC x 2 x 250 ps = 500 IC ps Time B = IC x 1.2 x 500 ps = 600 IC ps Performance A Time B 600 IC Performance B Time A 500 IC = = = 1.2 Computer A is 1.2 faster than B

The Performance Equation Example 3. A certain processor that has four instruction classes is to be modified using different approaches. The details of the program used in evaluating different approaches are given in the table below. What is the effective CPI for The original processor Approach 1. A cache is added and it reduces the average load time to 2 cycles. Approach 2. A branch prediction scheme is used and it cuts the branch time by 1 cycle. Approach 3. A second ALU is added to execute two ALU instructions at once. 10 ClassFrequencyClass CPI ALU50%1 Load20%5 Store10%3 Branch20%2 CPI k x F CPI k x F CPI k x F CPI k x F Effective CPI Original App1App2App3 Speed up

ICCPICC Algorithm Programming Language Compiler ISA Processor Organization Technology Determinants of Performance 11 X XX XX X X X X X X X

SPEC Benchmark What programs can be used to evaluate different computers? Can we cheat? Need a standard! SPEC Benchmark Standard Performance Evaluation Corp (SPEC) Programs used to measure performance (CPU, Web, I/O…) Typical actual workloads SPEC CPU2006 Elapsed time to execute a selection of programs Negligible I/O, so focuses on CPU performance Summarize as geometric mean of performance ratios CINT2006 (integer) and CFP2006 (floating-point) 12

SPEC Benchmark 13 NameDescriptionIC×10 9 CPITc (ns)Exec timeRef timeSPECratio perlInterpreted string processing2, , bzip2Block-sorting compression2, , gccGNU C Compiler1, , mcfCombinatorial optimization ,3459, goGo game (AI)1, , hmmerSearch gene sequence2, , sjengChess game (AI)2, , libquantumQuantum computer simulation1, ,04720, h264avcVideo compression3, , omnetppDiscrete event simulation , astarGames/path finding1, , xalancbmkXML parsing1, ,1436, Geometric mean11.7 CINT2006 for Opteron X High cache miss rates

SPEC Benchmark 14 CINT2000 Results for Various Processors Clock Speed (GHz) CINT2000

SPEC Benchmark 15 CFP2000 CFP2000 Results for Various Processors Clock Speed (GHz)

Other Performance Factors Power consumption is one factor in evaluating performance This is specifically important in the embedded market where battery life is important (and passive cooling) 16

Examples Example 4. given a program with 10 6 instructions with the following mix: 10% class A, 20% class B, 50% class C, and 20% class D. If this program is executed on two different processors with the specifications given below, then What is the effective CPI for the program for each implementation? Which implementation is faster? What is the speedup? 17 Processor CR (GHz) CPI Class ACPI Class BCPI Class CCPI Class D

Examples Example 5. The information for some program that is executed on some processor is given below. If the processor is modified such that the CPI for Class 2 instructions is reduced to 2, then w ould it be beneficial to adopt this modification if this modification requires increasing the clock cycle by 10%? modification does not affect the clock cycle but requires twice the amount of power to execute the program 18 Class i CPI i Frequency i