Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

UNIVERSITY OF IRINGA

FACULTY OF SCIENCE AND EDUCATION


DEPARTMENT OF INFORMATION TECHNOLOGY

LECTURE TWO
INTRODUCTION TO COMPUTER SYSTEM PERFORAMANCE

Reg, No. Course Year


DIT 112 Introduction to computer architecture 2018/ 2019

Ass. Lecturer: Thobius Joseph (M.Sc. In Telecom Eng.)

4/3/2019 Thobius Joseph, Msc. In TE ENG 1


CONTENTS

- Computer performance

- Performance metrics

- Application of computer architecture

4/3/2019 Thobius Joseph, Msc. In TE ENG 2


Course descriptions

 Course Contents
 1. Introduction to Computer abstractions
 2. Computer systems performance
 3. Instruction Set Architecture (ISA); MIPS
 4. Signed / unsigned number representations
 5. Representing instructions
 6. Central Processing Unit: data path and control
 7. Memory and Memory Hierarchy
 Course Grading
 10% Project/Research and 5% Quiz
 20% (2 test)
 60% Final-term Examination
 5~10% Class Participation & Discussion
 Readings
 Irv Englander, “The Architecture of Computer Hardware, Systems Software & Networking”,
4th ed., J. Wiley & Sons Inc., 2009, ISBN-10: 0471715425.
 Andrew S. Tanenbaum and Todd Austin, “Structured Computer Organization”, 6th ed.,
Prentice Hall, 2012, ISBN-10: 0132916525.

4/3/2019 Thobius Joseph, Msc. In TE ENG 3


Why Computer system performance?

 Computers are evolving very fast, analog to digital; palmtop to laptop ..


 There are needs to understand how they work (performance) and to
understand why they are changing (efficiency).
 Computer Architecture is critical to performance and efficiency.
 Understand the functionality and operation of the basic elements of
computer system including processor , memory and input/output will assist in
performance evaluations.
 Computer performance is the amount of useful work accomplished by
a computer system OR is the efficiency of a given computer system, or how
well the computer performs, when taking all aspects into account. The word
performance in computer performance means the same thing that
performance means in other contexts, that is, it means "How well is the
computer doing the work it is supposed to do?
 Computer performance evaluation is defined as the process by which a
computer system's resources and outputs are assessed to determine whether
the system is performing at an optimal level. It is similar to a voltmeter that a
handyman may use to check the voltage across a circuit. The meter verifies
that the correct voltage is passing through the circuit. Similarly, an assessment
can be done on a PC using established benchmarks to see if it is performing
correctly.

4/3/2019 Thobius Joseph, Msc. In TE ENG 4


Why Computer Performance Evaluation Is Complex?

 In evaluating a computer's performance, a number of parameters are used to


determine the result. Examples are latency, speed, throughput, bandwidth and
more ..; Standards, or points of reference, are used against the parameters, and an
assessment is given. This process is known as benchmarking.
 It is not an easy task to create benchmarks for assessing overall computer
performance(for example CPU benchmark are well established than other
metrics).
 The primary challenge is that technological characteristics are constantly changing.
This means that benchmarking has to be constantly updated, too. This makes
computer evaluation a complex process.
 Computer performance aspects OR parameters OR metrics (things to measure)
include availability, response time, channel capacity, latency, completion time,
service time, bandwidth, throughput, relative efficiency, scalability, performance
per watt, compression ratio, instruction path length and speed up.
NB: Because there are so many programs to test a CPU on all aspects of performance,
benchmarks were developed.

The most famous benchmarks are the SPECint and SPECfp benchmarks developed by
Standard Performance Evaluation Corporation and the ConsumerMark benchmark
developed by the Embedded Microprocessor Benchmark Consortium EEMBC.

4/3/2019 Thobius Joseph, Msc. In TE ENG 5


Computer Performance Parameters
 Response Time
A functioning computer environment comprises millions of data transmission cycles consisting of user
requests and system responses. The response time is defined as the total time lapse between the
completion of an inquiry or demand made on a system resource and the receipt of a response. In real
life, it can be compared to the time between placing an order to receiving a delivery. Response time is
the total amount of time it takes to respond to a request for service. In computing, that service can be
any unit of work from a simple disk IO to loading a complex web page. The response time is the sum of
three numbers:

Service time - How long it takes to do the work requested.


Wait time - How long the request has to wait for requests queued ahead of it before it gets to run.
Transmission time – How long it takes to move the request to the computer doing the work and the
response back to the requestor.
 Latency (sec/task)
