B0111 Performance Anxiety ENGR xD52 Eric VanWyk Fall 2012.

Slides:



Advertisements
Similar presentations
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
Advertisements

Performance What differences do we see in performance? Almost all computers operate correctly (within reason) Most computers implement useful operations.
CS2100 Computer Organisation Performance (AY2014/2015) Semester 2.
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
100 Performance ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
1 Introduction Rapidly changing field: –vacuum tube -> transistor -> IC -> VLSI (see section 1.4) –doubling every 1.5 years: memory capacity processor.
Chapter 4 Assessing and Understanding Performance Bo Cheng.
Computer ArchitectureFall 2007 © September 17, 2007 Karem Sakallah CS-447– Computer Architecture.
1  1998 Morgan Kaufmann Publishers and UCB Performance CEG3420 Computer Design Lecture 3.
Assessing and Understanding Performance B. Ramamurthy Chapter 4.
1 Lecture 11: Digital Design Today’s topics:  Evaluating a system  Intro to boolean functions.
Chapter 4 Assessing and Understanding Performance
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 2: Computer Performance
Memory/Storage Architecture Lab Computer Architecture Performance.
Operation Frequency No. of Clock cycles ALU ops % 1 Loads 25% 2
B0111 Performance Anxiety ENGR xD52 Eric VanWyk Fall 2012.
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.
Performance David Monismith Jan. 16, 2015 Based on notes from Dr. Bill Siever and from the Patterson and Hennessy Text.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
1 Acknowledgements Class notes based upon Patterson & Hennessy: Book & Lecture Notes Patterson’s 1997 course notes (U.C. Berkeley CS 152, 1997) Tom Fountain.
Performance.
1 CS465 Performance Revisited (Chapter 1) Be able to compare performance of simple system configurations and understand the performance implications of.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
1 Seoul National University Performance. 2 Performance Example Seoul National University Sonata Boeing 727 Speed 100 km/h 1000km/h Seoul to Pusan 10 hours.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
Morgan Kaufmann Publishers
CSE2021: Computer Organization Instructor: Dr. Amir Asif Department of Computer Science York University Handout # 2: Measuring Performance Topics: 1. Performance:
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.
September 10 Performance Read 3.1 through 3.4 for Wednesday Only 3 classes before 1 st Exam!
4. Performance 4.1 Introduction 4.2 CPU Performance and Its Factors
Lecture 5: 9/10/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Chapter 4. Measure, Report, and Summarize Make intelligent choices See through the marketing hype Understanding underlying organizational aspects Why.
Lec2.1 Computer Architecture Chapter 2 The Role of Performance.
L12 – Performance 1 Comp 411 Computer Performance He said, to speed things up we need to squeeze the clock Study
EGRE 426 Computer Organization and Design Chapter 4.
Performance Computer Organization II 1 Computer Science Dept Va Tech January 2009 © McQuain & Ribbens Defining Performance Which airplane has.
Jan. 5, 2000Systems Architecture II1 Machine Organization (CS 570) Lecture 2: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed. Oct. 4,
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Computer Architecture CSE 3322 Web Site crystal.uta.edu/~jpatters/cse3322 Send to Pramod Kumar, with the names and s.
B0111 Growth and Performance ENGR xD52 Eric VanWyk Fall 2014.
COD Ch. 1 Introduction + The Role of Performance.
June 20, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 1: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed.
BITS Pilani, Pilani Campus Today’s Agenda Role of Performance.
CPEN Digital System Design Assessing and Understanding CPU Performance © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall © Computer.
Performance. Moore's Law Moore's Law Related Curves.
Two notions of performance
Computer Organization
September 2 Performance Read 3.1 through 3.4 for Tuesday
ECE 4100/6100 Advanced Computer Architecture Lecture 1 Performance
How do we evaluate computer architectures?
Defining Performance Which airplane has the best performance?
Prof. Hsien-Hsin Sean Lee
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS2100 Computer Organisation
Computer Performance He said, to speed things up we need to squeeze the clock.
Arrays versus Pointers
Computer Performance Read Chapter 4
Performance.
Computer Organization and Design Chapter 4
CS2100 Computer Organisation
Presentation transcript:

b0111 Performance Anxiety ENGR xD52 Eric VanWyk Fall 2012

Today Lab Check-In Floating Point Failure What is “Performance” Measuring Performance Amdahl’s Law

Lab Check In

FPGA Building Blocks Review FPGA is made of Look Up Tables (LUTs) LUTs are muxes with fixed inputs Muxes are made from Decoders – Plus lots of AND gates – Plus one OR gate per bit of width Fixed Inputs are provided by Shift Registers Shift Registers are chained D-Flip Flops DFF are chained D Latches D Latches are SR Latches plus

Floating Point Failure float sum, sumsqs, sample = 0; for(int i=0; i < N; i++){ sample = readSensor(); sum += sample; sumsqs += sample * sample; } sigma = sqrt(N* sumsqs – sum * sum)/ N; Why is sigma NaN? – Noticed on sensors that don’t change quickly

