Académique Documents
Professionnel Documents
Culture Documents
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
Class
TT MT CT UT
Arrival rate (tps) 0.20 0.30 0.20 0.10
Service demand (sec)
CPU 0.15 0.30 0.45 0.70
Disk 1 0.20 0.35 0.55 0.30
Disk 2 0.10 0.30 0.60 0.20
5.
Capacity planners are interested in answering the following questions:
What is the effect on response time of TT transactions if their arrival rate increases by 50%?
What is the effect on response time of UT transactions if their arrival rate is increased by 25%?
What is the effect on the response time of TT transactions if UT transactions are run on a
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
i
: arrival rate (i.e., arrivals per unit time) at resource i;
i
= A
i
/T
X
0
: system throughput; X
0
= C
0
/T
V
i
: average number of visits (i.e., the visit count) per request to resource i; V
i
= C
i
/C
0
Using the notation above, the motivating problem can be formally stated and solved in a straightforward
manner using operational analysis. The measured quantities are:
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
Transaction No.
I/O No. 1 2 3 4 5 6
1 10 15 13 10 12 14
2 12 12 12 11 13 12
3 11 14 11 11 11 13
Sum 33 41 36 32 36 39
Service demands are important because, along with workload intensity parameters, they are input
parameters for QN models. Fortunately, there is an easy way to obtain service demands from resource
utilizations and system throughput. By multiplying the utilization U
i
of a resource by the measurement
interval T one obtains the total time the resource was busy. If this time is divided by the total number of
completed requests, C
0
, the average amount of time that the resource was busy serving each request is
derived. This is precisely the service demand. So,
Equation 3.2.3
This relationship is called the Service Demand Law, which can also be written as D
i
= V
i
x S
i
, by definition
of the service demand (and since D
i
= U
i
/X
0
= (B
i
/T)/(C
0
/T) = B
i
/C
0
= (C
i
x S
i
)/C
0
= (C
i
/C
0
) x S
i
= V
i
x
S
i
). In many cases, it is not easy to obtain the individual values of the visit counts and service times.
However, Eq. (3.2.3) indicates that the service demand can be computed directly from the device
utilization and system throughput. The multiclass version of the Service Demand Law is D
i,r
= U
i,r
/X
0,r
=
V
i,r
x S
i,r
.
Example 3.3.
A Web server is monitored for 10 minutes and its CPU is observed to be busy 90% of the monitoring
period. The Web server log reveals that 30,000 requests are processed in that interval. What is the CPU
service demand of requests to the Web server?
The observation period T is 600 (= 10 x 60) seconds. The Web server throughput, X
0
, is equal to the
number of completed requests C
0
divided by the observation interval; X
0
= 30,000/600 = 50
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
HTML Images
Arrival Rate (req/sec) 3.90 0.29
Service Demands (sec)
CPU 0.014 0.038
Disk 0.036 0.180
Utilizations (%)
CPU 5.5 1.1
Disk 14 5.2
Residence times (sec)
CPU 0.015 0.041
Disk 0.045 0.223
Response times (sec) 0.060 0.264
In the case of open models, the throughput is equal to the arrival rate. Consider what happens under a
five-fold increase in the load. The arrival rates become
HTML
= 5 x 3.9 = 19.5 requests/sec and
image
=
5 x 0.29 = 1.45 requests/sec. Solving the model with these values of the arrival rates, new response
times of 0.93 sec for HTML and 4.61 sec for image requests are obtained. Thus, image file requests
experience an increase in their response time by a factor of 17.5 and requests for HTML files experience a
response time increased by a factor of 15.5. At the new load level, the disk utilization reaches 96% as
indicated by the model, up from its previous 19.2% utilization (i.e., 14% + 5.2%). This indicates that the
original system has excess capacity, but a five-fold load increase is nearing its maximum capacity.
Example 3.13.
Reconsider the Web server of Example 3.12. What is the response time and throughput of HTML and
image file requests when there is an average of 14 HTML requests and 6 image file requests being
executed concurrently at all times?
In this case, the workload is specified by a number of concurrent requests in execution and not by an
arrival rate. In this situation, a closed multiclass QN model (described in Chapter 13) is now appropriate.
This model can be solved using the MS Excel workbook ClosedQN.XLS. The service demands are the
same as in Example 3.12. Solving the model, R
HTML
= 0.72 sec, R
image
= 3.57 sec, X
HTML
= 19.3
requests/sec, and X
image
= 1.7 requests/sec. By comparing these results against these in Example 3.12,
when the workload is increased five-fold, similar performance magnitudes are observed.
<Day Day Up>
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
CPU Handshake Time per File (msec) CPU Processing Time per KB (msec)
Low Security 10.2 0.104
Medium Security 23.8 0.268
High Security 48.0 0.609
Column 2 of Table 6.3 represents the total CPU time required by the server for the handshake phase for
each downloaded file. This time is added to the CPU service demand for each download, independent of
file size. The third column of the table shows the amount of additional CPU time required for each KB
downloaded. Thus, the total additional CPU time required is equal to the handshake time plus the average
file size multiplied by the CPU processing time. Consider for example the low-security option and PDF
files, whose average file size is 377.6 KB. The additional CPU time required for secure file downloads is
49.5 (= 10.2 + 0.104 x 377.6) msec. Table 6.4 summarizes the amount of time that has to be added to
the CPU demands for both PDF and ZIP downloads for each of the three security options.
Table 6.4. Additional CPU Service Demands (msec) Required for Secure
Download
PDF ZIP
Low Security 49.5 130.4
Medium Security 125.0 333.5
High Security 278.0 751.8
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
PDF ZIP
neworig
-0.0357 -0.1109
Lower bound 95% CI -0.0380 -0.1160
Upper bound 95% CI -0.0334 -0.1058
Thus, at the 95% confidence level, the new server outperforms the original server.
<Day Day Up>
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
s
/E[S] = 0.003/0.009 = 1/3. Equation (11.7.25) can be used to approximate the average waiting time at
the storage device:
Equation 11.7.26
If C
a
were equal to one, the average waiting time would be 0.0129 sec according to the M/G/1 result
(i.e., Eq. (11.4.14)). This example further demonstrates the rule of thumb that increased variability (as
indicated by the coefficient of variation) hurts performance).
Consider now the queue of Fig. 11.4 which has c identical servers and a single waiting line. This is known
as the G/G/c queue and its utilization is
Equation 11.7.27
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
r
: arrival rate of class r
S
i,r
: average service time of class r customers at device i
V
i,r
: average visit ratio of class r customers at device i
D
i,r
: average service demand of class r customers at device i; D
i,r
= V
i,r
S
i,r
:
R
i,r
: average response time per visit of class r customers at device i
R'
i,r
: average residence time of class r customers at device i (i.e., the total time spent by class r
customers at device i over all visits to the device);
i,r
: average number of class r customers at device i
i
: average number of customers at device i
X
i,r
: class r throughput at device i
X
0,r
: class r system throughput
R
r
: class r response time
<Day Day Up>
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
i
(j) = service rate of device i when there are j customers at the device.
An arriving customer who finds j 1 customers at device i will have a response time equal to j/
i
(j). The
probability that an arrival finds j 1 customers at device i given that there are n customers in the
queuing network is P
i
(j 1 | n 1), due to the Arrival Theorem [19]. The average residence time is
computed as the product of the average number of visits to the device times the average response time
per visit. That is,
Equation 14.3.5
The mean queue length at node i is given by
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
. It can be
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
= 1. Thus, using Eq. (14.5.32) it follows that the file download rate is
f
(N
p
) = N
p
x
H = N
p
downloads/sec. However, as has been observed [8], there are two types of peers, freeloaders and
non-freeloaders. Freeloaders are those peers that only download files for themselves without providing
files to be further downloaded by others. Thus, using this type of evidence, it is assumed that only 10%
of the peers (i.e., 3) contribute to the total capacity of the system. This indicates that the service rate
multiplier for the file download queue is given by:
Table 14.6 shows the estimated data for each type of request at the central server. The average file
download times, using the algorithm in Figure 14.9, are 4.12 sec, 6.85 sec, and 10.94 sec, respectively,
for software, music, and video files. The average queue length of the load-dependent device is 12.56
requests.
Table 14.6. Parameterization Data for Example 14.5
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
, where is a constant
and x and y are the measures of interest. Measurements of several systems (e.g., Internet, WWW,
Ethernet traffic, file systems) show numbers that exhibit a pattern known as "heavy-tailed" [15, 17, 27].
This means that very large numbers could be present in samples of measurements, such as number of
bytes transmitted, file sizes and CPU times. These extremely large numbers do affect the performance of
a system and should not be ignored. A random variable X follows a heavy-tailed distribution if P[X > x] =
kx
a
L(x) where L(x) is a slowly varying function. A Pareto distribution is a special case of heavy-tailed
distribution where the number of events larger than x is an inverse power of x. Among other implications,
a heavy-tailed distribution presents a great degree of variability, and a non-negligible probability of high
sample values. Common distributions, such as the exponential distribution, decay much faster than
heavy-tailed distributions. In a log-log plot, x
a
is a straight line with inclination a. Depending on the
value of a, a power law distribution may have infinite mean (if a < 1) or infinite variance (if a < 2). In
practice, these stastics do not occur because values are limited by measured data. Once the importance
of variability is recognized, this section presents techniques to analyze models with non-exponential FCFS
queues. These techniques were consolidated by Eager, Sorin, and Vernon in [18].
15.2.1 The Decomposition Approach
Consider a closed single-class queuing model with N customers and a FCFS queuing center that has
exponentially distributed service time (see Fig. 15.1). Let S
and CV
. It can
be easily shown (see Exercise 15.1) that
Equation 15.2.4
Equation 15.2.5
This system of equations has three unknowns (p
S
, S
S
, and S
L
) and two equations. To solve it, one needs
to guess one of the values. A good variable to guess is the probability p
S
.
Figure 15.2. Model of a queue with high service time variability.
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
Model
Q
1
Q
2
Q
3
0.10 0.10 0.10
0.15 0.15 0.15
- 0.8/(1 0.324) = 1.18 0.8/(1 0.287) = 1.12
- - 0.9/(1 0.751) = 3.61
U
cpu,1
0.87 x 0.1 = 0.087 0.77 x 0.1 = 0.077 0.75 x 0.1 = 0.075
U
cpu,2
1.58 x 0.15 = 0.237 1.40 x 0.15 = 0.210 1.36 x 0.15 = 0.204
U
cpu,3
- 0.58 x 0.8 = 0.464 0.60 x 0.8 = 0.480
U
cpu,4
- - 0.25 x 0.9 = 0.225
r
U
cpu,r
0.324 0.751 0.984
<Day Day Up>
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy
Table 15.8 shows the results (i.e., throughputs) obtained with the SQN-HQN algorithm and with global
balance equations (i.e., exact solutions), as reported in [4], for eight values of the number of concurrent
processes N. The last column of the table shows the absolute percent relative error relative to the global
balance equations solution. The error of the SQN-HQN approach is very small and does not exceed
3.05% in this example.
Table 15.8. Throughput (processes/sec) for Example 15.x
N SQN-HQN Solution Exact Solution Absolute % Relative Error
1 1.544 1.54 0.27
2 2.088 2.11 1.06
3 2.317 2.37 2.22
4 2.428 2.49 2.49
5 2.487 2.56 2.86
6 2.521 2.60 3.05
7 2.541 2.62 3.00
8 2.555 2.63 2.86
15.5.2 Open QN at the Software Level
The SQN-HQN technique can be extended to include the case in which the SQN is modeled as an open
queuing network as illustrated in Figure 15.11. In that case, processes arrive at a rate of requests/sec.
The rest of the SQN and the HQN are the same as in the example of Figure 15.10 and the service
demands are as in Table 15.7.
Figure 15.11. Open QN at the software level.
<Day Day Up>
Table of Contents
Performance by Design: Computer Capacity Planning by Example
By DanielA.Menasc, VirgilioA.F.Almeida, LawrenceW.Dowdy