Latency is the term used to describe the state of existence of something in transition. Every transmitted
piece of information on a computer system travels over some sort of medium. Computer latency is
defined as the time it takes to communicate a message, or the time the message spends traveling the
geographical distance ('on the wire') before it gets to its desired destination. This can be compared to
the time one spends on an aircraft, traveling from one geographical location to another. Computers run
sets of instructions called a process. In operating systems, the execution of the process can be
postponed if other processes are also executing. In addition, the operating system can schedule when
to perform the action that the process is commanding. For example, suppose a process commands that
a computer card's voltage output be set high-low-high-low and so on at a rate of 1000 Hz. The
operating system may choose to adjust the scheduling of each transition (high-low or low-high) based
on an internal clock. The latency is the delay between the process instruction commanding the
transition and the hardware actually transitioning the voltage from high to low or low to high.

4/3/2019 Thobius Joseph, Msc. In TE ENG 6


Computer Performance Parameters
 Response Time
A functioning computer environment comprises millions of data transmission cycles consisting of user
requests and system responses. The response time is defined as the time between the start and
completion of a task or the total time lapse between the completion of an inquiry or demand made on
a system resource and the receipt of a response. In real life, it can be compared to the time between
placing an order to receiving a delivery.
 Speed
The term speed is usually in reference to the clock speed of the processor. The clock speed is defined
as the clock cycles per second, which determines the rate at which instruction processing takes place. It
is usually measured in megahertz (MHz) or gigahertz (GHz). Computer speed is one of the leading
parameters in assessing a computer's performance. It can be compared to the horsepower of an
engine. The higher the horsepower, the faster the car can move.
 Throughput (tasks/sec)
Computer function consist of millions of data transmissions between devices and components. The
computer’s throughput is defined as the number of units of information that can be successfully
processed at any given time. It normally measured in bits per second()bps or Mbps. In an example the
post office can receive and process a maximum of 1000 items per day, then that’s its throughput.
 Bandwidth
Is admeasure of the maximum rate at which data can be transferred between components of the
computer system or amount of data that is sent at any particular time across a specific connection.
 Scalability
Scalability is the ability of a system, network, or process to handle a growing amount of work in a
capable manner or its ability to be enlarged to accommodate that growth.
 Power consumption
The amount of electricity used by the computer. This becomes especially important for systems with
limited power sources such as solar, batteries, human power.

4/3/2019 Thobius Joseph, Msc. In TE ENG 7


Grouping of Computer Performance Evaluation Metrics
 One of the areas where performance evaluation is becoming especially complex is in
processor design. Processors have increased its number of basic components (transistors) by
a factor of two about every 18 months accordingly to Moore's law. Besides, in the past, the
main parameter that designers cared about was execution time and area, but nowadays
other performance metrics such as power consumption, power density, thermal
characteristics and reliability are key performance metrics. There followings provides one of
method of grouping these metrics:
- Responsiveness
- Usage Level
- Missionability
- Dependability
- Productivity
 Responsiveness
We can group some of available metrics in these pattern when we intended to evaluate how
quickly a given task can be accomplished by the system. Possible measures are waiting time,
response time, queue length, etc.
 Usage Level
These are group intended to evaluate how well the various components of the system are being
used. Possible measures are throughput and utilization of various resources.
 Missionability
These measures indicate if the system would remain continuously operational for the
duration of a Possible measures are the distribution of the work accomplished during
the mission time, interval availability (probability that 5 the system will keep
performing satisfactorily throughout the mission time), and the life-time (time when
the probability of unacceptable behavior increases beyond some threshold).
4/3/2019 Thobius Joseph, Msc. In TE ENG 8
Grouping of Computer Performance Evaluation Metrics
 Dependability
These measures indicate how reliable the system is over the long run. Possible measures
are the number of failures per day, MTTF (mean time to failure), MTTR (mean time to
repair), long-term availability, and the cost of a failure.
 Productivity
These measures indicate how effectively a user can get his or her work accomplished.
Possible measures are user friendliness, maintainability, and
Understandability
 We have different kind of computers such as supercomputers and laptops dependents
on users applications. Now if we can group users applications in certain group of
application domains, we will be able to visualize in which domain some metrics are
more preferred than others; Let's generates three kind of application domains:
 General purpose computing:
In this domain computers Systems founded are designed for general purpose problem
solving. Relevant or Suitable measures of interest will be those under responsiveness,
usage level, and productivity. Dependability requirements are modest, especially for
benign failures.
 High availability:
Such systems are designed for transaction processing environments (banks, airlines, or
telephone databases, switching systems, etc.). The most important measures are
responsiveness and dependability. Both of these requirements are more sever than for
general purpose computing systems. Productivity is also an important factor.

4/3/2019 Thobius Joseph, Msc. In TE ENG 9


Grouping of Computer Performance Evaluation Metrics
 Real-time control:
Such systems must respond to both periodic and randomly occurring events
within some (possibly hard) timing constraints. They require high 10 levels of
responsiveness and dependability for most workloads and failure types and are
therefore significantly over-designed. Note that the utilization and throughput
pay little role in such.
 Mission oriented:
