CS 61C L42 Performance I (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia www.cs.berkeley.edu/~ddgarcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.

Slides:



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

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.
CS61C L40 Performance I (1) Garcia © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
CS61C L26 RAID & Performance (1) Garcia, Fall 2005 © UCB Lecturer PSOE, new dad Dan Garcia inst.eecs.berkeley.edu/~cs61c.
CS 61C L27 RAID and Performance (1) A Carle, Summer 2006 © UCB inst.eecs.berkeley.edu/~cs61c/su06 CS61C : Machine Structures Lecture #27: RAID & Performance.
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.
inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 36 – Performance Every 6 months (Nov/June), the fastest supercomputers.
Cs 61C L23 performance.1 Patterson Spring 99 ©UCB CS61C Performance Lecture 23 April 21, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson) www-inst.eecs.berkeley.edu/~cs61c/schedule.html.
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.
1  1998 Morgan Kaufmann Publishers and UCB Performance CEG3420 Computer Design Lecture 3.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
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).
CS 61C L30 Introduction to Pipelined Execution (1) Garcia, Fall 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
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
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.
Computer Organization and Design Performance Montek Singh Mon, April 4, 2011 Lecture 13.
1 Computer Performance: Metrics, Measurement, & Evaluation.
Gary MarsdenSlide 1University of Cape Town Computer Architecture – Introduction Andrew Hutchinson & Gary Marsden (me) ( ) 2005.
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.
1 CHAPTER 2 THE ROLE OF PERFORMANCE. 2 Performance Measure, Report, and Summarize Make intelligent choices Why is some hardware better than others for.
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.
B0111 Performance Anxiety ENGR xD52 Eric VanWyk Fall 2012.
1 CPS4150 Chapter 4 Assessing and Understanding Performance.
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.
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.
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.
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
1  1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the performance.
Performance Performance
September 10 Performance Read 3.1 through 3.4 for Wednesday Only 3 classes before 1 st Exam!
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
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 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
How do we evaluate computer architectures?
Computer Architecture & Operations I
Computer Performance He said, to speed things up we need to squeeze the clock.
Arrays versus Pointers
Computer Performance Read Chapter 4
Performance.
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Presentation transcript:

CS 61C L42 Performance I (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 42 – Performance I Cal Rugby champs!  win over Cal Poly Sasser worm running wild  exploits vulnerability w/Windows. All are encouraged to download the newest patches!

CS 61C L42 Performance I (2) Garcia, Spring 2004 © UCB Review Magnetic disks continue rapid advance: 2x/yr capacity, 2x/2-yr bandwidth, slow on seek, rotation improvements, MB/$ 2x/yr! Designs to fit high volume form factor RAID Higher performance with more disk arms per $ Adds option for small # of extra disks (the “R”) Cal by CS Profs Katz & Patterson

CS 61C L42 Performance I (3) Garcia, Spring 2004 © UCB Corrections to Lecture 42, pt I I said “Reel to reel is 15 & 30 feet/sec”. I meant to say “15 & 30 inches/sec” Drives inside the iPod and iPod Mini: Toshiba 1.8-inch 15/20/40GB (MK1504GAL) Hitachi 1 inch 4GB MicroDrive Thanks to Andy Dahl for the tip

CS 61C L42 Performance I (4) Garcia, Spring 2004 © UCB Corrections to Lecture 42, pt II I said “AV drives put high-throughput data in the outer tracks”. From an APS Catalog: “Capturing AV data on a hard disk drive requires different performance characteristics than are required of a hard disk drive used for regular, everyday computer use. AV data capture involves long strings of data being sent to and captured on the drive without interruption. All high-capacity drives must go through some sort of thermal calibration cycle so that as the drive operates, and operating temperatures elevate, minute changes in the relationship between the location of the data heads and the data platter surfaces is updated. This calibration insures that the drive can find data in the location where it is expected, insuring optimal performance and data integrity. Non-AV drives often enter a calibration cycle on a regular schedule regardless of what the computer and the drive happen to be doing. In the case of an AV application, a drive entering a thermal calibration cycle (T- cal) will miss recording data. This might be represented by video capture that drops a few frames in the middle of an action sequence, or an audio track that seems to skip a beat. AV drives handle T-cal by rescheduling or postponing it until such time that the drive is not actively capturing data.”

CS 61C L42 Performance I (5) Garcia, Spring 2004 © UCB RAID products: Software, Chips, Systems RAID is $32 B industry in 2002, 80% nonPC disks sold in RAIDs

CS 61C L42 Performance I (6) Garcia, Spring 2004 © UCB Margin of Safety in CS&E? Patterson reflects… Operator removing good disk vs. bad disk Temperature, vibration causing failure before repair In retrospect, suggested RAID 5 for what we anticipated, but should have suggested RAID 6 (double failure OK) for unanticipated/safety margin…

CS 61C L42 Performance I (7) Garcia, Spring 2004 © UCB Administrivia Monday Practice final to be handed out… HKN evaluations

CS 61C L42 Performance I (8) Garcia, Spring 2004 © UCB Performance 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!

CS 61C L42 Performance I (9) Garcia, Spring 2004 © UCB Two Notions of “Performance” Plane Boeing 747 BAD/Sud Concorde Top Speed DC to Paris Passen- gers Throughput (pmph) 610 mph 6.5 hours , mph 3 hours ,200 Which has higher performance? Time to deliver 1 passenger? Time to deliver 400 passengers? In a computer, time for 1 job called Response Time or Execution Time In a computer, jobs per day called Throughput or Bandwidth

CS 61C L42 Performance I (10) Garcia, Spring 2004 © UCB Definitions Performance is in units of things per sec bigger is better If we are primarily 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)

