Title: Performance of Computer Systems
1(No Transcript)
2Performance of Computer Systems
In most computer systems The cost of people is
much greater than the cost of hardware Yet
performance is important Future loads may be
much greater than predicted A single bottleneck
can slow down an entire system
3Moore's Law
Original version The density of transistors in
an integrated circuit will double every year.
(Gordon Moore, Intel, 1965) Current
version Cost/performance of silicon chips
doubles every 18 months.
4Moore's Law Rules of Thumb
Planning assumptions Every year
cost/performance of silicon chips improves 25
cost/performance of magnetic media improves
30 10 years 1001 20 years 10,0001
5Moore's Law and System Design
Design system 2003 Production use
2006 Withdrawn from production
2016 Processor speeds 1 1.9
28 Memory sizes 1 1.9 28 Disk
capacity 1 2.2 51 System
cost 1 0.4 0.01
6Parkinson's Law
Original Work expands to fill the time
available. (C. Northcote Parkinson) Planning
assumptions (a) Demand will expand to use all
the hardware available. (b) Low prices will
create new demands. (c) Your software will be
used on equipment that you have not envisioned.
7False Assumptions from the Past
Unix file system will never exceed 2 Gbytes (232
bytes). AppleTalk networks will never have more
than 256 hosts (28 bits). GPS software will not
last 1024 weeks.
8Moore's Law and the Long Term
What level?
1965
2003
9Moore's Law and the Long Term
What level?
Within your working life?
1965
When?
2003?
10Predicting System Performance
Mathematical models Simulation
Direct measurement Rules of thumb All
require detailed understanding of the interaction
between software and systems.
11Understand the Interactions between Hardware and
Software
Example execution of http//www.cs.cornell.edu/
domain name service TCP connection HTTP get
Client
Servers
12Understand the Interactions between Hardware and
Software
Thread
Toolkit
ComponentPeer
targetHelloWorld
run
run
callbackLoop
handleExpose
paint
13Understand Interactions between Hardware and
Software
start state
fork
join
stop state
14Look for Bottlenecks
Possible areas of congestion Network
load Database access how many joins to build a
record? Locks and sequential processing CPU
performance is rarely a factor, except in
mathematical algorithms. More likely
bottlenecks are Reading data from disk Moving
data from memory to CPU.
15Look for Bottlenecks Utilization
When the utilization of any hardware component
exceeds 30, be prepared for congestion.
16Techniques for Eliminating Bottlenecks
Serial and Parallel Processing Single thread v.
multi-thread e.g., Unix fork Granularity of
locks on data e.g., record locking Network
congestion e.g., back-off algorithms
17Mathematical Models Queues
arrive
wait in line
service
depart
Single server queue
18Queues
service
arrive
wait in line
depart
Multi-server queue
19Mathematical Models
Queueing theory Good estimates of congestion can
be made for single-server queues with
arrivals that are independent, random events
(Poisson process) service times that follow
families of distributions (e.g., negative
exponential, gamma) Many of the results can be
extended to multi-server queues.
20Behavior of Queues Utilization
mean delay
utilization
1
0
21Simulation
Model the system as set of states and
events advance simulated time determine
which events occurred update state and event
list repeat Discrete time simulation Time is
advanced in fixed steps (e.g., 1
millisecond) Next event simulation Time is
advanced to next event Events can be simulated by
random variables (e.g., arrival of next customer,
completion of disk latency)
22Timescale
Operations per second CPU instruction 1,000,
000,000 Disk latency 60
read 25,000,000 bytes Network LAN
10,000,000 bytes dial-up modem 6,000
bytes
23Measurements on Operational Systems
Benchmarks Run system on standard problem
sets, sample inputs, or a simulated load on the
system. Instrumentation Clock specific
events. If you have any doubt about the
performance of part of a system, experiment with
a simulated load.
24Example Performance of Disk Array
Each transaction must wait for specific disk
platter wait for I/O channel signal to move
heads on disk platter wait for I/O
channel pause for disk rotation read data Close
agreement between results from queuing theory,
simulation, and direct measurement (within 15).