Performance of computer systems

Slides:



Advertisements
Similar presentations
Performance What differences do we see in performance? Almost all computers operate correctly (within reason) Most computers implement useful operations.
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.
Computer Performance CS350 Term Project-Spring 2001 Elizabeth Cramer Bryan Driskell Yassaman Shayesteh.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
Chapter 4 Assessing and Understanding Performance Bo Cheng.
EECE476: Computer Architecture Lecture 11: Understanding and Assessing Performance Chapter 4.1, 4.2 The University of British ColumbiaEECE 476© 2005 Guy.
1 Lecture 11: Digital Design Today’s topics:  Evaluating a system  Intro to boolean functions.
Chapter 4 Assessing and Understanding Performance
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
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 Measuring Performance Chris Clack B261 Systems Architecture.
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI.
1 Computer Performance: Metrics, Measurement, & Evaluation.
CSE 340 Computer Architecture Summer 2014 Understanding Performance
Gary MarsdenSlide 1University of Cape Town Computer Architecture – Introduction Andrew Hutchinson & Gary Marsden (me) ( ) 2005.
CS3350B Computer Architecture Winter 2015 Performance Metrics I Marc Moreno Maza
Lecture 2b: Performance Metrics. Performance Metrics Measurable characteristics of a computer system: Count of an event Duration of a time interval Size.
Recap Technology trends Cost/performance Measuring and Reporting Performance What does it mean to say “computer X is faster than computer Y”? E.g. Machine.
1 CHAPTER 2 THE ROLE OF PERFORMANCE. 2 Performance Measure, Report, and Summarize Make intelligent choices Why is some hardware better than others for.
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.
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.
Computer Organization and Architecture Tutorial 1 Kenneth Lee.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
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:
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.
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.
Jan. 5, 2000Systems Architecture II1 Machine Organization (CS 570) Lecture 2: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed. Oct. 4,
ECE/CS 552: Performance and Cost © Prof. Mikko Lipasti Lecture notes based in part on slides created by Mark Hill, David Wood, Guri Sohi, John Shen and.
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.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
June 20, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 1: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed.
Measuring Performance and Benchmarks Instructor: Dr. Mike Turi Department of Computer Science and Computer Engineering Pacific Lutheran University Lecture.
CS203 – Advanced Computer Architecture
Computer Organization
Lecture 2: Performance Evaluation
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
ECE 4100/6100 Advanced Computer Architecture Lecture 1 Performance
Defining Performance Which airplane has the best performance?
Computer Architecture & Operations I
Morgan Kaufmann Publishers
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS2100 Computer Organisation
CMSC 611: Advanced Computer Architecture
Performance of computer systems
Performance of computer systems
CMSC 611: Advanced Computer Architecture
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Performance.
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Computer Organization and Design Chapter 4
CS2100 Computer Organisation
Presentation transcript:

Performance of computer systems Many different factors among which: Technology Raw speed of the circuits (clock, switching time) Process technology (how many transistors on a chip) Organization What type of processor (e.g., RISC vs. CISC) What type of memory hierarchy What types of I/O devices How many processors in the system Software O.S., compilers, database drivers etc 2/19/2019 CSE378 Performance.

What are some possible metrics Raw speed (peak performance = clock rate) Execution time (or response time): time to execute one (suite of) program from beginning to end. Need benchmarks for integer dominated programs, scientific, graphical interfaces, multimedia tasks, desktop apps, utilities etc. Throughput (total amount of work in a given time) measures utilization of resources (good metric when many users: e.g., large data base queries, Web servers) Quite often improving execution time will improve throughput and vice-versa 2/19/2019 CSE378 Performance.

Execution time Metric Execution time: inverse of performance Performance A = 1 / (Execution_time A) Processor A is faster than Processor B Execution_time A < Execution_time B Performance A > Performance B Relative performance Performance A / Performance B =Execution_time B / Execution_time A 2/19/2019 CSE378 Performance.

Measuring execution time Wall clock, response time, elapsed time Some systems have a “time” function Unix 13.7u 23.6s 18:37 3% 2069+1821k 13+24io 62pf+0w Difficult to make comparisons from one system to another Remainder of this lecture: CPU execution time 2/19/2019 CSE378 Performance.

Definition of CPU execution time CPU execution_time = CPU clock_cycles*clock cycle_time CPU clock_cycles is program dependent thus CPU execution_time is program dependent clock cycle_time (nanoseconds, ns) depends on the particular processor clock cycle_time = 1/ clock cycle_rate (rate in MHz) clock cycle_time = 1s, clock cycle_rate = 1 MHz clock cycle_time = 1ns, clock cycle_rate = 1 GHz Alternate definition CPU execution_time = CPU clock_cycles / clock cycle_rate 2/19/2019 CSE378 Performance.

CPI -- Cycles per instruction Definition: CPI average number of clock cycles per instr. CPU clock_cycles = Number of instr. * CPI CPU exec_time = Number of instr. * CPI *clock cycle_time Computer architects try to minimize CPI or maximize its inverse IPC : number of instructions per cycle CPI in isolation is not a measure of performance program dependent, compiler dependent In an ideal pipelined processor (to be seen soon) CPI =1 but… not ideal so CPI > 1 could have CPI <1 if several instructions execute in parallel (superscalar processors) 2/19/2019 CSE378 Performance.

Classes of instructions Some classes of instr. take longer to execute than others e.g., floating-point operations take longer than integer operations Assign CPI’s per classes of inst., say CPIi CPU exec_time =  (CPIi *Ci)* clock cycle_time where Ci is the number of insts. of class i that have been executed Note that minimizing the number of instructions does not necessarily improve execution time Improving one part of the architecture can improve the CPI of one class of instructions One often talks about the contribution to the CPI of a class of instructions 2/19/2019 CSE378 Performance.

How to measure the average CPI A given of the processor Elapsed time: wall clock CPU exec_time = Number of instr. * CPI *clock cycle_time Count instructions executed in each class Needs a simulator interprets every instruction and counts their number or a profiler discover the most often used parts of the program and instruments only those or use sampling Use of programmable hardware counters most modern microprocessors have this feature 2/19/2019 CSE378 Performance.

Other popular performance measures: MIPS MIPS (Millions of instructions per second) MIPS = Instruction count / (Exec.time * 106) MIPS = (Instr. count * clock rate)/(Instr. count *CPI * 106) MIPS = clock rate /(CPI * 106) MIPS is a rate: the higher the better MIPS in isolation no better than CPI in isolation Program and/or compiler dependent Does not take the instruction set into account can give “wrong” comparative results 2/19/2019 CSE378 Performance.

Other metric: MFLOPS Similar to MIPS in spirit Used for scientific programs/machines MFLOPS: million of floating-point ops/second 2/19/2019 CSE378 Performance.

Benchmarks Benchmark: workload representative of what a system will be used for Industry benchmarks SPECint and SPECfp industry benchmarks updated every 3 years Perfect Club, NASA kernel: scientific benchmarks TPC-A, TPC-B, TPC-C and TPC-D used for databases and data mining Benchmarks for desktop applications, web applications are not as standard Beware! Compilers are super optimized for the benchmarks 2/19/2019 CSE378 Performance.

How to report (benchmark) performance If you measure execution times use arithmetic mean e.g., for n benchmarks (exec_timei) / n If you measure rates use harmonic mean n/ ( 1/ratei) = 1/(arithmetic mean) 2/19/2019 CSE378 Performance.