CS 61C L42 Performance I (11) Garcia, Spring 2004 © UCB Example of Response Time v. Throughput Time of Concorde vs. Boeing 747? Concord is 6.5 hours / 3 hours = 2.2 times faster 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 Concord is 2.2 times (“120%”) faster in terms of flying time (response time) We will focus primarily on execution time for a single job

CS 61C L42 Performance I (12) Garcia, Spring 2004 © UCB Confusing Wording on Performance Will (try to) stick to “n times faster”; its less confusing than “m % faster” As faster means both increased performance and decreased execution time, to reduce confusion will use “improve performance” or “improve execution time”

CS 61C L42 Performance I (13) Garcia, Spring 2004 © UCB What is Time? 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)

CS 61C L42 Performance I (14) Garcia, Spring 2004 © UCB How to Measure Time? User Time  seconds 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., 2 nanoseconds or 2 ns) and clock rate (e.g., 500 megahertz, or 500 MHz), which is the inverse of the clock period; use these!

CS 61C L42 Performance I (15) Garcia, Spring 2004 © UCB Measuring Time using Clock Cycles (1/2) or = Clock Cycles for a program Clock Rate CPU execution time for program = Clock Cycles for a program x Clock Cycle Time

CS 61C L42 Performance I (16) Garcia, Spring 2004 © UCB Measuring Time using Clock Cycles (2/2) One way to define clock cycles: Clock Cycles for program = Instructions for a program (called “Instruction Count”) x Average Clock cycles Per Instruction (abbreviated “CPI”) CPI one way to compare two machines with same instruction set, since Instruction Count would be the same

CS 61C L42 Performance I (17) Garcia, Spring 2004 © UCB Performance Calculation (1/2) CPU execution time for program = Clock Cycles for program x Clock Cycle Time Substituting for clock cycles: CPU execution time for program = (Instruction Count x CPI) x Clock Cycle Time = Instruction Count x CPI x Clock Cycle Time

CS 61C L42 Performance I (18) Garcia, Spring 2004 © UCB Performance Calculation (2/2) CPU time = Instructions x Cycles x Seconds ProgramInstructionCycle CPU time = Instructions x Cycles x Seconds ProgramInstructionCycle CPU time = Instructions x Cycles x Seconds ProgramInstructionCycle CPU time = Seconds Program Product of all 3 terms: if missing a term, can’t predict time, the real measure of performance

CS 61C L42 Performance I (19) Garcia, Spring 2004 © 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)

CS 61C L42 Performance I (20) Garcia, Spring 2004 © UCB Calculating CPI Another Way 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)

CS 61C L42 Performance I (21) Garcia, Spring 2004 © 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)

CS 61C L42 Performance I (22) Garcia, Spring 2004 © 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 Friday: benchmarks & PC-Mac showdown!

CS 61C L42 Performance I (23) Garcia, Spring 2004 © 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 2 or 3 years since designers could (and do!) target for these standard benchmarks

CS 61C L42 Performance I (24) Garcia, Spring 2004 © UCB Peer Instruction A. Clock rate does not equal performance. B. The Sieve of Eratosthenes, Puzzle and Quicksort were early effective benchmarks. C. 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. ABC 1: FFF 2: FFT 3: FTF 4: FTT 5: TFF 6: TFT 7: TTF 8: TTT

CS 61C L42 Performance I (25) Garcia, Spring 2004 © UCB Peer Instruction Answers A. Clock rate does not equal performance. B. The Sieve of Eratosthenes, Puzzle and Quicksort were early effective benchmarks. C. 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 T R U E A. Correct! You’ll see a movie on Friday which highlights this point. B. Early benchmarks? Yes. Effective? No. Too simple! C. 6 times faster = 16 sec. mult s must take -4 sec! I.e., impossible! F A L S E ABC 1: FFF 2: FFT 3: FTF 4: FTT 5: TFF 6: TFT 7: TTF 8: TTT

CS 61C L42 Performance I (26) Garcia, Spring 2004 © UCB “And in conclusion…” Latency v. Throughput Performance doesn’t depend on any single factor: need to know Instruction Count, Clocks Per Instruction (CPI) and Clock Rate to get valid estimations User Time: time user needs to wait 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.) CPU time = Instructions x Cycles x Seconds ProgramInstructionCycle