Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.

Slides:



Advertisements
Similar presentations
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
Advertisements

CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
Performance D. A. Patterson and J. L. Hennessey, Computer Organization & Design: The Hardware Software Interface, Morgan Kauffman, second edition 1998.
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
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.
Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.
1 Computer Performance: Metrics, Measurement, & Evaluation.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
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.
Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.
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.
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 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.
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.
Performance Computer Organization II 1 Computer Science Dept Va Tech January 2009 © McQuain & Ribbens Defining Performance Which airplane has.
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.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
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.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
Computer Architecture & Operations I
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers Technology Trends and Performance
Measuring Performance II and Logic Design
Morgan Kaufmann Publishers Computer Abstractions and Technology
Computer Architecture & Operations I
Computer Architecture & Operations I
CS161 – Design and Architecture of Computer Systems
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
Morgan Kaufmann Publishers Computer Architecture
Defining Performance Which airplane has the best performance?
Computer Architecture & Operations I
Morgan Kaufmann Publishers Computer Abstractions and Technology
Prof. Hsien-Hsin Sean Lee
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers
Morgan Kaufmann Publishers Computer Abstractions and Technology
COSC 3406: Computer Organization
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS2100 Computer Organisation
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers Computer Abstractions and Technology
Chapter 1 Computer Abstractions & Technology Performance Evaluation
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers Computer Performance
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers Computer Abstractions and Technology
Performance.
CS161 – Design and Architecture of Computer Systems
Computer Organization and Design Chapter 4
CS2100 Computer Organisation
Presentation transcript:

Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili

Reading Section 1.6 Practice Problems: Module 3 – 20, 21, 28

Goals Provide a simple model of performance for processor and memory (later) architectures Simple model for reasoning about the impact of compiler, architecture and technology properties A model for understanding performance limits

Understanding Performance Morgan Kaufmann Publishers May 9, 2019 Understanding Performance Algorithm Determines number of operations executed Programming language, compiler, architecture Determine number of machine instructions executed per operation Processor and memory system Determine how fast instructions are executed I/O system (including OS) Determines how fast I/O operations are executed Instruction Set Architecture Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers May 9, 2019 Metrics Response time (latency) How long it takes to do a task Throughput Total work done per unit time e.g., tasks/transactions/… per hour Trading throughput vs. latency Energy/Power Measure of work being performed Increases with clock frequency/voltage Determines temperature Is affected by temperature At the moment our focus is here We will then move here (pipelining) And finish here Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers May 9, 2019 Relative Performance “X is n time faster than Y” Example: time taken to run a program 10s on A, 15s on B Execution TimeB / Execution TimeA = 15s / 10s = 1.5 So A is 1.5 times faster than B Speedup Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers May 9, 2019 CPU Clocking Operation of digital hardware governed by a constant-rate clock Our cycle time Clock period Clock (cycles) Data transfer and computation Update state Clock period: duration of a clock cycle e.g., 250ps = 0.25ns = 250×10–12s Clock frequency (rate): cycles per second e.g., 4.0GHz = 4000MHz = 4.0×109Hz Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers May 9, 2019 CPU Time AKA Core Performance improved by Reducing number of clock cycles Increasing clock rate Hardware designer must often trade off clock rate against cycle count Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers May 9, 2019 CPU Time Example Computer A: 2GHz clock, 10s CPU time Designing Computer B Aim for 6s CPU time Can do faster clock, but causes 1.2 × clock cycles How fast must Computer B clock be? Chapter 1 — Computer Abstractions and Technology

Instruction Count and CPI Morgan Kaufmann Publishers May 9, 2019 Instruction Count and CPI Instruction Count for a program Determined by program, ISA and compiler Average cycles per instruction Determined by CPU hardware If different instructions have different CPI Average CPI affected by instruction mix Chapter 1 — Computer Abstractions and Technology

Cycles and Instructions time Multiplication takes more time than addition Floating point operations take longer than integer ones Accessing memory takes (in general) more time than accessing registers Important point: changing the cycle time often changes the number of cycles required for various instructions (more later)

Program Execution time Number of instruction classes ~= Instruction_count * CPIavg * clock_cycle_time technology algorithms/compiler architecture Relative frequency

Morgan Kaufmann Publishers May 9, 2019 CPI Example Computer A: Cycle Time = 250ps, CPI = 2.0 Computer B: Cycle Time = 500ps, CPI = 1.2 Same ISA Which is faster, and by how much? A is faster… …by this much Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers May 9, 2019 CPI Example Alternative compiled code sequences using instructions in classes A, B, C Class A B C CPI for class 1 2 3 IC in sequence 1 IC in sequence 2 4 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 Example: Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers May 9, 2019 Performance Summary The BIG Picture Performance depends on Algorithm: affects IC, possibly CPI Programming language: affects IC, CPI Compiler: affects IC, CPI Instruction set architecture: affects IC, CPI, Tc Chapter 1 — Computer Abstractions and Technology

Benchmark Suites Report performance metrics for execution on target platforms Designed to assess how well the platforms function in specific domains Examples Media Bench - Multimedia EEMBC – Embedded systems Rodinia, Parboil: For GPU Systems SPECWeb, SPECJbb – Enterprise systems Many more……

Morgan Kaufmann Publishers May 9, 2019 Pitfall: 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? Can’t be done! Corollary: make the common case fast Chapter 1 — Computer Abstractions and Technology

Amdahl’s Law f (1 - f) (1 - f) f / P Speed-up = Exec_timeold / Exec_timenew = Performance improvement from using faster mode is limited by the fraction the faster mode can be applied. affected f (1 - f) Told (1 - f) Tnew f / P

Morgan Kaufmann Publishers May 9, 2019 Concluding Remarks Cost/performance is improving Due to underlying technology development Hierarchical layers of abstraction In both hardware and software Instruction set architecture The hardware/software interface Execution time: the best performance measure Power is a limiting factor Use parallelism to improve performance Chapter 1 — Computer Abstractions and Technology

Study Guide Practice problems provided on the class website

Glossary Amdahl’s Law Benchmarks CPI (cycles per instruction) CPU Time Execution Time Latency Throughput