Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.

Slides:



Advertisements
Similar presentations
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Advertisements

CS1104: Computer Organisation School of Computing National University of Singapore.
Computer Abstractions and Technology
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Computer Organization and Architecture 18 th March, 2008.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
CS/ECE 3330 Computer Architecture Chapter 1 Performance / Power.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
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.
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.
CS3350B Computer Architecture Winter 2015 Performance Metrics I Marc Moreno Maza
Last Time Performance Analysis It’s all relative
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Chapter 1 - The Computer Revolution Chapter 1 — Computer Abstractions and Technology — 1  Progress in computer technology  Underpinned by Moore’s Law.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
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.
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.
Chapter 1 — Computer Abstractions and Technology — 1 Understanding Performance Algorithm Determines number of operations executed Programming language,
Performance.
Chapter 1 Performance & Technology Trends Read Sections 1.5, 1.6, and 1.8.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Computer Architecture CPSC 350
Chapter 1 Technology Trends and Performance. Chapter 1 — Computer Abstractions and Technology — 2 Technology Trends Electronics technology continues to.
Morgan Kaufmann Publishers
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
1  1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the 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.
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.
Performance Computer Organization II 1 Computer Science Dept Va Tech January 2009 © McQuain & Ribbens Defining Performance Which airplane has.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Chapter 1 Performance & Technology Trends. Outline What is computer architecture? Performance What is performance: latency (response time), throughput.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
Performance. Moore's Law Moore's Law Related Curves.
Computer Architecture & Operations I
Morgan Kaufmann Publishers Technology Trends and Performance
Measuring Performance II and Logic Design
Computer Architecture & Operations I
Computer Architecture & Operations I
CS161 – Design and Architecture of Computer Systems
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
September 2 Performance Read 3.1 through 3.4 for Tuesday
Morgan Kaufmann Publishers Computer Abstractions and Technology
Defining Performance Which airplane has the best performance?
Computer Architecture & Operations I
Uniprocessor Performance
Morgan Kaufmann Publishers
Morgan Kaufmann Publishers Computer Abstractions and Technology
COSC 3406: Computer Organization
CSCE 212 Chapter 4: Assessing and Understanding Performance
Computer Architecture CSCE 350
CS2100 Computer Organisation
Chapter 1 Computer Abstractions & Technology Performance Evaluation
Morgan Kaufmann Publishers Computer Performance
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Performance.
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
CS161 – Design and Architecture of Computer Systems
Computer Organization and Design Chapter 4
CS2100 Computer Organisation
Presentation transcript:

Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier (UM)

PERFORMANCE TRENDS

Growth in Processor Performance since Logarithmic Scale!

Moore’s Law Gordon Moore – One of the founders of Intel – Famously predicted in 1960 that the transistor capacity of integrated circuits would double every months. – Not really a law, but has largely held true. – Generally translates into increased performance, and decreased cost.

Moore’s Law

Exponential Growth

How do we get to Performance? Does more transistors really mean more performance? Is it a one-to-one correlation? How might transistors NOT correlate to increased performance?

MEASURING PERFORMANCE

A simple example Say we have two computers. You know one is rated at 1GHz and another is rated at 800MHz. Which computer has a higher performance?

A simple example? What do GHz and MHz even mean? What else could differ about the machines? What else could differ about the context of performance?

THE SITUATION IS A COMPLEX ONE!

First, Some Measure Theory What is a measure? Formally? – A way of assigning numbers to the subsets of some set, which can be said (intuitively) to be the size of the set. – Measures require measurable spaces, and measurable sets. – Not all sets are measurable!

Measurable Sets/Spaces One reason a space or set may be unmeasurable is if it is ill-defined.

Which Plane has a Higher Performance?

Defining Performance We can define performance in several ways. Response time – How long does it take to accomplish a task? – We send input to a black box, and measure how long it takes to get out output.

Defining Performance We can define performance in several ways. Throughput – How much work gets done during a certain amount of time? – Watch a system, count the number of jobs finished during a certain amount of time.

Throughput Example What is the fastest way you can think to deliver a large amount of data? Never underestimate the throughput of a Mack Truck loaded with hard drives!

What’s the Response time of our Truck?

Response time as Execution Time Start a program, wait for it to return results.

Comparing Performance Given the performance or execution time of a computer (A) and a different computer (B) running the same program, we can compare performance.

Comparing Performance Relative performance

Why is Relative Performance Important?

So How Do We Measure Performance First let’s define performance: – Execution time What is our measurable space? What is our measurable set?

Measuring Execution Time CPU execution time Wall clock time How might these differ?

Measuring Execution Time Clock cycles Instruction count

Clock Cycles Clock period – duration of a clock cycle Clock frequency – number of cycles per second Clock (cycles) Data transfer and computation Update state Clock period

