0% found this document useful (0 votes)
57 views39 pages

3 - Performance Bounds

This document discusses performance bounds for computing infrastructures: 1) Performance bounds provide insight into the primary factors affecting system performance and can be computed quickly, serving as an initial modeling technique. 2) Bounding analysis determines upper and lower bounds on key performance metrics like throughput and response time. These bounds highlight the critical influence of system bottlenecks. 3) For closed models, the lowest response time bound occurs when jobs never queue, while the highest occurs when each job finds the maximum possible number of other jobs ahead of it in the queue. Upper throughput bounds assume saturation of the bottleneck resource.

Uploaded by

Marco Caruso
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)
57 views39 pages

3 - Performance Bounds

This document discusses performance bounds for computing infrastructures: 1) Performance bounds provide insight into the primary factors affecting system performance and can be computed quickly, serving as an initial modeling technique. 2) Bounding analysis determines upper and lower bounds on key performance metrics like throughput and response time. These bounds highlight the critical influence of system bottlenecks. 3) For closed models, the lowest response time bound occurs when jobs never queue, while the highest occurs when each job finds the maximum possible number of other jobs ahead of it in the queue. Upper throughput bounds assume saturation of the bottleneck resource.

Uploaded by

Marco Caruso
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/ 39

Computing Infrastructures

Performance Bounds
Danilo Ardagna

Credits: Raffaela Mirandola,


Jane Hilston, Ed Lazowska,
Marco Gribaudo, Moreno Marzolla
2
Model Definition for Performance Studies

Existing
system Parameterize the Model

Performance
Model
System Design

Create the
Queuing Network

Evaluate the Model

Performance indices
3
Performance bounds

• Provide valuable insight into the primary factors affecting the


performance of computer system

• Can be computed quickly and easily therefore serve as a first cut


modeling technique

• Several alternatives can be treated together


4
Bounding Analysis

• We will consider single class systems only

• Determine asymptotic bounds, i.e., upper and lower bounds on a


system’s performance indices X and R: throughput and response time
• In our case, we will treat X and R bounds as functions of Number
of users/Arrival Rate (i.e., l/N)

• Advantages of bounding analysis:


• Highlight and quantify the critical influence of the system
bottleneck
5
Bottleneck

• The resource within a system which has the greatest service demand
is known as the bottleneck resource or bottleneck device, and its
service demand is maxk {Dk}, denoted Dmax maximum service demand

• The bottleneck resource is important because it limits the possible


performance of the system

• This will be the resource which has the highest utilisation in the
system
6
Bounding Analysis
• Advantages of bounding analysis:
• Highlight and quantify the critical influence of the system
bottleneck
• Can be computed quickly, even by hand

• Useful in System Sizing:


• Based on preliminary estimates (quickness)
• This kind of studies involve typically a large number of
candidate configurations with a single critical resource
(e.g., CPU) dominant and the other configured
accordingly: treated as one alternative

• Useful for System Upgrades…


7
Notation

The considered models and the bounding analysis make use of the
following parameters:
§ K, the number of service centers
§ D, the sum of the service demands at the centers, so

D=Sk Dk
§ Dmax, the largest service demand at any single center
§ Z, the average think time, for interactive systems

And the following performance quantities are considered:


§ X, the system throughput
§ R, the system response time
8
Bounding Analysis - Asymptotic bounds

• Are derived by considering the (asymptotically) extreme


conditions of light and heavy loads:
• Optimistic: X upper bound and R lower bound
• Pessimistic: X lower bound and R upper bound

• Under the extreme conditions of:


• Light load
• Heavy load

• Under the assumption that:


• the service demand of a customer at a center does not
depend on how many other customers currently are in
the system, or at which service centers they are
located
9
Bounding Analysis - Asymptotic bounds

Open models: less information than in closed models…

X bound = the maximum arrival rate that the system can process

if l > X bound à the system SATURATES

new jobs have to wait an


indefinitely long time

Remembering that Uk = XDk

under hp that x = lambda

The X bound is calculated as:


maximum arrival rate = 1 / maximum time the
slowest component is busy
10
Bounding Analysis - Asymptotic bounds

Open models:

R bounds = the largest and smallest possible R experienced at a given l


investigated only when l < lsat (otherwise the system is
unstable!)

2 extreme situations:

• If no customers interferes with any other (= no queue time)


Then R = D, with D = Sk Dk
11
Bounding Analysis - Asymptotic bounds

