0% found this document useful (0 votes)
16 views16 pages

23-Performance Parameters-21-02-2023

The document defines different ways to measure time including response time, throughput, and CPU execution time. It discusses measuring performance as the inverse of execution time and how to compare the performance of different machines. It also describes how computer clocks work and how the number of clock cycles varies between different instruction types.

Uploaded by

akum2302
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views16 pages

23-Performance Parameters-21-02-2023

The document defines different ways to measure time including response time, throughput, and CPU execution time. It discusses measuring performance as the inverse of execution time and how to compare the performance of different machines. It also describes how computer clocks work and how the number of clock cycles varies between different instruction types.

Uploaded by

akum2302
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Definitions of Time

• Time can be defined in different ways, depending


on what we are measuring:
– Response time
• The time between the start and completion of a task. It includes
time spent executing on the CPU, accessing disk and memory,
waiting for I/O and other processes, and operating system
overhead. This is also referred to as execution time.
– Throughput
• The total amount of work done in a given time.
– CPU execution time :
• Total time a CPU spends computing on a given task (excludes
time for I/O or running other programs). This is also referred to
as simply CPU time.
CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 1
Definitions of Time
• For some program running on machine X,
Performance = 1 / Execution time(X)
• "X is n times faster than Y"
Performance(X)/ Performance(Y) = n
• Problem:
– machine A runs a program in 20 seconds
– machine B runs the same program in 25 seconds
– how many times faster is machine A?
25
= 1.25
20

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 2
Basic Measurement Metrics
• Comparing Machines
– Execution time
– Throughput
– CPU time
– MIPS –millions of instructions per second
– MFLOPS –millions of floating point operations per
second
• Comparing Machines Using Sets of Programs
– Arithmetic mean, weighted arithmetic mean
– Benchmarks

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 3
Computer Clock
• Runs at a constant rate and determines when events
take placed in hardware.

clock period
• The clock cycle time is the amount of time for one
clock period to elapse (e.g. 5 ns).
• The clock rate is the inverse of the clock cycle time.
• For example, if a computer has a clock cycle time of 5
ns, the clock rate is:
1
---------------------- = 200 MHz
5 x 10-9 sec
CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 4
Basic Measurement Metrics
• Different Numbers of Cycles for Different
Instructions

time

• Division takes more time than addition


• Floating point operations take longer than integer
ones
• Accessing memory takes more time than accessing
registers
CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 5
Computing CPU Time
• The time to execute a given program can be computed as
CPU time = CPU clock cycles x clock cycle time
• Since clock cycle time and clock rate are reciprocals
CPU time = CPU clock cycles / clock rate
• The number of CPU clock cycles can be determined by
CPU clock cycles = (instructions/program) x (clock cycles/instruction)
= Instruction count x CPI
which gives
CPU time = Instruction count x CPI x clock cycle time
CPU time = Instruction count x CPI / clock rate

• The units for CPU time are


instructions clock cycles seconds
CPU time = ----------------- x ----------------- x ----------------
program instruction clock cycle

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 7
CPU Time Example
• Example 1:
– CPU clock rate is 1 MHz
– Program takes 45 million cycles to execute
– What’s the CPU time?
• 45,000,000 * (1 / 1,000,000) = 45 seconds
• Example 2:
– CPU clock rate is 500 MHz
– Program takes 45 million cycles to execute
– What’s the CPU time
• 45,000,000 * (1 / 500,000,000) = 0.09 seconds

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 9
CPI Example
• Let assume that a benchmark has 100 instructions:
– 25 instructions are loads/stores (each take 2 cycles)
– 50 instructions are adds (each takes 1 cycle)
– 25 instructions are square root (each takes 50 cycles)
• What is the CPI for this benchmark?

CPI = ((0.25 * 2) + (0.50 * 1) + (0.25 * 50))


= 13.5

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 10
CPI Example
• Suppose we have two implementations of the same
instruction set architecture (ISA).
– For some program,
• Machine A has a clock cycle time of 10 ns. and a CPI of 2.0
• Machine B has a clock cycle time of 20 ns. and a CPI of 1.2
• Which machine is faster for this program, and by how
much?
• Assume that # of instructions in the program is
1,000,000,000.
CPU TimeA = 109 * 2.0 * 10 * 10-9 = 20 seconds
CPU TimeB = 109 * 1.2 * 20 * 10-9 = 24 seconds

24
= 1.2 times Machine A is faster
20
CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 13
Number of Instruction Example
• A compiler designer is trying to decide between two code sequences
for a particular machine. Based on the hardware implementation,
there are three different classes of instructions: Class A, Class B,
and Class C, and they require one, two, and three cycles
(respectively).
The first code sequence has 5 instructions: 2 of A, 1 of B, and 2 of C
The second sequence has 6 instructions: 4 of A, 1 of B, and 1 of C.
Which sequence will be faster? How much?
What is the CPI for each sequence?
• # of cycles for first code = (2 * 1) + (1 * 2) + (2 * 3) = 10 cycles
• # of cycles for second code = (4 * 1) + (1 * 2) + (1 * 3) = 9 cycles

CPI for first code = 10 / 5 = 2


10 / 9 = 1.11 times
CPI for second code = 9 / 6 = 1.5

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 14
Problems with Arithmetic Mean
• Applications do not have the same probability of
being run
• For example, two machines timed on two
benchmarks:
Machine A Machine B
Program 1 2 seconds (%20) 6 seconds (20%)
Program 2 12 seconds (%80) 10 seconds (%80)

Average execution timeA = (2 + 12) / 2 = 7 seconds


Average execution timeB = (6 + 10) / 2 = 8 seconds

Weighted average execution timeA = 2*0.2 + 12*0.8 = 10 seconds


Weighted average execution timeB = 6*0.2 + 10*0.8 = 9.2 seconds

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 15
Poor Performance Metrics
• Marketing metrics for computer performance
included MIPS and MFLOPS
– MIPS : millions of instructions per second
– MIPS = instruction count / (execution time x 106)
• For example, a program that executes 3 million
instructions in 2 seconds has a MIPS rating of
– 1.5
• Advantage : Easy to understand and measure
• Disadvantages : May not reflect actual performance,
since simple instructions do better.

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 16
Poor Performance Metrics
• MFLOPS : millions of floating point operations per
second
• MFLOPS = floating point operations / (execution
time x 106)
• For example, a program that executes 4 million fp.
instructions in 5 seconds has a MFLOPS rating of
– 0.8
• Advantage : Easy to understand and measure
• Disadvantages : Same as MIPS, only measures
floating point

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 17
Reference
T1: W. Stallings, “Computer Organization and
Architecture”, 8th edition, PHI, 2006.

CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 21
CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 22
CSE2001 Computer Architecture and Organization ; Dr M Rajasekhara Babu, School of C.S.E, Vellore Institute of Technology (VIT)-Vellore-14; 7-Mar-23 9:38 AM Slide. 23

You might also like