CPU Time We can improve performance by – Reducing the number of clock cycles – Increasing clock rate – Often there is a trade-off

CPU Example Computer A: 2 GHz clock, 10s CPU time Computer B – Aim for 6s CPU time. If you increase clock speed, the number of cycles increase by 1.2x. Break Into Groups Find the necessary clock rate for Computer B

CPU Example Computer A: 2 GHz clock, 10s CPU time Computer B – Aim for 6s CPU time. If you increase clock speed, the number of cycles increase by 1.2x.

Instruction Count and CPI Instruction count – How many instructions the program has Depends on the ISA and compiler CPI – Cycles per instruction Determined by hardware

CPI Example Computer A: Cycle Time = 250ps, CPI = 2.0 Computer B: Cycle Time = 500ps, CPI = 1.2 Same ISA Which is faster? By how much? Break Into Groups

CPI Example Computer A: Cycle Time = 250ps, CPI = 2.0 Computer B: Cycle Time = 500ps, CPI = 1.2 Same ISA Which is faster? By how much? A is faster… …by this much

CPI Detail Sometimes different instructions take differing amounts of time. Often we will want to weight by instruction proportion in a program. Relative frequency

CPI Example Have instruction classes A, B, and C. Two was to compile our code: Give the average CPI for each program

CPI Example Sequence 1: IC = 5 Clock Cycles = 2×1 + 1×2 + 2×3 = 10 Avg. CPI = 10/5 = 2.0 Sequence 2: IC = 6 Clock Cycles = 4×1 + 1×2 + 1×3 = 9 Avg. CPI = 9/6 = 1.5

Performance Summary Performance depends on – Algorithm: affects IC, possibly CPI – Programming language: affects IC, CPI – Compiler: affects IC, CPI – Instruction set architecture: affects IC, CPI, T c

So Why Don’t We Have 1THz Computers?

The Power Wall In CMOS IC technology ×1000 ×30 5V → 1V

The Power Wall Suppose a new CPU has – 85% of capacitive load of old CPU – 15% voltage and 15% frequency reduction The power wall We can’t reduce voltage further We can’t remove more heat How else can we improve performance?

Multiprocessors Multicore microprocessors – More than one processor per chip Requires explicitly parallel programming – Compare with instruction level parallelism Hardware executes multiple instructions at once Hidden from the programmer – Hard to do Programming for performance Load balancing Optimizing communication and synchronization

Amdahl’s Law Improving an aspect of a computer and expecting a proportional improvement in overall performance Example: multiply accounts for 80s/100s How much improvement in multiply performance to get 5× overall? Break into Groups!

Amdahl’s Law Improving an aspect of a computer and expecting a proportional improvement in overall performance Can’t be done! Example: multiply accounts for 80s/100s How much improvement in multiply performance to get 5× overall? Corollary: make the common case fast

PROBLEM SETS

Consider the following processors, P1, P2, and P3 executing the same instruction set with clock rates and CPI as indicated 1.Which processor has the highest performance in terms of instructions per second? 2.If the processors each execute a program in 10s, find the number of cycles and the number of instructions 3.We are trying to reduce the execution time by 30% but this leads to an increase in CPI of 20%. What clock rate should we have to get this reduction? ProcessorClock RateCPI P13 GHz1.5 P22.5 GHz1.0 P34 GHz2.2

Consider a computer running code with four main routines, A, B, C, and D. 1.How much is the total time reduced if the time for Routine A is reduced by 20%? 2.How much is the time for Routine B reduced if the total time is reduced by 20%? 3.Can the total time be reduced by 20% by only reducing the time for Routine D? Routine ARoutine BRoutine CRoutine DTotal Time 40s90s60s20s210s

Consider a computer running code with four main routines, A, B, C, and D. 1.How much is the total time reduced if the time for Routine A is reduced by 20%? 2.How much is the time for Routine B reduced if the total time is reduced by 20%? 3.Can the total time be reduced by 20% by only reducing the time for Routine D? Routine ARoutine BRoutine CRoutine DTotal Time Exec Time40s90s60s20s210s Instructions50x10^6110x10^680x10^616x10^6- Avg CPI1142-

Consider a computer running code with four main routines, A, B, C, and D. 1.How much must we improve the CPI of Routine A if we want the program to run twice as fast? 2.How much must we improve the CPI of Routine C if we want the program to run twice as fast? 3.How much is the execution time improved if the CPI of routines A and B are reduced by 40%, and the CPI of routines C and D are reduced by 30%? Routine ARoutine BRoutine CRoutine DTotal Time Exec Time40s90s60s20s210s Instructions50x10^6110x10^680x10^616x10^6- Avg CPI1142-

WRAP UP

For next time Read Chapter 2, Sections 2.1 – 2.3 Finish Lab 0 by next lab session.