390 likes | 471 Views
Models for Calculating Blocking Probabilities. System must be in a Steady State Also called state of “statistical equilibrium” Arrival Rate of new calls equals Departure Rate of disconnecting calls Why? If calls arrive faster that they depart? If calls depart faster than they arrive?
E N D
Models for Calculating Blocking Probabilities • System must be in a Steady State • Also called state of “statistical equilibrium” • Arrival Rate of new calls equals Departure Rate of disconnecting calls • Why? • If calls arrive faster that they depart? • If calls depart faster than they arrive? Models to follow: • Binomial (finite sources) Poisson (infinite sources) (both BCH) • Erlang B (infinte sources, Blocked calls cleared (BCC) • Engset (BCC, finite sources) • Erlang C (infinite sources, infinite Queue) “Blocked Calls Wait” (BCW)
Binomial Traffic Model • Assumptions: • m sources • A Erlangs of offered traffic • per source: TO = A/m • probability that a specific source is busy: P(B) = A/m • Then a Binomial Distribution gives the probability that a certain number (k) of those m sources is busy: P(k) is the probability of system state k, i.e., k servers in use
Binomial Model (2) • Now consider if we have N servers (N<m)? • We can have at most N busy sources at a time • What about the probability of blocking? • All N servers must be busy before we have blocking • All N busy only if k≥N, therefore
Binomial Model (3) • But what does it mean if k>N? • Impossible to have more sources busy than servers to serve them • Therefore, doesn’t accurately represent reality • In reality, P(k>N) = 0 • In this model, we have sources busy without a server • …BCH effect • Arguments in favour, however: • Acts as model of user re-try behaviour • Well, at least it’s a “conservative” (i.e., pessimistic) model for blocking • An argument against: • if m = 300, and N = 20, do you really expect me to calculate the term “300 choose 19” !? • if m is “large” there must be a better way to calculate P(B)…
Poisson Blocking Model • The Poisson model emerges as the limiting case of Binomial as m ∞ and small A/m = Mean # of Busy Sources • What is ? • Mean number of busy sources • Well that’s easy ….m (A/m) = A Gives the probability of k servers in use
Example: Poisson P(B) with 10 E offered to 7 servers Poisson Traffic Model (2) • So now we can calculate probability of blocking: Typical notation: “P” = Poisson “A” = Offered Traffic “N” = # Servers
The Role of Traffic Tables • Note that P(N,A) assumes N is given and we calculate the blocking from A Erlangs of offered traffic • But in a design orientation we more naturally want to soilve the incverse problem, i.e., what should N be to serve A at not more than a target P(B). • Or, consider a g.o.s requirement of 1% blocking in a system with N=10 trunks • How much offered traffic can the system handle? • Q. How do we solve this equation for A that produces P(N,A) = 1%? • Iteratively and very carefully, or… • Use traffic tables
P(B)=P(N,A) N A (Poisson) Traffic Tables
P(N,A)=0.01 N=10 A=4.14 E Example Use of Traffic Tables A. If system with N = 10 trunks has P(B) = 0.01: System can handle Offered traffic (A) = 4.14 E
Class Problem Using Poisson traffic tables, • Find how many trunks are needed to serve 50 E at “P.01” (1% Poisson blocking) Answer: (b) Find how many trunks are needed to serve 5 E at “P.01” Answer: (c) Compare the trunking efficiency of the 50 E group to the 5 E group. Answer: 50 E: 5 E : (d) What general insight can you gain from this?
Efficiency of Large Groups • What if there are N = 100 trunks? • Will they serve A = 10 x 4.14 E = 41.4 E with same P(B) = 1%? • No! • Traffic tables will show that A = 78.2 E! • Why will 10 times trunks serve almost 20 times traffic? • Called efficiency of large groups: For N = 10, A = 4.14 E For N = 100, A = 78.2 E The larger the trunk group, the greater the efficiency (at target loading) We already know this effect qualitatively as “economy of scale”
Intro to TrafCalc Software • What if we need to calculate P(N,A) value not in traffic table? • TrafCalc: Custom-designed software • Calculates P(B) or A, or • Creates custom traffic tables Example Problems: • How do we calculate P(32,20)? • How do we calculate the A for which P(32,A) = 0.01?
Erlang B Model • More sophisticated model than Binomial or Poisson • Analytically recognizes that states k>N are not possible. • Blocked Calls Cleared (BCC) • Exact for trunk groups that have reroute to alternate route if blocked • If no alternate route, blocking must be low for accuracy, otherwise reattempt effects not reflected. • i.e., while Poisson is a pessimistic estmate (due to BCH effect), Erlang B is either exact (overflow route case) or an optimistic estimate because of its BCC assumption. • Derived using birth-death process type of analysis • See selected pages from Leonard Kleinrock, Queueing Systems Volume 1: Theory, John Wiley & Sons, 1975
Blockage Statistical equilibrium across every up/down transition pair …… 0 1 2 N-1 N 3 (N-1) N Immediate Service Erlang B Birth-Death Process • Consider infinitesimally small time t during which only one arrival or departure (or none) may occur • Let be the arrival rate from an infinite pool or sources • Let = 1/h be the departure rate per call • Note: if k calls in system, departure rate is k • Steady State Diagram: 2
“B” = Erlang B “N” = # Servers “A” = Offered Traffic The Erlang B Result In this framework, P(B) is now just probability of the system being in state k = N “the all servers busy state” = time congestion = call congestion state
B(N,A)=0.001 B(N,A)=0.005 N=59 A=40 E A48 E N=64 Erlang B Traffic Tables Example: In a BCC system with m= sources, we can accept a 0.1% chance of blocking in the nominal case of 40E offered traffic. However, in the extreme case of a 20% overload, we can accept a 0.5% chance of blocking. Q. How many outgoing trunks do we need? Nominal design: 59 trunks Overload design: 64 trunks A. Requirement is: 64 trunks
P(N,A)=0.01 N=32 A=20.3 E Example (2)
Compare Poisson & Erlang B at High Blocking • We recognize that Poisson and Erlang B models are only approximations but which is better? • Compare them using a 4-trunk group offered A=10E Erlang B Poisson How can 4 trunks handle 10E offered traffic and be busy only 2.6% of the time?
P(N,A) & B(N,A) at High Blocking • Obviously, the Poisson result is far off. • 4 servers offered enough traffic to keep 10 servers busy full time (10E) should result in much higher utilization. • Erlang B result is more believable. • All 4 trunks are busy most of the time. • What if we extend the exercise by increasing A? • Erlang B result goes to 4E carried traffic • Poisson result goes to 0 E carried traffic! • What is going on ? • Poisson degenerates with “runaway” BCH effect • The “take-away” messages are: • Poisson only good approximation when low blocking • Use Erlang B if high blocking • Erlang B is exact for “High usage” tunks groups with overflow
Blockage (m-2) [M-(N-2)] [m-(N-1)] P0 P1 P2 PN-1 PN …… 0 1 2 N-1 N 3 (N-1) N Immediate Service Engset Traffic Model • BCC model with finite number of sources (m > N) = mean departure rate per call = mean arrival rate of a single source k = arrival rate if in the system is state k k = (m-k) m (m-1) 2
Blockage (m-2) [M-(N-2)] [m-(N-1)] P0 P1 P2 PN-1 PN …… 0 1 2 N-1 N 3 (N-1) N Immediate Service Understanding the Engset Traffic Model • Think “Erlang B but with finite sources” • The key difference in the model derivation is that now the pool for further arrivals is depleted by each advance to a higher number of servers in use in the sytem state model. e.g. Erlang B Engset = m in all states (k) = m-(k-1) m (m-1) 2
M = 30 sources # trunks (N) Traffic offered (A) P(B)=E(m,N,A) N=10 A=4.8 E P(B)<0.01 Engset Traffic Tables Example: 30 terminals each provide 0.16 Erlangs to a concentrator with a goal of less than 1% blocking. How many outgoing trunks do we need? A = 30 x 0.16 = 4.8 E Check m < 10 x N? M=30 < 10 x 10 = 100 Requirement:N = 10 Trunks
When to use Engset not Erlang B? • A general guideline is when the number of sources is actually know, M , and an Erlang B solution itself produces a solution N, for which M < 10 N. • i.e., the numbers of sources is only ~10x the number of servers, or less. • Will it matter much? • The difference between Erlang B and Engset may be only 1 or 2 trunks. • Wont matter much if the “servers” are just time-slots in a transmission system • Could mean a huge savings if the “servers” are human operators or, say, channels over a geo-synchronous satellite to a community in the far north.
Blockage …… …… 0 1 2 N Q1 PQ2 Q2 P0 P1 P2 PN PQ1 N 3 N N N Immediate Service Erlang C “Delay-Working” Model • BCW model with infinite sources (m) and infinite queue length = arrival rate of new calls = mean departure rate per call 2
# trunks (N) N=18 P(B)=C(N,A) Traffic offered (A) A=7 E C(18,7)=0.0004 Erlang C Traffic Tables Example: What is the probability of blocking in an Erlang C system with 18 servers offered 7 Erlangs of traffic?
Recall: Also: Delay in Erlang C • Expected number of calls in the queue?
Problems • Q. What is the Carried Traffic of any Erlang C system? • Use Trafcalc to find out how much traffic can be offered to 5 servers with less than 10% probability of encountering delay. • How realistic is Erlang Cs aspect of an infinite Q from what you might already know of router technology? • A link in a packet switching network is observed to operate at 95% utilization and have an arrival rate of 10 packets / msec. What is the probability of the queuing delay > 5 msec?
Erlang C (BCW, sources) Poisson (BCH, sources) Erlang B (BCC, sources) Binomial (BCH, m sources) Engset (BCC, m sources) P(B) Offered Traffic (A) Comparison of Traffic Models
example 1: and example 2: and example 3: and Efficiency of Large Groups • Already seen that for same P(B), increasing servers results in more than proportional increase in traffic carried • What does this mean? • If it’s possible to collect together several diverse sources, you can • provide better gos at same cost, or • provide same gos at cheaper cost
N1=? 5 E N2=? N1=13 5 E N2=13 Efficiency of Large Groups (2) • Two trunk groups offered 5 Erlangs each, and B(N,A)=0.002 How many trunks total? From traffic tables, find B(13,5) 0.002 Ntotal = 13 + 13 = 26 trunks Trunk efficiency? 38.4% utilization
N=? 10 E Efficiency of Large Groups (3) • One trunk group offered 10 Erlangs, and B(N,A)=0.002 How many trunks? N=20 From traffic tables, find B(20,10) 0.002 N = 20 trunks Trunk efficiency? 49.9% utilization For same gos, we can save 6 trunks!
A B=0.1 B=0.1 B=0.01 B=0.01 B=0.001 B=0.001 N N Efficiency of Large Groups (4)
Sensitivity to Overload • Consider 2 cases: Case 1: N = 10 and B(N,A) = 0.01 B(10,4.5) 0.01, so can carry 4.5 E What if 20% overload (5.4 E)? B(10,5.4) 0.03 3 times P(B) with 20% overload Case 1: N = 30 and B(N,A) = 0.01 B(30,20.3) 0.01, so can carry 20.3 E What if 20% overload (24.5 E)? B(30,24.5) 0.08 8 times P(B) with 20% overload! “Trunk Group Splintering” • if high possibility of overloads, small groups may be better
for very low blocking Incremental Traffic Carried by Nth Trunk • If a trunk group is of size N-1, how much extra traffic can it carry if you add one extra trunk? • Before, can carry: TC1 = A x [1-(B(N-1,A)] • After, can carry: TC2 = A x [1-(B(N,A)] • What does this mean? • Random Hunting: Increase in trunk group’s total carried traffic after adding an Nth trunk • Sequential Hunting: Actual traffic carried by the Nth trunk in the group
Actual Traffic Carried by the Nth Trunk Extra Total Traffic Carried by adding Nth Trunk Random Hunting Sequential Hunting Incremental Traffic Carried by Nth Trunk (2)
0.8 AN e.g. For B.01 at ~ N=20, the incremental traffic carried by the group is almost asymptotic at 0.8 Erlangs 20 N Incremental Traffic Carried by Nth Trunk (3) Note the context here! We add trunks to a group and assume that additional offered traffic is available to keep the blocking fixed at, say, B.01 Fixed B(N,A)
Example • Individual trunks are only economic if they can carry 0.4 E or more. A trunk group of size N=10 is offered 6 E. Will all 10 trunks be economical? At least the 10th trunk is not economical