an introduction to the operational analysis of queuing network models peter j. denning, jeffrey p....

45
AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network Models. ACM Computing Surveys 10(3): 225-261, 1978.

Upload: cory-tucker

Post on 11-Jan-2016

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

AN INTRODUCTION TO THE OPERATIONAL ANALYSISOF QUEUING NETWORK MODELS

Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network Models.ACM Computing Surveys 10(3): 225-261, 1978.

Page 2: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Queuing Models Computer systems contain many queues

Ready queue I/O device queues Message queues …

Bottlenecks and queuing delays have a major impact on computer system performance

Queuing models capture this impact

Page 3: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Operational Analysis Operational Analysis

Provides good bounds of performance indices of many computer systems

Only makes verifiable assumptions of behavior of these systems

Is easier to teach and to understand than stochastic analysis

Page 4: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Applications “Back of the envelope” estimations of

system performance Fast and easy

Validation of results of a simulation study Checks for reasonableness of results

Communication with non-specialists

Page 5: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Other queuing models Stochastic models

Also known as Markov models More powerful Often make unrealistic assumptions

about investigated systems Disk service times are not

exponentially distributed! Provide surprisingly good estimates of

computer system performance

Page 6: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Note Stochastic models can also be used to

estimate Availability of computer systems:

fraction of time system will be operational Reliability of computer systems:

probability that the system will never fail over a time interval of duration t

Essential for real-time systems and storage systems

Page 7: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

BASIC CONCEPTS

Page 8: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Hypothesis testability All hypotheses made by OA can be

tested by Observing the behavior of actual

systems Over finite time periods

Page 9: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Operational Quantities Can be

Basic Quantities:Directly measured over a finite observation period

Number of arrivals, … Derived Quantities:

Computed from basic quantities Server utilization, mean service

time, …

Page 10: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

A single server

Server has its associated queue We will treat the server and its queue

as a single “black box”

Page 11: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Basic Quantities T the length of the observation

period A the number of arrivals during the

observation period B the total amount of busy times

during the observation period C the number of completions

during the observation period

Page 12: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

A CB

T

Page 13: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Derived quantities = A/T the arrival rate X = C/T the output rate U = B/T the utilization S = B/C the mean service time

Page 14: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Example Checkout lane:

T = 2 hours A = 31 customers B = 108 minutes C = 30 customers

We have = 15.5 customers/hour …

Page 15: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Utilization law

U = B/T = (C/T )(B/C) = XS

Can compute utilization knowing both Completion rate Mean service time

When you think about it, it is fairly intuitive

Page 16: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Job flow balance For most systems, arrivals and

completions balance each other over any long observation period Systems have finite buffers

We will assume that A = C Can check validity of assumption over

any specific observation period

If A = C then U = S

Page 17: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Steady state If the system has a steady state, we

can define N = average number of tasks in

system R = average residency of tasks in

system

R is also known as the response time

Page 18: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Little’s law If W is the total time spent by all tasks

inside the system over the observation period Measured in requests × time units

Then N = W/T R = W/C

Since W/T = (C/T)(W/C) = XR, N = XRThis is an important result

Page 19: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Explanation

Number of tasks in the system

Time

T

W

N = W/T

0

The green area and thearea delimited by thedashed lines have equalsizes

Page 20: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

An example An FBI agent has observed people entering

and leaving a secret meeting Over a period of two hours he has seen 10

people staying an average of 30 minutes each

Having 10 people staying 30 minutes each corresponds to 300 people x minutes

This is the same as having 300/120 = 2.5 people staying over the whole duration of the meeting

Page 21: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

NETWORKS OF SERVERS

Page 22: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Network of servers (I)

Arrivals Departures

Open network

Page 23: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Network of servers (II)

Arrivals Departures

Closed network

Page 24: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Operational quantities Over the observation period, we measure

C = the number of job completions Ck = the number of tasks completed by

device k We define

X0 = C/T = the system throughput Xk = Ck/T = the output rate at server k Vk = Ck/C = the visit count at server k

Page 25: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Relations

Ck = VkC The total number of visits of server k is

equal to the number of visits of server k by job completion times the number of job completions

Xk = Vk X0

The output rate of server k is equal to the number of visits of server k by job completion times the job throughput

Page 26: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Principle of job flow balance

For each device i, the output rate Xi is the same as the total input rates to device i

Ai = Ci True for all observation periods long

enough such that |Ai - Ci | << Ci Output rates Xi are then throughputs

