Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI.

Slides:



Advertisements
Similar presentations
CS2100 Computer Organisation Performance (AY2014/2015) Semester 2.
Advertisements

Computer Abstractions and Technology
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Evaluating Performance
Performance Analysis of Multiprocessor Architectures
CS 6290 Evaluation & Metrics. Performance Two common measures –Latency (how long to do X) Also called response time and execution time –Throughput (how.
Lecture 2c: Benchmarks. Benchmarking Benchmark is a program that is run on a computer to measure its performance and compare it with other machines Best.
2-1 ECE 361 ECE C61 Computer Architecture Lecture 2 – performance Prof. Alok N. Choudhary
Computer Organization and Architecture 18 th March, 2008.
CIS629 Fall Lecture Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two important.
Computer ArchitectureFall 2007 © September 17, 2007 Karem Sakallah CS-447– Computer Architecture.
1 Lecture 11: Digital Design Today’s topics:  Evaluating a system  Intro to boolean functions.
Computer Architecture Lecture 2 Instruction Set Principles.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
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
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
1 Lecture 10: FP, Performance Metrics Today’s topics:  IEEE 754 representations  FP arithmetic  Evaluating a system Reminder: assignment 4 due in a.
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.
Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-1 Chapter 1. Fundamentals of Computer Design Introduction –Performance Improvement due to (1).
Using Standard Industry Benchmarks Chapter 7 CSE807.
CMSC 611: Advanced Computer Architecture Benchmarking Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Chapter 1 Section 1.4 Dr. Iyad F. Jafar Evaluating Performance.
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
BİL 221 Bilgisayar Yapısı Lab. – 1: Benchmarking.
Memory/Storage Architecture Lab Computer Architecture Performance.
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 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 5810/6810: Hennessy.
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.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
Advanced Computer Architecture Fundamental of Computer Design Instruction Set Principles and Examples Pipelining:Basic and Intermediate Concepts Memory.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Computer Architecture
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.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
CET Gannod1 Chapter 1 Fundamentals of Computer Design.
1  1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the performance.
Performance Performance
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
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.
4. Performance 4.1 Introduction 4.2 CPU Performance and Its Factors
Performance Analysis Topics Measuring performance of systems Reasoning about performance Amdahl’s law Systems I.
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.
CS203 – Advanced Computer Architecture Performance Evaluation.
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.
Performance. Moore's Law Moore's Law Related Curves.
CS203 – Advanced Computer Architecture
Lecture 2: Performance Today’s topics:
Lecture 2: Performance Evaluation
4- Performance Analysis of Parallel Programs
Lecture 3: MIPS Instruction Set
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?
Morgan Kaufmann Publishers
Performance of computer systems
Performance of computer systems
Computer Evolution and Performance
Lecture 3: MIPS Instruction Set
Performance of computer systems
Computer Organization and Design Chapter 4
Presentation transcript:

Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI

Major Faces in Today’s Market  Desktop computers –Office, personal computing, multimedia, etc. –Cost-performance trade-off  Servers –Providing larger-scale and more reliable file and computing service –Designed for performance, availability, and scalability  Embedded computers –Networking switches, printer, palm, cell phone, etc. –Real-time performance requirements –Lost cost and low power

Technology Trends Implementation technologies change dramatically –Integrated circuit logic technology –Semiconductor DRAM –Magnetic disk technology –Network technology Software compatibility: software is more expensive than hardware

Cost, Price, and Their Trends  Cost and price may determine if a computer product will be successful in markets  In many cases cost is the single important factor in design considerations –Add a new feature or not? –Trade performance with cost and price Especially true for desktop and embedded market

Processor Performance Trends

Processor Price Trend

DRAM Price Trend

What Does Performance Mean?  Response time –A simulation program finishes in 5 minutes  Throughput –A web server serves 5 million request per second  Other metrics –MIPS (million instruction per second) –MFLOPS –Clock frequency

Execution Time  Processor design is concerned with processor consumed by program execution. Shorter execution time=> –Shorter response time –Higher throughput  Execution time = #inst×CPI×Cycletime –What affects #inst, CPI, and cycle time? –Almost all designs can be interpreted  Any other metrics is meaningful only if consistent with execution time

Performance of Computers Performance is defined for a program and a machine. How to compare computers? Need benchmark programs: –Real applications: scientific programs, compilers, text-processing software, image processing –Modified applications: providing portability and focus –Kernels: good to isolate performance of individual features  Lmbench: measure latency and bandwidth of memory, file system, networking, etc. –Toy benchmarks –Synthetic benchmarks: matching average execution profile

Performance Comparison  n: speedup if we are considering an enhancement, optimization, etc.  What does “improving” mean? –Improve performance: decrease execution time, increase throughput –Improve execution time: decrease execution time –Degrade performance: the reverse of the above; brings negative speedup “X is n times faster than Y”:

Benchmark Suite  Benchmark suite is a collection of benchmarks with a variety of applications –Alleviating weakness of a single benchmark –More representative for computer designers to evaluate their design –Benchmarks test both computer and compilers, and OS in many cases  Desktop benchmarks: CPU, memory, and graphics performance  Sever benchmarks: throughput-oriented, I/O and OS intensive  Embedded benchmarks: measuring the ability to meet deadline and save power

Summarizing Performance Given the performance of a set of programs, how to evaluate the performance of machines? ABC P1 (secs)11020 P2 (secs) Total (secs)  Which computer is the “best” one?

Arithmetic Mean  Total execution time / (number of programs) –Simple and intuitive –Representative if the user run the programs an equal number of times

Weighted Arithmetic Mean  Give (different) weights to different programs –Considering the frequencies of programs in the workload

Geometric Means  Based on relative performance to a reference machine  Relative performance is consistent with different reference machines –If C is 2x faster than B (using B as the reference), B is 2x faster than A (A as the reference), then C is 4x faster than A (A as the reference)

Harmonic Mean  Given speedups s1, s2, …, s_n, the average speedup by harmonic mean is n / (1/s1 + 1/s2 + … + 1/s_n) Why not arithmetic mean?

Amdahl’s Law We know about performance: defining, measuring, and summarizing How to maximize performance gains from the beginning in our design?  Principle: Make the Common Case Fast!

Amdahl’s Law  Predict overall speedup from “local speedup” by an enhancement, provided the frequency to use the enhancement is know. –“Local speedup” is related to design and optimization objectives, like to double CPU frequency, to reduce cache latency by half

Amdahl’s Law

Equation Based on Instruction Types

Make Design Choice Using CPU Time Equation Assume we need to improve the performance of a graphics engine: FPFPSQROther Frequency25%2%75% CPI Alternative 1: CPI FPSQR 20  2 Alternative 2: CPI FP 4  2.5 Which one is better? Calculate speedups.

Amdahl’s Law Choice one: Speed up FP Square root by 10x Choice two: Speed up all FP instruction by 1.6x 20% time are used by FP Square root, 50% for all FP inst Which choice is better? Implication: Optimizing for the common case first

SPEC CPU Benchmark  SPEC: Standard Performance Evaluation Corporation  CPU-intensive benchmark for evaluating processor performance of workstation  Four generations: SPEC89, SPEC92, SPEC95, and SPEC2000  Two types of programs: INT and FP  Emphasizing memory system performance in SPEC2000

SPEC CPU2000 Profiling Dynamic instruction mix InstructionInt avgFP avg Load int26%15% Store int10%2% Load fp-15% Store fp-7% Add19%23% All fp inst-41% Cond br.12%4% All ctrl inst16%4%

Other SPEC Benchmarks  SPECviewperf and SPEapc: 3D graphics performance  SPEC JVM98: performance of client- side Java virtual machine  SPEC JBB2000: Server-cline Java application  SPEC WEB99: evaluating WWW servers  SPEC HPC96: parallel and distributed computing

Server Benchmarks  SPEC CPU2000, WBB99, SFS97  TPC Measuring the ability of a system to handle transactions –TPC-C: online transaction processing (OLTP) benchmark (for bank systems) –TPC-H: ad hoc decision make support –TPC-R: decision make support with standard queries –TPC-W: simulating business-oriented transactional web server

Embedded Benchmark  EEMBC (Embedded Microprocessor Benchmark Consortium) benchmarks –Based on kernel performance –Five classes: automotive/industrial, consumer networking, office automation, and telecommunications Embedded benchmarks are not mature