Parameters that affect it How to improve it and by how much

Slides:



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

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.
Evaluating Performance
Computer Organization and Architecture 18 th March, 2008.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
Performance D. A. Patterson and J. L. Hennessey, Computer Organization & Design: The Hardware Software Interface, Morgan Kauffman, second edition 1998.
CS/ECE 3330 Computer Architecture Chapter 1 Performance / Power.
Computer Architecture Lecture 2 Instruction Set Principles.
Chapter 4 Assessing and Understanding Performance
Gordon Moore Gordon Moore, cofounder of Intel 1965: 2 x trans. per chip/year After 1970: 2 x trans. per chip/1.5year 摩爾定律.
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
Amdahl's Law.
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 ECE3055 Computer Architecture and Operating Systems Lecture 2 Performance Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
Computer Organization and Design Performance Montek Singh Mon, April 4, 2011 Lecture 13.
1 Computer Performance: Metrics, Measurement, & Evaluation.
Lecture 2b: Performance Metrics. Performance Metrics Measurable characteristics of a computer system: Count of an event Duration of a time interval Size.
1 CHAPTER 2 THE ROLE OF PERFORMANCE. 2 Performance Measure, Report, and Summarize Make intelligent choices Why is some hardware better than others for.
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.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
Performance.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Computer Architecture
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
CPU Performance using Different Parameters CS 250: Andrei D. Coronel, MS,CEH,PhD Cand.
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.
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
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.
4. Performance 4.1 Introduction 4.2 CPU Performance and Its Factors
Lec2.1 Computer Architecture Chapter 2 The Role of Performance.
EGRE 426 Computer Organization and Design Chapter 4.
Computer Engineering Rabie A. Ramadan Lecture 2. Table of Contents 2 Architecture Development and Styles Performance Measures Amdahl’s Law.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
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.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
BITS Pilani, Pilani Campus Today’s Agenda Role of Performance.
Additional Examples CSE420/598, Fall 2008.
Measuring Performance and Benchmarks Instructor: Dr. Mike Turi Department of Computer Science and Computer Engineering Pacific Lutheran University Lecture.
Performance. Moore's Law Moore's Law Related Curves.
Computer Organization
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
ECE 4100/6100 Advanced Computer Architecture Lecture 1 Performance
Defining Performance Which airplane has the best performance?
Computer Architecture & Operations I
Prof. Hsien-Hsin Sean Lee
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS2100 Computer Organisation
Defining Performance Section /14/2018 9:52 PM.
CMSC 611: Advanced Computer Architecture
Morgan Kaufmann Publishers Computer Performance
Performance Cycle time of a computer CPU speed speed = 1 / cycle time
CMSC 611: Advanced Computer Architecture
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Performance.
Performance Measurement and Analysis
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Computer Organization and Design Chapter 4
CS2100 Computer Organisation
Presentation transcript:

Parameters that affect it How to improve it and by how much Performance Parameters that affect it How to improve it and by how much

Performance Response time/Execution time/Turn-around time/Latency/Wall-clock time/Elapsed time Time between the start and completion of a task. Users are normally interested in reducing this parameter. Includes CPU execution time for this task. Time spent waiting for I/O. Time spent waiting for CPU (in multi-programming systems) Time due to OS overhead.

Increase performance implies decrease execution time Throughput Total amount of work done in a given time. A system administrator would like to increase the throughput. Increase performance implies increase throughput, decrease execution time

Performance vs Execution time Performance (P) = 1/ tE If X is ‘n’ times faster than Y, it implies: Px/Py = n = tEy/tEx i.e. Y times takes ‘n’ times longer than X.

Example 1 If a machine A runs a program in 10 seconds and machine B runs the same program in 15 seconds, how much faster is A than B? n = PA/PB = tB/tA = 15/10 = 1.5 A is 1.5 times faster than B

CPU execution time/CPU time Components of the execution time of a program: CPU execution time User CPU time System CPU time I/O time Time spent running other programs

System performance refers to Response time. CPU performance refers to CPU execution time.

CPU Performance equation CPU time = CPU clock cycles * cycle time = CPU clock cycles / clock rate CPU clock cycles = IC * CPI IC: instruction count (number of instructions per program) CPI: average cycles per instruction CPU time = IC * CPI * cycle time seconds instructions clock cycles seconds program program instruction clock cycle CPU clock cycles = Σi (CPIi * ICi) ICi : count of instructions of class i CPIi : cycles that takes to execute instructions of class i = * *

Example 2 Computer A has a 400 MHz clock and runs a program in 10 seconds. Computer B has a 800 MHz clock and runs the same program in 6 seconds. The increase in the clock rate of B implies an increase in the number of clock cycles required by B. Determine by how much the number of clock cycles in computer B has increased to allow for the higher clock rate. CPU time = CPU clock cycles * cycle time = CPU clock cycles / clock rate 10 = CPU clock cycles for A * 1/400 MHz = CPU clock cycles for B * 1/800 MHz CPU clock cycles for B = 1/400 * 6 = 1.2 CPU clock cycles for A 1/800 * 10

