SPEC 2006 CSE 820. Michigan State University Computer Science and Engineering Q1. What is SPEC? SPEC is the Standard Performance Evaluation Corporation.

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

Computer Abstractions and Technology
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4:
Performance Analysis of Multiprocessor Architectures
Lecture 7: 9/17/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Introduction CS 524 – High-Performance Computing.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
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 CSE SUNY New Paltz Chapter 2 Performance and Its Measurement.
1 Recap. 2 Measuring Performance  A computer user: response time (execution time).  A computer center manager - throughput - the total amount of work.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.5 Comparing and Summarizing Performance.
CS/ECE 3330 Computer Architecture Chapter 1 Performance / Power.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
Chapter 4 Assessing and Understanding Performance
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
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.
CPU Performance Assessment As-Bahiya Abu-Samra *Moore’s Law *Clock Speed *Instruction Execution Rate - MIPS - MFLOPS *SPEC Speed Metric *Amdahl’s.
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.
Computer Organization and Design Performance Montek Singh Mon, April 4, 2011 Lecture 13.
1 Computer Performance: Metrics, Measurement, & Evaluation.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Computer Performance Computer Engineering Department.
Types of Computers Mainframe/Server Two Dual-Core Intel ® Xeon ® Processors 5140 Multi user access Large amount of RAM ( 48GB) and Backing Storage Desktop.
Copyright 1995 by Coherence LTD., all rights reserved (Revised: Oct 97 by Rafi Lohev, Oct 99 by Yair Wiseman, Sep 04 Oren Kapah) IBM י ב מ 7-1 Measuring.
BİL 221 Bilgisayar Yapısı Lab. – 1: Benchmarking.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
CWRU EECS 3221 Benchmarks EECS 322 Computer Architecture Instructor: Francis G. Wolff Case Western Reserve University This presentation.
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.
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.
From lecture slides for Computer Organization and Architecture: Designing for Performance, Eighth Edition, Prentice Hall, 2010 CS 211: Computer Architecture.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Computer Architecture
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CSE2021: Computer Organization Instructor: Dr. Amir Asif Department of Computer Science York University Handout # 2: Measuring Performance Topics: 1. Performance:
Full and Para Virtualization
1  1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the performance.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
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!
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
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.
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.
Measuring Performance II and Logic Design
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
Software Architecture in Practice
Defining Performance Which airplane has the best performance?
Prof. Hsien-Hsin Sean Lee
CSCE 212 Chapter 4: Assessing and Understanding Performance
Computer Performance He said, to speed things up we need to squeeze the clock.
CMSC 611: Advanced Computer Architecture
CMSC 611: Advanced Computer Architecture
Types of Computers Mainframe/Server
CMSC 611: Advanced Computer Architecture
CMSC 611: Advanced Computer Architecture
Computer Performance Read Chapter 4
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Presentation transcript:

SPEC 2006 CSE 820

Michigan State University Computer Science and Engineering Q1. What is SPEC? SPEC is the Standard Performance Evaluation Corporation. SPEC is a non-profit organization whose members include computer hardware vendors, software companies, universities, research organizations, systems integrators, publishers and consultants. SPEC's goal is to establish, maintain and endorse a standardized set of relevant benchmarks for computer systems. Although no one set of tests can fully characterize overall system performance, SPEC believes that the user community benefits from objective tests which can serve as a common reference point.

Michigan State University Computer Science and Engineering Q2. What is a benchmark? A benchmark is "a standard of measurement or evaluation" (Webster’s II Dictionary). A computer benchmark is typically a computer program that performs a strictly defined set of operations - a workload - and returns some form of result - a metric - describing how the tested computer performed. Computer benchmark metrics usually measure speed: how fast was the workload completed; or throughput: how many workload units per unit time were completed. Running the same computer benchmark on multiple computers allows a comparison to be made.

Michigan State University Computer Science and Engineering Q3. Should I benchmark my own application? Ideally, the best comparison test for systems would be your own application with your own workload. Unfortunately, it is often impractical to get a wide base of reliable, repeatable and comparable measurements for different systems using your own application with your own workload. Problems might include generation of a good test case, confidentiality concerns, difficulty ensuring comparable conditions, time, money, or other constraints.

