Erlang Models
Peter Dordal, Loyola University CS Department
Suppose we know the average number
of simultaneous users at the peak busy time (could be calls using a trunk
line, could be calls to help desk). We would probably figure that at least
some of the time, the demand might be higher than average. How many lines do
we actually need?
To put this another way, suppose we flip 200 coins. The average number of
heads is 100. What are the odds that in fact we get less than or equal to
110 heads? Or, to put it in a slightly more parallel way, suppose we keep
doing this. We want to reward every
head-getter, 99% of the time. How many rewards do we have to keep on hand?
One parameter is the acceptable blocking
rate: the fraction of calls that are allowed to go unconnected (ie
that receive the fast-busy or "reorder" signal). As this rate gets smaller,
the number of lines needed will increase.
Example: how many lines do we need to handle a peak rate of 100 calls at any
one time (eg 2,000 users each spending 5% of the day on the phone), and a
maximum blocking rate of 0.01%?
(From http://erlang.com/calculator/erlb
and my own program)
We assume that calls for which a line is not available are BLOCKED, not
queued. (There is an alternative Erlang formulation for the queued model.)
Here is a table; the call rate is the average
number of simultaneous calls, and allowed blocking is the fraction
of calls that can be blocked.
call rate
|
allowed blocking
|
lines needed
|
excess
|
10
|
0.01
|
18
|
180%
|
20
|
0.01
|
30
|
150%
|
50
|
0.01
|
64
|
128%
|
100
|
0.01
|
118
|
118%
|
180
|
0.01
|
201
|
111%
|
200
|
0.01
|
221
|
110%
|
500
|
0.01
|
526
|
105%
|
1000
|
0.01
|
1029
|
103%
|
To a reasonable approximation, if we have 200 lines, we can handle ~180
calls.
Here's a table where the blocking rate is 0.001:
call rate
|
allowed blocking
|
lines needed
|
excess
|
10
|
0.001 |
21 |
210% |
20
|
0.001 |
35 |
175% |
50
|
0.001 |
71 |
142%
|
100
|
0.001 |
128 |
128% |
180
|
0.001 |
216 |
120%
|
200
|
0.001 |
237 |
119% |
500
|
0.001 |
554 |
111% |
1000
|
0.001 |
1071 |
107% |
The number of lines needed is always greater than the average peak
rate. The question is by how much.
As allowed blocking rate goes down, the number of lines needed goes up, for
the same call rate.
Also, as the call rate goes up, the number of extra lines goes up but the percentage of extra lines needed goes
DOWN, due to the "law of large numbers"