Open models:
• If n customers arrives together every n/l time units (the system
arrival rate is n /(n/ l)= l) there is no pessimistic bound on R

• Customers at the end of the batch are forced to queue for customers
at the front of the batch, and thus experience large response times

see paper
12
Bounding Analysis - Asymptotic bounds

Open models:
• If n customers arrives together every n/l time units (the system
arrival rate is n /(n/ l)= l) there is no pessimistic bound on R

• Customers at the end of the batch are forced to queue for customers
at the front of the batch, and thus experience large response times

• As the batch size n increases, more and more customers are waiting
an increasingly long time

• Thus, for any postulated pessimistic bound on response times for


system arrival rate l, it is possible to pick a batch size n sufficiently
large that the bound is exceeded

• There is no pessimistic bound on response times, regardless of


how small the arrival rate l might be
13
Bounding analysis: Open models

Bound for X(l)

Bound for R(l)


14
Bounding analysis: Open models

X
= lambda sat
15
Bounding Analysis - Asymptotic bounds

Closed models:
X bounds considered first, then converted in R bounds using Little’s Law

Light Load situation (lower bounds):

1 customer case:

N = X (R + Z) z think time
if 1 user
1 = X (D + Z)

Then X is:

X = 1 / (D + Z)
16
Bounding Analysis - Asymptotic bounds

Closed models:

Light Load situation (lower bounds):

Adding customers:
Smallest X obtained with largest R,
i.e., new jobs queue behind others
already in the system
17
Bounding Analysis - Asymptotic bounds

In closed models, the highest possible system response time occurs


when each job, at each station, founds all the other N-1 costumers
in front of it

we find always the queue full


18
Bounding Analysis - Asymptotic bounds

Closed models:

Light Load situation (lower bounds):

Adding customers:
Smallest X obtained with largest R,
i.e., new jobs queue behind others
already in the system

In this case the X is:


X = N / (ND + Z)

Lim N / ( ND + Z) = 1 / D
Nà¥

worst condition: N-1 people in front of us.


19
Bounding Analysis - Asymptotic bounds

Closed models:

Light Load situation (upper bounds):

Adding customers:
Largest X obtained with the lowest
response time R
20
Asymptotic Bounds – Closed Models

The lowest response time can be obtained if a job always finds the
queue empty and always starts being served immediately
21
Bounding Analysis - Asymptotic bounds

Closed models:

Light Load situation (upper bounds):

Adding customers:
Largest X if new jobs never
queue behind other already in
the system:

In this case the X is:

X = N / (D + Z)
22

Bounding Analysis - Asymptotic bounds

Closed models:

Heavy Load situation (upper bound):

Since the first to saturate is the


Bottleneck (max):
23
Bounding Analysis - Asymptotic bounds.

Closed models:
X(N) bounds:

N*:
Particular population size
determining if the light or the heavy
load optimistic bound is to be
applied
24
Bounding Analysis - Asymptotic bounds.

R(N) bounds:

Let us simply rewrite the previous equation, considering that:


X(N)=N/(R(N)+Z), we have:

And to have R as numerator we invert the members and we have

From which we have


Bound for R(N)
25
Bounding Analysis - Asymptotic bounds
note that D = sum Dk so D > Dmax If Z = 0 the line NDmax - Z
Closed models: starts from the origin.
ND has a bigger slope than NDmax, because Dmax is in D
R(N) bounds:
26
Asymptotic bounds summary

Open Models

Closed Models
27
Example

Terminals

Parameters:
2
D1 = 2.0, D2 = 0.5, D3 = 3.0
1 Disk1

CPU
V2 = 10, V3 = 100
3
Disk3 S2 = 0.05, S3 = 0.03

Z = 15s
disk 3 is faster than disk 2
BUT
disk 3 becomes the bottleneck because of the large number of
visits.
V3 > > V2
28
Example (original system)

D max D = D tot
=3 = 2 + 0.5 + 3 = 5.5

lower bound for response time R lower bound for throughput X

Max (5.5, 3*N-15) <=R(N) X(N) <=min(N/(5.5+15), 1/3)


max (D tot , D max * N - Z)
min ( N / D + Z , 1/Dmax)
29
What-if analysis

Let us consider 4 possible scenarios:

1. Replace the CPU with one that is twice as fast

2. Shift some files from the faster disk (server 3) to the slower
disk (server 2), balancing their demands

3. Add a second fast disk (center 4, S4=0.03) to handle half the


load of the busier existing disk (server 3)

4. The three changes made together: the faster CPU and a