Michigan State University Computer Science and Engineering Q5. What does SPEC CPU2006 measure? SPEC CPU2006 focuses on compute intensive performance, emphasizing: –the computer processor (CPU), –the memory architecture, and –the compilers. SPEC CPU2006 contains two components that focus on two different types of compute intensive performance: –CINT2006 suite measures compute-intensive integer performance, –CFP2006 suite measures compute-intensive floating point performance. SPEC CPU2006 is not intended to stress other computer components such as networking, the operating system, graphics, or the I/O system. For single-CPU tests, the effects from such components on SPEC CPU2006 performance are usually minor. For large rate runs, operating system services may affect performance, and the I/O system - number of disks, speed, striping - can have an effect.

Michigan State University Computer Science and Engineering Many Other SPEC Benchmarks

Michigan State University Computer Science and Engineering Q6. Why use SPEC CPU2006? SPEC CPU2006 provides a comparative measure of integer and/or floating point compute intensive performance. Other advantages to using SPEC CPU2006 include: The benchmark programs are developed from actual end-user applications, as opposed to being synthetic benchmarks. Multiple vendors use the suite and support it. SPEC CPU2006 is highly portable. A wide range of results are available at The benchmarks are required to be run and reported according to a set of rules to ensure comparability and repeatability.

Michigan State University Computer Science and Engineering Q8. What is included in the SPEC CPU2006 package? SPEC provides the following on the SPEC CPU2006 media (DVD): Source code for the CINT2006 benchmarks Source code for the CFP2006 benchmarks A tool set for compiling, running, validating and reporting on the benchmarks Pre-compiled tools for a variety of operating systems Source code for the SPEC CPU2006 tools, for systems not covered by the pre-compiled tools Run and reporting rules defining how the benchmarks should be used to produce SPEC CPU2006 results. Documentation

Michigan State University Computer Science and Engineering Q10. What are the basic steps in running the benchmarks? Ensure that you meet the system requirements.system requirements Install SPEC CPU2006 from the DVD Determine which metric you wish to run. Locate a configuration file as a starting point. Use runspec to build the benchmarks. If the above steps are successful, use runspec to run, validate, and create a report on the performance of the benchmarks.

Michigan State University Computer Science and Engineering CINT perlbench400.perlbenchCPERL Programming Lang 401.bzip2401.bzip2CCompression 403.Gcc403.GccCC Compiler 429.Mcf429.McfCCombinatorial Optimization 445.Gobmk445.GobmkCArtificial Intelligence: go 456.Hmmer456.HmmerCSearch Gene Sequence 458.Sjeng458.SjengCArtificial Intelligence: chess 462.Libquantum462.LibquantumCPhysics: Quantum Computing 464.h264ref464.h264refCVideo Compression 471.Omnetpp471.OmnetppC++Discrete Event Simulation 473.Astar473.AstarC++Path-finding Algorithms 483.Xalancbmk483.XalancbmkC++XML Processing

Michigan State University Computer Science and Engineering CFP Bwaves410.BwavesFortranFluid Dynamics 416.Gamess416.GamessFortranQuantum Chemistry 433.Milc433.MilcCPhysics: Quantum Chromodynamics 434.Zeusmp434.ZeusmpFortranPhysics/CFD 435.Gromacs435.GromacsC/FortranBiochemistry/Molecular Dynamics 436.cactusADM436.cactusADMC/FortranPhysics/General Relativity 437.leslie3d437.leslie3dFortranFluid Dynamics 444.Namd444.NamdC++Biology/Molecular Dynamics 447.dealII447.dealIIC++Finite Element Analysis 450.Soplex450.SoplexC++Linear Programming, Optimization 453.Povray453.PovrayC++Image Ray-tracing 454.Calculix454.CalculixC/FortranStructural Mechanics 459.GemsFDTD459.GemsFDTDFortranComputational Electromagnetics 465.Tonto465.TontoFortranQuantum Chemistry 470.Lbm470.LbmCFluid Dynamics 481.Wrf481.WrfC/FortranWeather Prediction 482.sphinx3482.sphinx3CSpeech recognition

