(2010-02-27) Measuring Performance
(2010-02-27) Measuring Performance
Kosarev Nikolay
MIPT
Feb, 2010
Agenda
Performance measures
Benchmarks
Summarizing results
Performance measures
Time to perform an individual operation
The first metric. Used if most instructions take the same
execution time.
Instruction mix
Idea is to categorize all instructions into classes by cycles
required to execute an instruction. Average instruction
execution time is calculated (IPC if measured in cycles).
Gibson instruction mix [1970]. Proposed weights for a set of
predefined instruction classes (based on programs running on
IBM 704 and 650)
Depends on the program executed, instruction set. Could be
optimized by compiler. Ignores major performance impacts
(memory hierarchy etc.)
MFLOPS
Benchmarks
Program kernels
Small programs extracted from real applications. E.g. Livermore
Fortran Kernels (LFK) [1986].
Dont stress memory hierarchy in a realistic fashion, ignore operating
system.
Toy programs
Real applications but too small to characterize programs that are
likely to be executed by the users of a system. E.g. quicksort.
Synthetic benchmarks
Artificial programs, try to match profile and behavior of real
application. E.g. Whetstone [1976], Dhrystone [1984].
Ignore interactions between instructions (due to new ordering) that
lead to pipeline stalls, change of memory locality.
Benchmarks (cont.)
SPEC
SPEC (Standard Performance Evaluation Corporation)
Benchmark suites consist of real programs modified to be portable
and to minimize the effect of I/O activities on performance
5 SPEC generations: SPEC89, SPEC92, SPEC95, SPEC2000 and
SPEC2006 (used to measure desktop and server CPU performance)
Benchmarks organized in two suites: CINT and CFP
2 derived metrics: SPECratio and SPECrate
SPECSFS, SPECWeb (file server and web server benchmarks)
measure performance of I/O activities (from disk or network traffic)
as well as the CPU
Benchmarks (cont.)
Benchmarks (cont.)
SPECratio is a speed metric
How fast a computer can complete single task
Execution time normalized to a reference computer. Formula:
Benchmarks (cont.)
SPECrate is a throughput metric
Measures how many tasks the system completes within an
arbitrary time interval
Measured elapsed time from when all copies of one
benchmark are launched simultaneously until the last copy
finishes
Each benchmark measured independently
User is free to choose # of benchmark copies to run in order
to maximize performance
Formula
Reference factor normalization factor; benchmark duration is normalized to standard job length
(benchmark with the longest SPEC reference time). Unit time used to convert to unit of time more
appropriate for work (e.g. week)
10