Page 27: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

System response time (I) We define

Nbar = average number of jobs in the system

nbari = average number of jobs at device i

Nbar = Σi nbari

in

Page 28: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

System response time (II) Applying Little’s law, we have

R = Nbar/X0

andnbari = RiXi

which we can rewritenbari = RiViX0

Hence

R = Σi ViRi

Page 29: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Application:Bottleneck analysis

A system has one CPU and one disk drive

It processes transactions such that VCPU = 12 and SCPU = 5ms

VDisk = 11 and SDISK = 8ms

What is the maximum system throughput?

Page 30: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Bottleneck analysis (cont’d) Let us compute maximum device

throughputs Maximum XCPU = 1/0.005 = 200 requests/s

Maximum XDisk = 1/0.008 = 125 requests/s Since Xi = Vi X0

Maximum throughput compatible with CPU workload is 200/12 = 16.7 transactions/s

Maximum throughput compatible with disk workload is 125/11 = 11.4 transactions/s

Page 31: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Bottleneck analysis (cont’d) The disk is this the bottleneck

It has highest ViSi product Identifying feature of any bottleneck

device Increasing the system throughput might

require Sharing disk requests with a second disk Increasing the efficiency of the system

I/O buffer

Important

Page 32: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Bottleneck analysis (cont’d) In addition, the maximum throughput of

11.4 transactions/s can only be achieved with a 100% disk utilization It would result in very large queues at

the disk In practice, we want to limit the disk

utilization to 60 to 80%

Page 33: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Systems with terminals

M Terminals

Wholesystem

Page 34: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Interactive response time formula We have

M terminals Think time Z between the completion of

a job and the submission of the next job

Applying Little’s law to the whole system

M = (R + Z ) X0

thenR = M/X0 – Z

Very Important

Page 35: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Problem 1 A system

Can process up to 5 transactions/s Has 60 client workstations Client think time is 5s

Can the system achieve a response time of5 s?

Page 36: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Answer

Applying R = M/X0 – Z, we compute a

lower bound for the response time

Rmin = M/X0,max – Z = 60/5 – 5 =7

Our answer is no

Page 37: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Problem 2 We have

M = 50 terminals Z = 20 s R = 4s

What is the system throughput?

Page 38: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Answer

From R = M/X0 – Z, we have

X0 = (R + Z)/M

Hence X0 = (20 + 4)/50 = 0.48 tasks/s

Page 39: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Problem 3 Compute the response time of a system

knowing the following parameters M = 25 terminals (users) Z = 18 s Vdisk = 20 visits to the single disk per user

interaction Udisk = 0.30 Sdisk = 25 ms

(http://www.owlnet.rice.edu/~elec428/handouts/Op.Analysis.pdf)

Page 40: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Answer

Let us compute first the throughput X0

Since Xk = Uk/Sk

Xdisk = 0.30/0.025 = 12 disk requests/s

Since Xk = Vk X0 , we have X0 = Xk/Vk

X0 = 12/20 = 0.6 interactions/s

The response time is then

R = M/X0 – Z = 25/0.6 – 18 = 23.7s

Page 41: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Demand

Rather than expressing CPU workloads by the product VCPU SCPU , we can use

the total demand of the task

DCPU = VCPU SCPU

Since Xk = Uk/Sk and Xk = Vk X0

UCPU /DCPU = XCPU /VCPU = X0

Page 42: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Problem 4 A computer system has a single disk It processes tasks with an average CPU

demand of 400 ms. Each task requires 60 disk accesses Each disk access takes 10 ms If the CPU utilization is 50%, what are

The system throughput? The disk utilization?

Page 43: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Answer

X0 = UCPU /DCPU = 0.5/0.4 = 1.25 tasks/s

Since Udisk = Xdisk Sdisk and Xdisk = Vdisk X0

Xdisk = 1.25 x 60 = 75 disk requests/s

Udisk = 75 x 0.010 = .75 or 75%

(a rather high disk utilization)

Page 44: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Load–dependent behavior Device service times may depend on

number of jobs at device Disk drives optimize disk accesses

Number of visits to a device may depend on workload Swap device

We did not cover that topic

Page 45: AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network

Resources http://www.owlnet.rice.edu/~elec428/ha

ndouts/Op.Analysis.pdf Offers a concise summary of the

topics that were discussed in class

Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network Models. ACM Computing Surveys 10(3): 225-261, 1978. Remains the fundamental text on

operational analysis