Example 3 Given a machine M1 with a clock rate 2.7GHz, how long will a program P1 take to run if there are 4,298 instructions and each instruction takes an average of 2.9 cycles. seconds = instructions * clock cycles * seconds program program instruction clock cycle = 4298 x 2.9 x 1/(2.7 x 109) CPU time = 4.26 x 10-6 seconds

CPU time = IC * CPI * cycle time Example 4 Given P1 and M1 from previous problem, what is the relative performance of M1 with respect to a machine M2 having clock rate 3.1 GHz running P1, where each instruction of P1 on M2 requires 3.2 cycles instead of 2.9 cycles? CPU time = IC * CPI * cycle time Perf of M1 / Perf of M2 = (IC2 * CP2 /Clock rate2) (IC1 * CPI1 /Clock rate1) = (CPI2 * Clock rate1) (CPI1 * Clock rate2) = (3.2 * 2.7GHz) / (2.9 * 3.1GHz) = 0.962 M1 is 1.04 times faster than M2.

Example 5 Given a machine M1 with clock rate 2.9 GHz, how long will a program P1 take to run that has 5,728 instructions and the following instruction mix and CPI? Instruction Type % Incidence CPI A | 19 | 9 B | 10 | 10 C | 38 | 13 D | 14 | 7 E | rem | 5

Example 5 Average CPI * Instruction Count of P1 Exec. Time of P1 on M1 = _______________________________________ Clock Rate of M1 CPU Clock cycles = (19*9+10*10+38*13+14*7+19*5) = 958 CPI = CPU Clock cycles/ Number of instructions = 958/100 = 9.58 9.58 * 5,728 Exec. Time of P1 on M1 = ______________ 2.9 * 10^9 Exec. Time of P1 on M1 = 1.892 * 10-5 seconds

Which code sequence executes the most instructions? Example 6 Comparing two compiler code segments Which code sequence executes the most instructions? Which will be faster? Instruction class i CPIi for instruction class i A 1 B 2 C 3 Code sequence Instruction counts (ICi) for instruction class A B C 1 2 4

Instruction count S1 : 2 + 1 + 2 = 5 S2 : 4 + 1 + 1 = 6 S1 executes fewer instructions than S2 To determine CPI CPU clock cycles = Σi (CPIi * ICi) S1 : CPU clock cycles = (2 x 1) + (1 x 2) + (2 x 3) = 10 cycles S2 : CPU clock cycles = (4 x 1) + (1 x 2) + (1 x 3) = 4 + 2 + 3 = 9 cycles S2 requires fewer clock cycles than S1. b. CPI = CPU clock cycles ---------------------------- S1 : CPI = 10/5 = 2 S2 : CPI = 9/6 = 1.5

Scope of Performance Sources CPU time = IC * CPI * Cycle time Program Compiler ISA Organization Hardware

Evaluating performance Ideal situation: known programs (workload) Benchmarks Real programs Synthetic benchmarks Risk: adjust design to benchmark requirements

Relative performance Total time: Σ exec timei Arithmetic mean: AM = 1/n * Σ exec timei Weighted mean: WM = Σ wi * exec timei Geometric mean: GM = (Π exec time ratioi)1/n

Arithmetic Mean Program System A Execution Time System B Execution Time System C Execution Time V 50 100 500 W 200 400 600 X 250 Y 800 Z 5000 4100 3500 Average 1180 1180 1180

Weighted Arithmetic Mean Program Execution Frequency System A Execution Time System C Execution Time V 50% 50 500 W 30% 200 600 X 10% 250 Y 5% 400 800 Z 5000 3500 Weighted Average 380 695 seconds seconds

Weighted Arithmetic Mean Program Execution Frequency System A Execution Time Execution Frequency (original) V 25% 50 50% W 5% 200 30% X 10% 250 Y 400 Z 55% 5000 Weighted Average 2817.5 seconds 380 seconds

System B execution time System C execution time Geometric Mean Program System A Execution Time Normalized to B System B execution time System C execution time V 50 100 1 500 0.2 W 200 400 600 0.667 X 250 Y 800 Z 5000 4100 3500 1.714 Geometric Mean 0.6898 2 0.82 1.6733

MIPS/MFLOPS MIPS = Instruction Count Execution Time x 106

Amdahl’s law The performance improvement that can be obtained from using a faster mode of execution is limited by the fraction of time that the faster mode can be used.

Amdahl’s law Overall Speedup = PEnhanced/PUnenhanced = tUnenhanced/tEnhanced Depends on two factors: f – fraction of execution time that can be enhanced. s – speedup obtained for the fraction

Amdahl’s equation Overall Speedup =

Example 7 Let’s say that your processes spend 70% of their time running in the CPU and 30% waiting for service from the disk. You have the option to upgrade to a CPU that is 50% faster than your current CPU or to a set of disk drives that promise to be two and a half times faster than your current drives. Which upgrade would you choose?

CPU upgrade : f = 0.7 s = 1.5 Overall speedup = Disk drive upgrade : f = 0.3 s = 2.5 Overall speedup = CPU upgrade cost = $10,000 Disk drives upgrade cost = $7,000 and if cost is a concern, which would you choose? 1% of CPU upgrade => $10000/30 = $333 1% of disk drive upgrade => $7000/22 = $318