Michigan State University Computer Science and Engineering Q13. What metrics can be measured? SPECint2006: The geometric mean of twelve normalized ratios - one for each integer benchmark - when the benchmarks are compiled with peak tuning.peak SPECint_base2006: The geometric mean of twelve normalized ratios when the benchmarks are compiled with base tuning.base SPECint_rate2006: The geometric mean of twelve normalized throughput ratios when the benchmarks are compiled with peak tuning.throughput SPECint_rate_base2006: The geometric mean of twelve normalized throughput ratios when the benchmarks are compiled with base tuning. Similar for FP

Michigan State University Computer Science and Engineering Q14. What is the difference between a "base" metric and a "peak" metric? The base metrics (e.g. SPECint_base2006) are required for all reported results and have stricter guidelines for compilation. For example, the same flags must be used in the same order for all benchmarks of a given language. This is the point closer to those who might prefer a relatively simple build process. The peak metrics (e.g. SPECint2006) are optional and have less strict requirements. For example, different compiler options may be used on each benchmark, and feedback-directed optimization is allowed. This point is closer to those who may be willing to invest more time and effort in development of build procedures.

Michigan State University Computer Science and Engineering Q15. What is the difference between a "rate" and a "speed" metric? There are several ways to measure computer performance. –One way is to measure how fast the computer completes a single task; this is a speed measure. –Another way is to measure how many tasks a computer can accomplish in a certain amount of time; this is called a throughput, capacity or rate measure. For the rate metrics, multiple copies of the benchmarks are run simultaneously. Typically, the number of copies is the same as the number of CPUs on the machine, but this is not a requirement

Michigan State University Computer Science and Engineering Q17: SPEC CPU2000 is already available. Why create SPEC CPU2006? Technology is always improving. As the technology improves, the benchmarks should improve as well. SPEC needed to address the following issues: Run-time: As of summer, 2006, many of the CPU2000 benchmarks are finishing in less than a minute on leading-edge processors/systems. Small changes or fluctuations in system state or measurement conditions can therefore have significant impacts on the percentage of observed run time. SPEC chose to make run times for CPU2006 benchmarks longer to take into account future performance and prevent this from being an issue for the lifetime of the suites. Application size: As applications grow in complexity and size, CPU2000 becomes less representative of what runs on current systems. For CPU2006, SPEC included some programs with both larger resource requirements and more complex source code. Application type: SPEC felt that there were additional application areas that should be included in CPU2006 to increase variety and representation within the suites. For example, video compression and speech recognition have been added, and molecular biology has been significantly expanded. Moving target: CPU2000 has been available for six years and much improvement in hardware and software has occurred during this time. Benchmarks need to evolve to keep pace with improvements.

Michigan State University Computer Science and Engineering Q19: Is there a way to translate SPEC CPU2000 results to SPEC CPU2006 results or vice versa? There is no formula for converting CPU2000 results to CPU2006 results and vice versa; they are different products. There probably will be some correlation between CPU2000 and CPU2006 results (i.e., machines with higher CPU2000 results often will have higher CPU2006 results), but there is no universal formula for all systems.

Michigan State University Computer Science and Engineering Q20: What criteria were used to select the benchmarks? portability to a variety of CPU architectures (32- and 64-bit including AMD64, Intel IA32, Itanium, PA-RISC, PowerPC, SPARC, etc.) portability to various operating systems, particularly UNIX and Windows nearly all of the time is spent compute bound little time spent in IO and system services benchmarks should run in about 1GB RAM without swapping or paging no more than five percent of benchmarking time should be spent processing code not provided by SPEC well-known applications or application areas available workloads that represent real problems

Michigan State University Computer Science and Engineering Q23: Why does SPEC use a reference machine? What machine is used for SPEC CPU2006? SPEC uses a reference machine to normalize the performance metrics used in the CPU2006 suites. Each benchmark is run and measured on this machine to establish a reference time for that benchmark. These times are then used in the SPEC calculations. SPEC uses a historical Sun system, the "Ultra Enterprise 2" which was introduced in 1997, as the reference machine. The reference machine uses a 296 MHz UltraSPARC II processor, as did the reference machine for CPU2000. But the reference machines for the two suites are not identical: the CPU2006 reference machine has substantially better caches, and the CPU2000 reference machine could not have held enough memory to run CPU2006. It takes about 12 days to do a rule-conforming run of the base metrics for CINT2006 and CFP2006 on the CPU2006 reference machine.

Michigan State University Computer Science and Engineering Q26: Where are SPEC CPU2006 results available?