Вы находитесь на странице: 1из 41

The M/G/1 Queue

and others
Telephone Line Problem

Callers queue for


outgoing lines
This system
will allow
only eight
outgoing
connections
Telephone Line Problem
• The outgoing telephone lines could be
physical, as in the original version, or
virtual, as in ATM, and the decision of
the CAC function would decide the
number of connections available
• This is modeled as a M/M/N/N queue
(N servers, no waiting room)
Telephone Line Problem
• The arrival process is simple Poisson
• If there are n < N customers in the queue,
then they are all being serviced
• The service rate for a single line is µ
(average duration of phone call = 1/µ )
• So the service rate for the whole queue is
nµ for 0 < n ≤ N
Telephone Line Problem
• As before, the average flow between states
must be zero
∀ λ npn = µ n+1 pn+1 for 0 < n ≤ N
• This gives us λ pn = (n+1)µ pn+1
• or
ρ
pn +1 = pn
n +1
• where ρ = λ /µ
Telephone Line Problem
• This gives us ρn
p n = p0
n!
• Since we also require Σ pn = 1, we also
get 1
p0 = N n
ρ

n = 0 n!
Telephone Line Problem
• The designer of the system is
interested in the blocking probability
• This is simply the probability that n =
N, or pN ρN
PB = N
ρn
N !∑
n = 0 n!
Erlang Formula
• The formula on the last slide is called
the Erlang-B distribution after the
pioneering Danish engineer, AK Erlang
• He has given his name to the units we
use for traffic intensity, which
corresponds to ρ
Telephone Line Problem
• The average number of calls in
progress is E (n) = np =
N N
np ρ n

∑ n ∑
n =0
0

n =1 n!
N
ρ n −1
= ρp0 ∑
n =1 ( n − 1)!

 N ρn ρN 
= ρp0  ∑ − 
 n =0 n! N ! 
= ρ (1 − PB )
Telephone Line Problem
• We would generally expect to be
designing systems where PB is low, so
E(n) ≈ ρ
• The average number of calls put
through per unit time, is
N N
γ = ∑ µ n pn = ∑ nµpn = µE (n)
n =0 n =0

= λ (1 − PB )
Design Problem
• You have 1,000 incoming telephone lines,
and over an eight hour period, each
subscriber makes four phone calls, on the
average. The phone calls average five
minutes in length. How many outgoing lines
must you provide to give a blocking
probability of (a) 10% (b) 1%? How many
calls would be in progress on the average?
Design Problem
∀ λ = 1000x4/(8x60) = 8.33 calls per
minute
∀ µ = 1/5 = 0.2 calls per minute
∀ ρ = λ /µ = 8.33/0.2 = 41.67
• Blocking probability P = ρ N

ρn
B N
N !∑
n = 0 n!
Design Problem
• After a spreadsheet calculation, we
find that we need at least 43 servers
to give less than a 10% chance of
blocking, and at least 55 servers to
give less than a 1% chance of blocking
• The corresponding calls in progress is
37.7 for 43 servers and 41.3 for 55
servers
M/G/1 Queue
• A memoryless, Poisson process always
gives an exponential distribution for
inter-arrival or inter-service times
• However there are cases where the
service process times are not
exponentially distributed
• For example …
M/G/1 Queue
• For example, a packet switching
system may handle only two different
types of packet, one with 100 bytes,
and one with 2,000 bytes
• The big packets will take longer to
serve (transmit)
• This gives a dumbell distribution
M/G/1 Queue
F(t)

Service time, t

• The service times of the small


packets would cluster around a low
value, and there would be a cluster at
a longer time for the larger packets
M/G/1 Queue
• Another example would be a server
(computer) which has to perform
different operations on packets,
depending on what type of packet it is
• Possible operations are encrypting,
processing for an on-line game, and
simple transmission
M/G/1 Queue
• And another example would be within
an ATM switch, where all packets (or
“cells”) are the same size, and thus
take the same time to transmit
• In these cases, the service time
distribution is said to be “general”,
and we describe the queue as M/G/1
M/G/1 Queue
Service time,
customer j
time
tj-1 tj tj+1
nj-1 nj nj+1

• Packet j is completed at time, tj


• The number of packets in the queue
at time tj+ is nj
M/G/1 Queue
• During servicing of customer j, a
number of packets, ν j, arrives
• Then the number of packets in the
queue after servicing of packet j is
• nj = nj-1 -1 +ν j for nj-1 > 0
• nj =ν j for nj-1 = 0
M/G/1 Queue
• These equations can be written using
a unit step function
• nj = nj-1 – u(nj-1) + ν j where
u(x) = 1 for x ≥ 1
= 0 for x ≤ 0
• The expected values of nj and nj-1 are
the same
M/G/1 Queue
• So we must have E(ν ) = E(u(n))

• The average value of arrivals, E(ν )


must be less than unity for a stable
queue, and in fact, must be equal to
the utilisation, ρ , by definition,
M/G/1 Queue
• Then we have by definition

ρ ≡ E (υ ) = E ( u (n) ) = ∑ pn = P( n > 0 )
n =1

• Therefore we have
• p0 = 1 – ρ as before (M/M/1)
M/G/1 Queue
• For the next proof, we need some
intermediate results or definitions
• Firstly, the definition of the variance
2
( 2
) (
of ν isσ ν = E (υ − ρ ) = E υ − 2υ ρ+ ρ
2 2
)
= E (υ ) − 2 ρE (υ ) + ρ
2 2

