Professional Documents
Culture Documents
What is a performance metric? Characteristics of good metrics Standard processor and system metrics Speedup and relative change
Count
Duration
Size
Time-normalized metrics
Rate metrics
Allows accurate and detailed comparisons Leads to correct conclusions Is well understood by everyone Has a quantitative basis A good metric helps avoid erroneous conclusions
Linear
Fits with our intuition If metric increases 2x, performance should increase 2x Not an absolute requirement, but very appealing
Reliable
MIPS(A) > MIPS(B), but Execution time (A) > Execution time (B)
Repeatable
Same value is measured each time an experiment is performed Must be deterministic Seems obvious, but not always true
Easy to use
Consistent
Units and definition are constant across systems Seems obvious, but often not true
Independent
A lot of $$$ riding on performance results Pressure on manufacturers to optimize for a particular metric Pressure to influence definition of a metric But a good metric is independent of this pressure
10
Linear -- nice, but not necessary Reliable -- required Repeatable -- required Easy to use -- nice, but not necessary Consistent -- required Independent -- required
11
Clock rate
Actual operations performed per cycle Clocks per instruction (CPI) Penalty on branches due to pipeline depth
Clock rate
13
MIPS
Measure of computation speed Millions of instructions executed per second MIPS = n / (Te * 1000000)
Physical analog
14
MIPS
15
MFLOPS
Better definition of distance traveled 1 unit of computation (~distance) 1 floatingpoint operation Millions of floating-point ops per second MFLOPS = f / (Te * 1000000)
GFLOPS, TFLOPS,
Copyright 2004 David J. Lilja 16
MFLOPS
But still doing useful work Sorting, searching, etc. E.g. transcendental ops, roots
17
SPEC
1. 2. 3.
System Performance Evaluation Coop Computer manufacturers select representative programs for benchmark suite Standardized methodology
Measure execution times Normalize to standard basis machine SPECmark = geometric mean of normalized values
Copyright 2004 David J. Lilja 18
SPEC
Geometric mean is inappropriate (more later) SPEC rating does not correspond to execution times of non-SPEC programs Subject to tinkering
Committee determines which programs should be part of the suite Targeted compiler optimizations
Copyright 2004 David J. Lilja
19
QUIPS
Developed as part of HINT benchmark Instead of effort expended, use quality of solution Quality has rigorous mathematical definition QUIPS = Quality Improvements Per Second
20
QUIPS
Find upper and lower rational bounds for 1 (1 x ) 0 (1 x)dx Divide x,y into intervals that are power of 2 Count number of squares completely above/below curve to obtain u and l bounds
Copyright 2004 David J. Lilja 21
Quality = 1/(u l)
QUIPS
From: http://hint.byu.edu/documentation/Gus/HINT/ComputerPerformance.html
Copyright 2004 David J. Lilja 22
QUIPS
23
QUIPS
Primary focus on
24
Execution time
Ultimately interested in time required to execute your program Smallest total execution time == highest performance Compare times directly Derive appropriate rates Time == fundamental metric of performance
Execution time
Execution time
Best to report both wall clock and CPU times Includes system noise effects
Background OS tasks Virtual to physical page mapping Random cache mapping and replacement Variable system load
27
28
Other metrics
Response time
Elapsed time from request to response Jobs, operations completed per unit time E.g. video frames per second Bits per second
Throughput
Bandwidth
Ad hoc metrics
Means-based metrics
Produces unreliable metrics Measures progress towards a goal Only counts what is actually accomplished
Copyright 2004 David J. Lilja 30
Ends-based metrics
Execution time
Clock rate
MFLOPS
MIPS
QUIPS
SPEC
31
Speedup
32
Speedup
D1 = D2 = D
Total work done by each system is defined to be execution of the same program
Speedup
R2 D2 / T2 D / T2 S 2,1 R1 D1 / T1 D / T1 T1 T2
Copyright 2004 David J. Lilja 34
Speedup
S 2,1 1 System 2 is faster tha n System1 S 2,1 1 System 2 is slower tha n System1
35
Relative change
R2 R1 2,1 R1
Copyright 2004 David J. Lilja 36
Relative change
R2 R1 D / T2 D / T1 2,1 R1 D / T1 T1 T2 T2 S 2,1 1
Copyright 2004 David J. Lilja 37
Relative change
2,1 0 System 2 is faster tha n System1 2,1 0 System 2 is slower tha n System1
38
Important Points
Metrics can be
39
Important Points
Linear
More natural
Useful for comparison and prediction
Reliable
Important Points
Not-so-good metric Better metrics
Execution time
Clock rate
MFLOPS
MIPS
QUIPS
SPEC
41
Important Points
42