Computer “Performance” MIPS (Million Instructions Per Second) vs. MHz (Million Cycles Per Second) Throughput (jobs/seconds) vs. Latency (time to complete a job) Measuring, Metrics, Evaluation – what is “best”? The PowerBook G4 outguns Pentium III-based notebooks by up to 30 percent.* * Based on Adobe Photoshop tests comparing a 500MHz PowerBook G4 to 850MHz Pentium III-based portable computers 3.09 GHz Pentium 4 Hyper Pipelined Technology

Performance Example: Planes AirplanePassenger Capacity Cruising Range (miles) Cruising Speed (mph) Passenger Throughput (passengermile/hour) Boeing ,750 Boeing ,700 Concorde ,200 Douglas DC ,424 Which is the “best” plane? – Which gets one passenger to the destination first? – Which moves the most passengers? – Which goes the furthest? Which is the “speediest” plane (between Seattle and NY)? – Latency: how fast is one person moved? – Throughput: number of people per time moved?

Computer Performance Primary goal: execution time (time from program start to program completion) To compare machines, we say “X is n times faster than Y” Example: Machine Orange and Grape run a program Orange takes 5 seconds, Grape takes 10 seconds Orange is _____ times faster than Grape

Execution Time Elapsed Time – counts everything (disk and memory accesses, I/O, etc.) – a useful number, but often not good for comparison purposes CPU time – doesn't count I/O or time spent running other programs – can be broken up into system time, and user time Example: Unix “time” command fpga.olin.edu> time javac CircuitViewer.java 3.370u 0.570s 0: % Our focus: user CPU time – time spent executing the lines of code that are "in" our program

CPU Time Application example: A program takes 10 seconds on computer Orange, with a 400MHz clock. Our design team is developing a machine Grape with a much higher clock rate, but it will require 1.2 times as many clock cycles. If we want to be able to run the program in 6 second, how fast must the clock rate be? CPU execution time for a program CPU clock cycles for a program Clock period=* CPU execution time for a program CPU clock cycles for a program 1 Clock rate =*

CPI How do the # of instructions in a program relate to the execution time? CPU clock cycles for a program Instructions for a program Average Clock Cycles per Instruction (CPI) =* CPU execution time for a program Instructions for a program =* 1 Clock rate *CPI

CPI Example Suppose we have two implementations of the same instruction set (ISA). For some program Machine A has a clock cycle time of 10 ns. and a CPI of 2.0 Machine B has a clock cycle time of 20 ns. and a CPI of 1.2 What machine is faster for this program, and by how much?

Computing CPI Different types of instructions can take very different amounts of cycles Memory accesses, integer math, floating point, control flow Instruction TypeType CyclesType FrequencyCycles * Freq ALU150% Load520% Store310% Branch220% CPI:

CPI & Processor Tradeoffs How much faster would the machine be if: 1.A data cache reduced the average load time to 2 cycles? 2.Branch prediction shaved a cycle off the branch time? 3.Two ALU instructions could be executed at once? Instruction TypeType CyclesType Frequency ALU150% Load520% Store310% Branch220%

Warning 1: Amdahl’s Law The impact of a performance improvement is limited by what is NOT improved: Example: Assume a program runs in 100 seconds on a machine, with multiply responsible for 80 seconds of this time. How much do we have to speed up multiply to make the program run 4 times faster? 5 times faster? Execution time after improvement Execution time of unaffected =* 1 Amount of improvement + Execution time affected

Warning 2: MIPs, MHz  Performance Higher MHz (clock rate) doesn’t always mean better CPU Orange computer: 1000 MHz, CPI: 2.5, 1 billion instruction program Grape computer: 500MHz, CPI: 1.1, 1 billion instruction program Higher MIPs (million instructions per second) doesn’t always mean better CPU 1 MHz machine, with two different compilers/instruction sets Compiler A on program X: 10M ALU, 1M Load Compiler B on program X: 5M ALU, 1M Load Execution Time: A ____ B ____ MIPS: A ____ B ____ Instruction TypeType Cycles ALU1 Load5 Store3 Branch2

Processor Performance Summary Machine performance: Better performance: _____ number of instructions to implement computations _____ CPI _____ Clock rate Improving performance must balance each constraint Example: RISC vs. CISC CPU execution time for a program Instructions for a program =* 1 Clock rate *CPI

Common Comparison Metrics Whetstone MWIPS – Specific program profile stressing Floating Point – Minimal memory stress – AM386 developed 40MHz (1991) – I7 930 develops 2800MHz

Common Comparison Metrics Dhrystone – Specific program stressing integer and string ops LINPACK – Solve linear equation Ax=b – Common calculation in engineering

Common Comparison Metrics: The Gibson Mix Gibson Mix Fixed Point Add/Subtract0.330 Fixed Point Multiply0.006 Fixed Point Divide0.002 Branch0.065 Compare0.040 Transfer 8 characters0.175 Shift0.046 Logical0.017 Modification0.190 Floating Point Add0.073 Floating Point Multiply0.040 Floating Point Divide0.016

Do a Barrel Roll We can multiply or divide a number by 2 by moving it left or right one position This is called a “shift”

Do a Barrel Roll “Arithmetic” shifts obey 2’s complement – Sign extension “Logical” shifts do not – Assume unsigned – Pad zeros Barrel Rotate “wraps” around

Board Work Construct two different 8-bit Shifters – One that takes one cycle Hint – Layers of Muxes – One that take more than one cycle Estimate – Propagation Delays – Relative Speeds – Relative Sizes