= E (υ ) − 2 ρ + ρ
2 2 2

= E (υ ) − ρ
2 2
M/G/1 Queue
• Secondly, E(u2(n)) = E(u(n)) = E(ν ) = ρ
• Thirdly, we assume that ν j and nj-1 are
independent, so that E(ν jnj-1 ) = E(ν j)E(nj-
1) = ρ E(nj-1 )

• We begin the proof with the equation


relating nj and nj-1
• nj = nj-1 – u(nj-1 ) + ν j
M/G/1 Queue
• We square both sides of the equation
nj2 = nj-12 + u2(nj-1) + ν j2 – 2nj-1u(nj-1) – 2u(nj-
1)ν j + 2ν jnj-1

• We now take the expected value of


both sides
∀ ρ + E(ν 2) – 2E(n) – 2ρ 2 + 2ρ E(n) = 0
• We now substitute for E(ν 2)
M/G/1 Queue
• 2E(n) (1 – ρ ) = ρ - 2ρ 2 + σ ν 2 + ρ 2
= ρ (1 – ρ ) + σ ν 2
• This finally gives us
ρ σ 2
E ( n) = + υ
2 2(1 − ρ )
Expected service time
• The average service time is E(τ ), so
the average service rate is 1/E(τ )
• The utilisation, ρ , is the ratio of
average arrival rate to average
service rate
• So ρ = λ E(τ )
• That is E(τ ) = ρ /λ
Queue Size
• To find E(n), we still need to find σ ν
2

• We will need a result from the


distribution of service times, σ 2
∀ σ 2 = E[(τ – ρ /λ )2]
• = E(τ 2 – 2τ ρ /λ + ρ 2/λ 2)
• = E(τ 2) – 2ρ /λ x ρ /λ + ρ 2/λ 2
• So E(τ 2) = σ 2 + ρ 2/λ 2
Queue Size (find σ ν )
2

σ υ2 = E ( (k − E (υ )) 2 ) = E ( (k − ρ ) 2 )

= ∑ (k − ρ ) P (υ = k )
2

k =0
∞ ∞
= ∑ (k − ρ ) 2
∫ P (υ = k | τ ) fτ (τ )dτ
0
k =0
∞ ∞ (λ τ) k e −λ τ
= ∑ (k 2 − 2kρ + ρ 2 ) ∫ fτ (τ )dτ
k =0
0 k!
Queue Size (find σ ν
2
)
• We reverse the order of summation
and integration

σ υ2 = ∫ e −λ τ∑

( k (k − 1) + k − 2kρ + ρ )(λ τ)
2 k
fτ (τ )dτ
0
k =0 k!
∞  ∞
(λ τ) k − 2 ∞
(λ τ) k −1 ∞
(λ τ) k 
=∫ e −λ τ
 (λ τ) ∑
2
+ λ τ(1 − 2 ρ )∑ +ρ ∑
2
 fτ (τ )dτ
 k = 2 ( k − 2)! k =1 ( k − 1)! k! 
0
k =0

= ∫ ( (λ τ) 2 + λ τ(1 − 2 ρ ) + ρ 2 ) fτ (τ )dτ

0
Queue Size (find σ ν )
2

σ = λ E (τ ) + λ (1 − 2 ρ ) E (τ ) + ρ
2
υ
2 2 2

 ρ 
2
ρ
2
 2

= λ  σ + 2  + λ (1 − 2 ρ ) + ρ 2

 λ  λ
= ρ +λ σ
2 2
Queue Size
• We can now substitute back into the
formula for E(n), defining µ = λ /ρ
• We get
ρ  ρ 2 2 
E ( n) = 1 − (1 − µ σ ) 
1− ρ  2 
• This formula gives expected queue
size in terms of server statistics
Queue Size
• This formula collapses to ρ /(1-ρ )
for the exponential service
distribution
• If we know exactly what the service
time will be (eg for ATM cells at a
switch), then σ 2 =ρ 0 and ρ 
E ( n) = 1 − 
1− ρ  2 
Queue Size
• This is called a deterministic service
time, and the queue is then M/D/1
• This gives the lowest possible average
queue
• The higher the value of σ 2, the longer
the average queue will be
• The term 1/(1-ρ ) dominates for high ρ
Time Delay
• Average time delay can be found
using Little’s formula, so that
• E(T) = E(n)/λ
Problem
• Three queuing systems, with Poisson
arrivals, are alike, except that the
servicing distributions are (a) Poisson
(b) deterministic and (c) composed of
50% with a service time of 0.1, and
50% with a service time of 1.0.
Compare the average queue levels for
all cases when ρ = 0.5
Problem
• For case (c) the average service time
is 1.1/2 = 0.55. So µ = 1.81818
∀ σ 2 = 0.5(0.1 – 0.55)2 + 0.5(1.0 – 0.55)2
• = 0.2025
• From the formula
• E(n)=(0.5/0.5)(1–0.25(1-1.82x0.2025))
= 1.083
Problem
• For case (a) E(n) = 0.5/0.5 = 1
• For case (b) E(n) = 0.5/0.5x(1-0.5/2)
= 0.75
• The distribution of case (c) gives a
high variance, and this results in a
larger average queue
Tutorial Problems

Вам также может понравиться