You are on page 1of 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

n
p
n
=
n+1
p
n+1
for 0 < n N

This gives us p
n
= (n+1)p
n+1
or


where = /
n n
p
n
p
1
1
+
=
+

Telephone Line Problem
This gives us

Since we also require Ep
n
= 1, we also
get
!
0
n
p p
n
n

=
=
N
n
n
n
p
0
0
!
1

Telephone Line Problem


The designer of the system is
interested in the blocking probability
This is simply the probability that n =
N, or p
N

=
=
N
n
n
N
B
n
N
P
0
!
!

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
( )
B
N
n
N n
N
n
n
N
n
n
N
n
n
P
N n
p
n
p
n
np
np n E
=
|
|
.
|

\
|
=

=
= =


=
=

= =
1
! !
)! 1 (
!
) (
0
0
1
1
0
1
0
0

Telephone Line Problem


We would generally expect to be
designing systems where P
B
is low, so
E(n)
The average number of calls put
through per unit time, is

( )
B
N
n
n n
N
n
n
P
n E p n p
=
= = =

= =
1
) (
0 0


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

=
=
N
n
n
N
B
n
N
P
0
!
!

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
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
Service time, t
F(t)
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
Packet j is completed at time, t
j
The number of packets in the queue
at time t
j
+
is n
j
time
t
j-1
t
j
t
j+1

Service time,
customer j
n
j-1
n
j

n
j+1

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

The average value of arrivals, E(v)
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



Therefore we have
p
0
= 1 as before (M/M/1)
( ) ( ) 0 ) ( ) (
1
> = = =

=
n P p n u E E
n
n
u
M/G/1 Queue
For the next proof, we need some
intermediate results or definitions
Firstly, the definition of the variance
of v is ( ) ( )
( ) ( )
( )
( )
2 2
2 2 2
2 2
2 2 2 2
2
2
2 ) (
u
u
u u
u u u o
v
=
+ =
+ =
+ = =
E
E
E E
E E
M/G/1 Queue
Secondly, E(u
2
(n)) = E(u(n)) = E(v) =
Thirdly, we assume that v
j
and n
j-1
are
independent, so that
E(v
j
n
j-1
) = E(v
j
)E(n
j-1
) = E(n
j-1
)
We begin the proof with the equation
relating n
j
and n
j-1
n
j
= n
j-1
u(n
j-1
) + v
j
M/G/1 Queue
We square both sides of the equation
n
j
2
= n
j-1
2
+ u
2
(n
j-1
) + v
j
2
2n
j-1
u(n
j-1
)
2u(n
j-1
)v
j
+ 2v
j
n
j-1
We now take the expected value of
both sides
+ E(v
2
) 2E(n) 2
2
+ 2E(n) = 0
We now substitute for E(v
2
)
M/G/1 Queue
2E(n) (1 ) = - 2
2
+ o
v
2
+
2

= (1 ) + o
v
2
This finally gives us
) 1 ( 2 2
) (
2

o
u

+ = n E
Expected service time
The average service time is E(t), so
the average service rate is 1/E(t)
The utilisation, , is the ratio of
average arrival rate to average
service rate
So = E(t)
That is E(t) = /
Queue Size
To find E(n), we still need to find o
v
2
We will need a result from the
distribution of service times, o
2
o
2
= E[(t /)
2
]
= E(t
2
2t/ +
2
/
2
)
= E(t
2
) 2/ x / +
2
/
2
So E(t
2
) = o
2
+
2
/
2
Queue Size (find o
v
2
)
( ) ( )
t t
t

t t t u
u
u o
t
t
t
u
d f
k
e
k k
d f k P k
k P k
k E E k E
k
k
k
k
) (
!
) (
) 2 (
) ( ) | ( ) (
) ( ) (
) ( )) ( (
0
0
2 2
0
0
2
0
2
2 2 2
}

=
+ =
= =
= =
= =
Queue Size (find o
v
2
)
We reverse the order of summation
and integration
( )
( ) t t t t
t t
t

t
t
t
t
t t
t
o
t
t
t
t
t
u
d f
d f
k k k
e
d f
k
k k k k
e
k k k
k k k
k
k
) ( ) 2 1 ( ) (
) (
!
) (
)! 1 (
) (
) 2 1 (
)! 2 (
) (
) (
) (
!
) ( 2 ) 1 (
0
2 2
2 1 0
2
1 2
2
0
0
2
0
2
}

}


+ + =
|
|
.
|

\
|
+

=
+ +
=
Queue Size (find o
v
2
)
2 2
2
2
2
2 2
2 2 2 2
) 2 1 (
) ( ) 2 1 ( ) (
o

o
t t o
u
+ =
+ +
|
|
.
|

\
|
+ =
+ + = E E
Queue Size
We can now substitute back into the
formula for E(n), defining = /
We get


This formula gives expected queue
size in terms of server statistics
|
.
|

\
|

= ) 1 (
2
1
1
) (
2 2
o

n E
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 o
2
= 0 and
|
.
|

\
|

=
2
1
1
) (

n E
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 o
2
, the longer
the average queue will be
The term 1/(1-) dominates for high
Time Delay
Average time delay can be found
using Littles 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
o
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)(10.25(1-1.8
2
x0.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

You might also like