balanced load across two fast disks and one slow disk
30
Example: alternative 1

Replace the CPU with one that is twice as fast, so we have:


D1=1, D2=0.5, D3=3.0

with a faster CPU we have that the service time of the cpu becomes half of the before.
but there is still the same bottleneck

so nothing changes!!!
Max (4.5, 3*N-15) <=R(N) X(N) <=min(N/(4.5+15), 1/3)
31
Example: alternative 1

Replace the CPU with one that is twice as fast, so we have:


D1=1, D2=0.5, D3=3.0

Max (4.5, 3*N-15) <=R(N) X(N) <=min(N/(4.5+15), 1/3)


32
Example: alternative 2

Shift some files from the faster disk (server 3) to the slower disk (server 2),
balancing their demands, so having D2=D3. Since Dk=VkSk, we can solve the
following system:

V2+V3 = 110 the total number of visits remain unchanged


V2S2 = V3S3 balancing the service demands

We obtain: V2=41, V3=69 and D2=D3=2.06

Max (6.12, 2.06*N-15) <=R(N) X(N) <=min(N/(6.12+15), 1/2.06)


33
Example: alternative 2

Shift some files from the faster disk (server 3) to the slower disk (server 2),
balancing their demands, so having D2=D3. Since Dk=VkSk, we can solve the
following system:
V2 + V3 must remain costant (110)
V2+V3 = 110 the total number of visits remain unchanged
V2S2 = V3S3 balancing the service demands D2=D3

We obtain: V2=41, V3=69 and D2=D3=2.06 less demand on D3 (it was 3 sec). Performance
improved.
If Dmax decreases
lambda max
which must be
less than 1/Dmax
increases!!.

Max (6.12, 2.06*N-15) <=R(N) X(N) <=min(N/(6.12+15), 1/2.06)


34
Example: alternative 2

Shift some files from the faster disk (server 3) to the slower disk (server 2),
balancing their demands, so having D2=D3. Since Dk=VkSk, we can solve the
following system:

V2+V3 = 110 the total number of visits remain unchanged


V2S2 = V3S3 balancing the service demands

We obtain: V2=41, V3=69 and D2=D3=2.06

Max (6.12, 2.06*N-15) <=R(N) X(N) <=min(N/(6.12+15), 1/2.06)


35
Example: alternative 2

Shift some files from the faster disk (server 3) to the slower disk (server 2),
balancing their demands, so having D2=D3. Since Dk=VkSk, we can solve the
following system:

V2+V3 = 110 the total number of visits remain unchanged


V2S2 = V3S3 balancing the service demands

We obtain: V2=41, V3=69 and D2=D3=2.06

Max (6.12, 2.06*N-15) <=R(N) X(N) <=min(N/(6.12+15), 1/2.06)


36
Example: alternative 3

Add a second fast disk (center 4, S4=0.03) to handle half the load of the busier
existing disk (server 3). So we will have K=4 service centers, with
D1=2, D2=0.5, D3 =D4 =1.5 we split the service demand between D3 and D4 -> 3sec/2 for
each

Max (5.5, 2*N-15) <=R(N) X(N) <=min(N/(5.5+15), 1/2)


37
Example: alternative 3

Add a second fast disk (center 4, S4=0.03) to handle half the load of the busier
existing disk (server 3). So we will have K=4 service centers, with
D1=2, D2=0.5, D3 =D4 =1.5

Max (5.5, 2*N-15) <=R(N) X(N) <=min(N/(5.5+15), 1/2)


38
Example: alternative 4

Here we have: a faster CPU (D1=1) and a balanced load across two fast disks
and one slow disk. Similarly to alternative 2, we have:

V2+V3+V4 = 110 the total number of visits remain unchanged


V2S2 = V3S3. balancing the service demands
V3S3 = V4S4

Solving the system we obtain: D2=D3=D4=1.27

Max (4.81, 1.27*N-15) <=R(N) X(N) <=min(N/(4.81+15), 1/1.27)


39
Example: alternative 4

Here we have: a faster CPU (D1=1) and a balanced load across two fast disks
and one slow disk. Similarly to alternative 2, we have:
balance between 2 3 4.
V2+V3+V4 = 110 the total number of visits remain unchanged
V2S2 = V3S3. balancing the service demands
V3S3 = V4S4

Solving the system we obtain: D2=D3=D4=1.27

gooder
gooder

Max (4.81, 1.27*N-15) <=R(N) X(N) <=min(N/(4.81+15), 1/1.27)

You might also like