Queueing Theory Dr. Anis Koubâa CS433 Modeling and Simulation

advertisement
Al-Imam Mohammad Ibn Saud University
CS433
Modeling and Simulation
Lecture 08 – Part 01
Queueing Theory
http://10.2.230.10:4040/akoubaa/cs433/
20 Dec 2008
Dr. Anis Koubâa
Goals for Today
 Understand the Queuing Model and its
applications
 Understand how to describe a Queue Model
 Lean the most important queuing models (Part 02)
 Single Queue
 Multiple Queues
 Multiple Servers
Course Outline





The Queuing Model and Definitions
Application of Queuing Theory
Little’s Law
Queuing System Notation
Stationary Analysis of Elementary Queueing Systems
 M/M/1
 M/M/m
 M/M/1/K
…
The Queuing Model
Click for Queue Simulator
Queuing System
Queue

Use Queuing models to



Server
Describe the behavior of queuing systems
Evaluate system performance
A Queue System is characterized by

Queue (Buffer): with a finite or infinite size



The state of the system is described by the Queue Size
Server: with a given processing speed
Events: Arrival (birth) or Departure (death) with given rates
Queuing theory definitions
5

(Bose) “the basic phenomenon of queueing arises whenever a shared facility
needs to be accessed for service by a large number of jobs or customers.”

(Wolff) “The primary tool for studying these problems [of congestions] is known
as queueing theory.”

(Kleinrock) “We study the phenomena of standing, waiting, and serving, and we
call this study Queueing Theory." "Any system in which arrivals place demands
upon a finite capacity resource may be termed a queueing system.”

(Mathworld) “The study of the waiting times, lengths, and other properties of
queues.”
http://www2.uwindsor.ca/~hlynka/queue.html
6
Applications of Queuing Theory
6
Applications of Queuing Theory
7

Telecommunications

Computer Networks

Predicting computer performance

Health services (eg. control of hospital bed assignments)

Airport traffic, airline ticket sales

Layout of manufacturing systems.
Example application of queuing theory
8

In many stores and banks, we can find:
line/multiple checkout system → a queuing
system where customers wait for the next available
cashier
 We can prove using queuing theory that : throughput
improves/increases when queues are used instead of
separate lines
 multiple
http://www.andrews.edu/~calkins/math/webtexts/prod10.htm#PD
Example application of queuing theory
9
http://www.bsbpa.umkc.edu/classes/ashley/Chaptr14/sld006.htm
Queuing theory for studying networks
10

View network as collections of queues
 FIFO


data-structures
Queuing theory provides probabilistic analysis of
these queues
Examples:
 Average
length
 Average waiting time
 Probability queue is at a certain length
 Probability a packet will be lost
QNAP/Modline
Example of a Queue Simulator
11
12
The Little’s Law
The long-term average number of customers in
a stable system N, is equal to the long-term
average arrival rate, λ, multiplied by the longterm average time a customer spends in the
system, T.
12
The Queuing Times
Queuing System
Queue
Queuing Time
Server
Service Time
Response Time (or Delay)
Little’s Law


# Arrivals

a (t): the process that counts the number of arrivals up to time t.
d (t): the process that counts the number of departures up to time t.
N(t)= a(t)- d(t)
a(t)
d(t)
N(t)
Area J(t)
Time t



Average arrival rate (up to t) λt= a(t)/t
Average time each customer spends in the system (Response Time) Tt= J(t)/a(t)
Average number in the system Nt= J(t)/t
Little’s Law
a(t)
d(t)
Area J(t)
N(t)
Time t
Nt  t Tt

Taking the limit as t goes to infinity
E  N     E T 
Expected number of
customers in the system
Expected time in the system
Arrival rate IN the system
Generality of Little’s Law
Mean number tasks in system = mean arrival rate x mean response time
E  N     E T 