These systems require high levels of reliability over a short period, called the
mission time. Little or no repair / tuning is possible during the mission. Such
systems include fly -by -wire airplanes, battlefield systems, include fly -by -wire
airplanes, battlefield systems, and spacecraft's. Responsiveness is also important,
but usually not difficult to achieve. Such systems may try to achieve high
reliability during short term at the expense of poor reliability beyond mission
period.
 Long-life:
Systems like the ones used in unmanned spaceships need long life without
provision for manual diagnostics and repairs. Thus, in addition to being highly
dependable, they should have considerable intelligence built in to do diagnostics
and repair either automatically or by remote control from a ground station.
Responsiveness is important but not difficult to achieve.
4/3/2019 Thobius Joseph, Msc. In TE ENG 10
Calculation Performance
 Response time and throughput
 CPU performance and its factors
 Instruction performance
 Power calculations.

4/3/2019 Thobius Joseph, Msc. In TE ENG 11


Calculation Performance

4/3/2019 Thobius Joseph, Msc. In TE ENG 12


Calculation Performance

4/3/2019 Thobius Joseph, Msc. In TE ENG 13


Calculation Performance
 For simplicity, we will normally use the terminology as fast as when we try to
compare computers quantitatively. Because performance and execution time
are reciprocals, increasing performance requires decreasing execution time.
To avoid the potential confusion between the terms increasing and
decreasing, we usually say “improve performance” or “improve execution
time” when we mean “increase performance” and “decrease execution time.
 Time is the measure of computer performance: the computer that performs
the same amount of work in the least time is the fastest. Program execution
time is measured in seconds per program. However, time can be defined in
different ways, depending on what we count. Th e most straightforward
definition of time is called wall clock time, response time, or elapsed time.
These terms mean the total time to complete a task, including disk accesses,
memory accesses, input/output (I/O) activities, operating system overhead—
everything.
 Computers are oft en shared, however, and a processor may work on several
programs simultaneously. In such cases, the system may try to optimize
throughput rather than attempt to minimize the elapsed time for one
program. Hence, we oft en want to distinguish between the elapsed time and
the time over which the processor is working on our behalf.
 CPU execution time Also called CPU time. The actual time the CPU spends
computing for a specific task which divided into user CPU time -The CPU time
spent in a program itself and system CPU time- The CPU time spent in the
operating system performing tasks on behalf of the program
4/3/2019 Thobius Joseph, Msc. In TE ENG 14
Calculation Performance –CPU time
 Since we are confining ourselves to CPU performance at this point, the
bottom-line performance measure is CPU. A simple formula relates the
most basic metrics (clock cycles and clock cycle time) to CPU time:

Alternatively, because clock rate and clock cycle time are inverses,

 This formula makes it clear that the hardware designer can improve
performance by reducing the number of clock cycles required for a
program or the length of the clock cycle.

4/3/2019 Thobius Joseph, Msc. In TE ENG 15


Calculation Performance –CPU time

4/3/2019 Thobius Joseph, Msc. In TE ENG 16


4/3/2019 Thobius Joseph, Msc. In TE ENG 17
 The performance equations above did not include any
reference to the number of instructions needed for the
program. However, since the compiler clearly generated
instructions to execute, and the computer had to execute
the instructions to run the program, the execution time
must depend on the number of instructions in a program.
 One way to think about execution time is that it equals the
number of instructions executed multiplied by the average
time per instruction. Therefore, the number of clock cycles
required for a program can be written as

 Clock cycles per instruction (CPI) Average number of clock


cycles per instruction for a program or program fragment

4/3/2019 Thobius Joseph, Msc. In TE ENG 18


 The term clock cycles per instruction, which is the average number
of clock cycles each instruction takes to execute, is oft en
abbreviated as CPI. Since different instructions may take different
amounts of time depending on what they do, CPI is an average of
all the instructions executed in the program. CPI provides one way
of comparing two different implementations of the same
instruction set architecture, since the number of instructions
executed for a program will, of course, be the same.

4/3/2019 Thobius Joseph, Msc. In TE ENG 19


 The term clock cycles per instruction, which is the average number
of clock cycles each instruction takes to execute, is oft en
abbreviated as CPI. Since different instructions may take different
amounts of time depending on what they do, CPI is an average of
all the instructions executed in the program. CPI provides one way
of comparing two different implementations of the same
instruction set architecture, since the number of instructions
executed for a program will, of course, be the same.

4/3/2019 Thobius Joseph, Msc. In TE ENG 20


4/3/2019 Thobius Joseph, Msc. In TE ENG 21
4/3/2019 Thobius Joseph, Msc. In TE ENG 22
4/3/2019 Thobius Joseph, Msc. In TE ENG 23
4/3/2019 Thobius Joseph, Msc. In TE ENG 24
4/3/2019 Thobius Joseph, Msc. In TE ENG 25
4/3/2019 Thobius Joseph, Msc. In TE ENG 26
Power performance

4/3/2019 Thobius Joseph, Msc. In TE ENG 27


Power performance

4/3/2019 Thobius Joseph, Msc. In TE ENG 28

You might also like