L-2 (Computer Performance)
L-2 (Computer Performance)
3
What do we measure?
Define performance….
5
Computer Performance: TIME, TIME,
TIME!!!
• Response Time (elapsed time, latency):
• How long does it take to complete (start to finish) a task? Individual user
• Eg: how long must I wait for the database query? concerns…
8
Relative Performance
9
Relative Performance
10
Execution Time
• Elapsed Time
• counts everything (disk and memory accesses, waiting for I/O, running other
programs, etc.) from start to finish
• a useful number, but often not good for comparison purposes
Elapsed time = CPU time + wait time (I/O, other programs, etc.)
• CPU time
• doesn't count waiting for I/O or time spent running other programs
• can be divided into user CPU time and system CPU time (OS calls)
CPU time = user CPU time + system CPU time
• Our focus:
• user CPU time (CPU execution time or, simply, execution time)
• time spent executing the lines of code that are in our program
• For easier writing, user CPU time has been termed simply as CPU time in rest of
the studies.
Execution Time
Summary of Execution Time
CPU Clocking
14
CPU Clocking
Clock
Processor
Transistor
s
15
CPU Time
Performance Equation - I
16
Example
18
CPU Time Example
19
CPU Time Example
20
No. of Clock Cycles
21
Instruction Count and CPI
Performance Equation - II 22
23
24
25
26
Factors Influencing Performance
27
Factors Influencing Performance
28
Factors Influencing Performance
29
Factors Influencing Performance
31
CPU Time Example
32
CPU Time Example
33
Self Help
• Which code sequence has the most instructions? Which sequence will be
faster? How much? What is the CPI for each sequence?
For different class of Instructions
CPI Example
Which code sequence has the most instructions?
• Two different compilers are being tested for a 500 MHz. machine with
three different classes of instructions: Class A, Class B, and Class C,
which require 1, 2 and 3 cycles (respectively). Both compilers are used
to produce code for a large piece of software.
• Compiler 1 generates code with 5 billion Class A instructions, 1 billion
Class B instructions, and 1 billion Class C instructions.
• Compiler 2 generates code with 10 billion Class A instructions, 1 billion
Class B instructions, and 1 billion Class C instructions.
• Benchmark suites
• Each vendor announces a SPEC rating for their system
• a measure of execution time for a fixed collection of programs
• is a function of a specific CPU, memory system, IO system, operating
system, compiler enables easy comparison of different systems
• The SPEC rating specifies how much faster a system is, compared to
a baseline machine – a system with SPEC rating 600 is 1.5 times
faster than a system with SPEC rating 400
• Note that this rating incorporates the behavior of all 29 programs – this
may not necessarily predict performance for your favorite program!
42
SPEC CPU
43
SPEC CPU
44
Summary
46
47
Power Wall
Power Wall
51
Power Wall
52