inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 36 – Performance 2010-04-23 Every 6 months (Nov/June), the fastest supercomputers.

Slides:



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

Read Section 1.4, Section 1.7 (pp )
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Evaluating Performance
100 Performance ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
CS 61C L42 Performance I (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
CS61C L3 Performance (1) Staley, Fall 2005 © UCB Titleless TA Aaron Staley inst.eecs./~cs61c-tc inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
Chapter 4 Assessing and Understanding Performance Bo Cheng.
CIS629 Fall Lecture Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two important.
1 Recap. 2 Measuring Performance  A computer user: response time (execution time).  A computer center manager - throughput - the total amount of work.
CS 61C L27 RAID and Performance (1) A Carle, Summer 2005 © UCB inst.eecs.berkeley.edu/~cs61c/su05 CS61C : Machine Structures Lecture #27: RAID & Performance.
Computer ArchitectureFall 2007 © September 17, 2007 Karem Sakallah CS-447– Computer Architecture.
CS/ECE 3330 Computer Architecture Chapter 1 Performance / Power.
1  1998 Morgan Kaufmann Publishers and UCB Performance CEG3420 Computer Design Lecture 3.
Chapter 4 Assessing and Understanding Performance
CS61C L39 Performance (1) Garcia, Spring 2007 © UCB Fast CPU!  TRIPS is a UT Austin scaleable architecture with replicated tiles (like in a Bee’s eye).
Lecture 3: Computer Performance
CS61C L41 Performance I (1) Garcia, Fall 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
CS61C L221 Performance © UC Regents 1 CS61C - Machine Structures Lecture 22 - Introduction to Performance November 17, 2000 David Patterson
CS430 – Computer Architecture Lecture - Introduction to Performance
CIS429/529 Winter 07 - Performance - 1 Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two.
1 Chapter 4. 2 Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational motivation.
ECE 4436ECE 5367 Introduction to Computer Architecture and Design Ji Chen Section : T TH 1:00PM – 2:30PM Prerequisites: ECE 4436.
1 Computer Performance: Metrics, Measurement, & Evaluation.
Where Has This Performance Improvement Come From? Technology –More transistors per chip –Faster logic Machine Organization/Implementation –Deeper pipelines.
Lecture 2: Computer Performance
inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 38 – Performance Every 6 months (Nov/June), the fastest supercomputers.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
CS61C L41 Performance II (1) Garcia © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
Performance Chapter 4 P&H. Introduction How does one measure report and summarise performance? Complexity of modern systems make it very more difficult.
Csci 136 Computer Architecture II – CPU Performance Xiuzhen Cheng
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.
Computer Performance Computer Engineering Department.
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.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
EEL5708/Bölöni Lec 1.1 August 21, 2006 Lotzi Bölöni Fall 2006 EEL 5708 High Performance Computer Architecture Lecture 1 Introduction.
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.
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
Performance Analysis Topics Measuring performance of systems Reasoning about performance Amdahl’s law Systems I.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
IT 251 Computer Organization and Architecture Performance Chia-Chi Teng.
Lecture 3. Performance Prof. Taeweon Suh Computer Science & Engineering Korea University COSE222, COMP212, CYDF210 Computer Architecture.
BITS Pilani, Pilani Campus Today’s Agenda Role of Performance.
Measuring Performance and Benchmarks Instructor: Dr. Mike Turi Department of Computer Science and Computer Engineering Pacific Lutheran University Lecture.
Computer Architecture & Operations I
Computer Organization
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.
How do we evaluate computer architectures?
Computer Architecture & Operations I
CSCE 212 Chapter 4: Assessing and Understanding Performance
Chapter 1 Computer Abstractions & Technology Performance Evaluation
Computer Performance He said, to speed things up we need to squeeze the clock.
Performance ICS 233 Computer Architecture and Assembly Language
Performance.
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 36 – Performance Every 6 months (Nov/June), the fastest supercomputers in the world face off. The fastest computer is now the Jaguar, a Linux Cray XT5-HE Opteron Six Core 2.6 GHz, with 224,256 cores, achieves 2.3 PFlops. They use LINPACK floating point benchmark (A x = B). Lecturer SOE Dan Garcia How fast is your computer?

CS61C L36 Performance (2) Garcia, Spring 2010 © UCB Why Performance? Faster is better!  Purchasing Perspective: given a collection of machines (or upgrade options), which has the  best performance ?  least cost ?  best performance / cost ?  Computer Designer Perspective: faced with design options, which has the  best performance improvement ?  least cost ?  best performance / cost ?  All require basis for comparison and metric for evaluation!  Solid metrics lead to solid progress!

CS61C L36 Performance (3) Garcia, Spring 2010 © UCB Two Notions of “Performance”  Which has higher performance?  Interested in time to deliver 100 passengers?  Interested in delivering as many passengers per day as possible?  In a computer, time for one task called Response Time or Execution Time  In a computer, tasks per unit time called Throughput or Bandwidth Plane Boeing 747 BAD/Sud Concorde Top Speed DC to Paris Passen- gers Throughput (pmph) 610 mph 6.5 hours , mph 3 hours132178,200

CS61C L36 Performance (4) Garcia, Spring 2010 © UCB Definitions  Performance is in units of things per sec  bigger is better  If mostly concerned with response time  performance(x) = 1 execution_time(x)  “ F(ast) is n times faster than S(low) ” means: performance(F) execution_time(S) n = = performance(S) execution_time(F)

CS61C L36 Performance (5) Garcia, Spring 2010 © UCB Example of Response Time v. Throughput  Time of Concorde vs. Boeing 747?  Concord is 6.5 hours / 3 hours = 2.2 times faster  Concord is 2.2 times (“120%”) faster in terms of flying time (response time)  Throughput of Boeing vs. Concorde?  Boeing 747: 286,700 pmph / 178,200 pmph = 1.6 times faster  Boeing is 1.6 times (“60%”) faster in terms of throughput  We will focus primarily on response time.

CS61C L36 Performance (6) Garcia, Spring 2010 © UCB  Will (try to) stick to “n times faster”; its less confusing than “m % faster”  As faster means both decreased execution time and increased performance, to reduce confusion we will (and you should) use “improve execution time” or “improve performance” Words, Words, Words…

CS61C L36 Performance (7) Garcia, Spring 2010 © UCB  Straightforward definition of time:  Total time to complete a task, including disk accesses, memory accesses, I/O activities, operating system overhead,...  “real time”, “response time” or “elapsed time”  Alternative: just time processor (CPU) is working only on your program (since multiple processes running at same time)  “CPU execution time” or “CPU time”  Often divided into system CPU time (in OS) and user CPU time (in user program) What is Time?

CS61C L36 Performance (8) Garcia, Spring 2010 © UCB  Real Time  Actual time elapsed  CPU Time: Computers constructed using a clock that runs at a constant rate and determines when events take place in the hardware  These discrete time intervals called clock cycles (or informally clocks or cycles)  Length of clock period: clock cycle time (e.g., ½ nanoseconds or ½ ns) and clock rate (e.g., 2 gigahertz, or 2 GHz), which is the inverse of the clock period; use these! How to Measure Time?

CS61C L36 Performance (9) Garcia, Spring 2010 © UCB Measuring Time using Clock Cycles (1/2)  CPU execution time for a program  Units of [seconds / program] or [s/p] = Clock Cycles for a program x Clock Period  Units of [s/p] = [cycles / p] x [s / cycle] = [c/p] x [s/c]  Or = Clock Cycles for a program [c / p] Clock Rate [c / s]

CS61C L36 Performance (10) Garcia, Spring 2010 © UCB  One way to define clock cycles: Clock Cycles for program [c/p] = Instructions for a program [i/p] (called “Instruction Count”) x Average Clock cycles Per Instruction [c/i] (abbreviated “CPI”)  CPI one way to compare two machines with same instruction set, since Instruction Count would be the same Measuring Time using Clock Cycles (2/2)

CS61C L36 Performance (11) Garcia, Spring 2010 © UCB  CPU execution time for program [s/p] = Clock Cycles for program [c/p] x Clock Cycle Time [s/c]  Substituting for clock cycles: CPU execution time for program [s/p] = ( Instruction Count [i/p] x CPI [c/i] ) x Clock Cycle Time [s/c] = Instruction Count x CPI x Clock Cycle Time Performance Calculation (1/2)

CS61C L36 Performance (12) Garcia, Spring 2010 © UCB CPU time = Instructions x Cycles x Seconds Program InstructionCycle CPU time = Instructions x Cycles x Seconds Program InstructionCycle CPU time = Instructions x Cycles x Seconds Program InstructionCycle CPU time = Seconds Program Product of all 3 terms: if missing a term, can’t predict time, the real measure of performance Performance Calculation (2/2)

CS61C L36 Performance (13) Garcia, Spring 2010 © UCB How Calculate the 3 Components?  Clock Cycle Time: in specification of computer (Clock Rate in advertisements)  Instruction Count:  Count instructions in loop of small program  Use simulator to count instructions  Hardware counter in spec. register  (Pentium II,III,4)  CPI:  Calculate: Execution Time / Clock cycle time Instruction Count  Hardware counter in special register (PII,III,4)

CS61C L36 Performance (14) Garcia, Spring 2010 © UCB  First calculate CPI for each individual instruction ( add, sub, and, etc.)  Next calculate frequency of each individual instruction  Finally multiply these two for each instruction and add them up to get final CPI (the weighted sum) Calculating CPI Another Way

CS61C L36 Performance (15) Garcia, Spring 2010 © UCB Example (RISC processor) OpFreq i CPI i Prod(% Time) ALU50%1.5(23%) Load20%5 1.0(45%) Store10%3.3(14%) Branch20%2.4(18%) 2.2 What if Branch instructions twice as fast? Instruction Mix (Where time spent)

CS61C L36 Performance (16) Garcia, Spring 2010 © UCB What Programs Measure for Comparison?  Ideally run typical programs with typical input before purchase, or before even build machine  Called a “workload”; For example:  Engineer uses compiler, spreadsheet  Author uses word processor, drawing program, compression software  In some situations its hard to do  Don’t have access to machine to “benchmark” before purchase  Don’t know workload in future

CS61C L36 Performance (17) Garcia, Spring 2010 © UCB Benchmarks  Obviously, apparent speed of processor depends on code used to test it  Need industry standards so that different processors can be fairly compared  Companies exist that create these benchmarks: “typical” code used to evaluate systems  Need to be changed every ~5 years since designers could (and do!) target for these standard benchmarks

CS61C L36 Performance (18) Garcia, Spring 2010 © UCB  Standard Performance Evaluation Corporation (SPEC) SPEC CPU2006  CINT integer (perl, bzip, gcc, go,...)  CFP floating-point (povray, bwaves,...)  All relative to base machine (which gets 100) Sun Ultra Enterprise 2 w/296 MHz UltraSPARC II  They measure  System speed (SPECint2006)  System throughput (SPECint_rate2006)  Example Standardized Benchmarks (1/2)

CS61C L36 Performance (19) Garcia, Spring 2010 © UCB  SPEC  Benchmarks distributed in source code  Members of consortium select workload  30+ companies, 40+ universities, research labs  Compiler, machine designers target benchmarks, so try to change every 5 years  SPEC CPU2006: CFP2006 bwaves Fortran Fluid Dynamics gamess Fortran Quantum Chemistry milc C Physics / Quantum Chromodynamics zeusmp Fortran Physics / CFD gromacs C,Fortran Biochemistry / Molecular Dynamics cactusADM C,Fortran Physics / General Relativity leslie3d Fortran Fluid Dynamics namd C++ Biology / Molecular Dynamics dealll C++ Finite Element Analysis soplex C++ Linear Programming, Optimization povray C++ Image Ray-tracing calculix C,Fortran Structural Mechanics GemsFDTD Fortran Computational Electromegnetics tonto Fortran Quantum Chemistry lbm C Fluid Dynamics wrf C,Fortran Weather sphinx3 C Speech recognition CINT2006 perlbench C Perl Programming language bzip2 C Compression gcc C C Programming Language Compiler mcf C Combinatorial Optimization gobmk C Artificial Intelligence : Go hmmer C Search Gene Sequence sjeng C Artificial Intelligence : Chess libquantum C Simulates quantum computer h264ref C H.264 Video compression omnetpp C++ Discrete Event Simulation astar C++ Path-finding Algorithms xalancbmk C++ XML Processing Example Standardized Benchmarks (2/2)

CS61C L36 Performance (20) Garcia, Spring 2010 © UCB If we’re talking about performance, let’s discuss the ways shady salespeople have fooled consumers (so you don’t get taken!) 5. Never let the user touch it 4. Only run the demo through a script 3. Run it on a stock machine in which “no expense was spared” 2. Preprocess all available data 1. Play a movie Performance Evaluation: The Demo

CS61C L36 Performance (21) Garcia, Spring 2010 © UCB Megahertz Myth Marketing Movie

CS61C L36 Performance (22) Garcia, Spring 2010 © UCB 1)The Sieve of Eratosthenes and Quicksort were early effective benchmarks. 2) A program runs in 100 sec. on a machine, mult accounts for 80 sec. of that. If we want to make the program run 6 times faster, we need to up the speed of mult s by AT LEAST 6. Peer Instruction 12 a) FF b) FT c) TF d) TT