Little’s Law is a pretty general result
It does not depend on the arrival process distribution
It does not depend on the service process distribution
It does not depend on the number of servers and buffers in the system.
Applies to any system in equilibrium, as long as nothing in black box is
creating or destroying tasks
λ
Aggregate
Arrival rate
Queueing
Network
17
Specification of Queuing Systems
17
Characteristics of queuing systems
18

Arrival Process
 The
distribution that determines how the tasks arrives in
the system.

Service Process
 The

distribution that determines the task processing time
Number of Servers
 Total
number of servers available to process the tasks
Specification of Queueing Systems


Arrival/Departure
 Customer arrival and service stochastic models
Structural Parameters



Number of servers: What is the number of servers?
Storage capacity: are buffer finite or infinite?
Operating policies



Customer class differentiation
 are all customers treated the same or do some have priority over others?
Scheduling/Queueing policies
 which customer is served next
Admission policies
 which/when customers are admitted
Kendall Notation A/B/m(/K/N/X)
20


To specify a queue, we use the Kendall Notation.
The First three parameters are typically used,
unless specified
1.
2.
3.
4.
5.
6.
A: Arrival Distribution
B: Service Distribution
m: Number of servers
K: Storage Capacity (infinite if not specified)
N: Population Size (infinite)
X: Service Discipline (FCFS/FIFO)
http://en.wikipedia.org/wiki/Kendall's_notation
Kendall Notation of Queueing System
Arrival Process
• M: Markovian
• D: Deterministic
• Er: Erlang
• G: General
Number of servers
m=1,2,…
Storage Capacity
K= 1,2,…
(if ∞ then it is omitted)
A/B/m/K/N/X
Service Process
• M: Markovian
• D: Deterministic
• Er: Erlang
• G: General
Service Discipline
FIFO, LIFO, Round Robin, …
Number of customers
N= 1,2,…
(for closed networks, otherwise
it is omitted)
Distributions
22



M: stands for "Markovian", implying exponential
distribution for service times or inter-arrival times.
D: Deterministic (e.g. fixed constant)
Ek: Erlang with parameter k
http://en.wikipedia.org/wiki/Erlang_distribution


Hk: Hyper-exponential with parameter k
G: General (anything)
CS352 Fall,2005
Kendall Notation Examples
23

M/M/1 Queue



M/M/m Queue


Same, but m servers
M/D/1 Queue


Poisson arrivals (exponential inter-arrival), and exponential
service, 1 server, infinite capacity and population, FCFS (FIFO)
the simplest ‘realistic’ queue
Poisson arrivals and CONSTANT service times, 1 server, infinite
capacity and population, FIFO.
G/G/3/20/1500/SPF

General arrival and service distributions, 3 servers, 17 queues
(20-3), 1500 total jobs, Shortest Packet First
24
Performance Measures
24
Performance Measures of Interest

We are interested in steady state behavior







Even though it is possible to pursue transient results, it is a significantly more
difficult task.
E[S]: average system (response) time (average time spent in the
system)
E[W]: average waiting time (average time spent waiting in
queue(s))
E[X]: average queue length
E[U]: average utilization (fraction of time that the resources are
being used)
E[R]: average throughput (rate that customers leave the system)
E[L]: average customer loss (rate that customers are lost or
probability that a customer is lost)
Recall the Birth-Death Chain Example
λ0
0
μ1
λ1
1
μ2
λ2
2

At steady state, we obtain
0 0  11  0

In general
μ3
μj-1 j-1
μj
λj
j
μj+
1
0
 1   0
1
 j 1 j 1    j   j   j   j 1 j 1  0

λj-1
λj-2
  j 1
Making the sum equal to 1
   ...

0
j 1  
 0 1   
 1





...

j

1
1
j




 0 ... j 
 
  0
 1 ... j 1 
Solution exists if
 0 ... j 1 
S  1   
  
j 1  1 ... j 

27
End of Part 01
27
Download