CS61C L36 Performance (23) Garcia, Spring 2010 © UCB 1)The Sieve of Eratosthenes and Quicksort were early effective benchmarks. 2) A program runs in 100 sec. on a machine, mult accounts for 80 sec. of that. If we want to make the program run 6 times faster, we need to up the speed of mult s by AT LEAST 6. F A L S E 1. Early benchmarks? Yes. Effective? No. Too simple! 2. 6 times faster = 16 sec. mults must take -4 sec! I.e., impossible! F A L S E Peer Instruction Answers 12 a) FF b) FT c) TF d) TT

CS61C L36 Performance (24) Garcia, Spring 2010 © UCB  Latency v. Throughput  Performance doesn’t depend on any single factor: need Instruction Count, Clocks Per Instruction (CPI) and Clock Rate to get valid estimations  User Time: time user waits for program to execute: depends heavily on how OS switches between tasks  CPU Time: time spent executing a single program: depends solely on design of processor (datapath, pipelining effectiveness, caches, etc.)  Benchmarks  Attempt to predict perf, Updated every few years  Measure everything from simulation of desktop graphics programs to battery life  Megahertz Myth  MHz ≠ performance, it’s just one factor CPU time = Instructions x Cycles x Seconds ProgramInstructionCycle “And in conclusion…”