The MPLS-OPS Archive

Cell Relay Retreat>MPLS-OPS Archive>month:2003-Nov> msg00105



[Date Prev][Date Next][Thread Prev][Thread Next]  
  [Date Index][Thread Index][Author Index][Subject Index]

Statistical Multiplexing?? Oversubscription..

  • From: nbwaite@attglobal.net
  • Date: Fri, 28 Nov 2003 14:41:40 -0500 (EST)
  • Resent-Date: Fri, 28 Nov 2003 15:08:23 -0500
  • To: mpls-ops@mplsrc.com

Andrew Frazer:

Saw your question:

>    Probably every carrier oversubscribes their core network,
>    when they sell bandwidth on their network.
>
>    Does anyone have any links to any formulas for
>    calculating the probability of blocking when doing this?

Depending on amount of detail involved, this calculation can
range from fairly simple to quite complicated.

Here is a relatively simple approach:  A network consists of
various 'resources'.  With an appropriate representation in
terms of resources, we can say that the network has 'blocking'
if and only if some resource does.

For some networks, finding a representation terms of such
resources may require some effort.  For example, two links
between the same two end points and fed with load balancing
would be treated as one resource.  Thus, we would want to know
where our 'nodes' did such load balancing.  In a sufficiently
complicated network, such a representation need not exist.
But, here we assume that such resources do exist, either for
all of our network or for enough of it for some useful
results.

So, we should calculate the probability of blocking for each
of the resources.  What you are likely to find is just a few
'bottlenecks', that is, resources with much higher
probabilities of blocking than all the other resources.  In
this case, typically we pay attention to just the bottlenecks.

To calculate probabilities, first we can draw from some
classic work on stochastic processes:  So, consider time t >=
0. At some resource, let N(t) be the number of packets that
arrive at this resource in time [0, t].  Assume, for s, t >=
0, (1) with probability 1, packets arrive just one at a time;
(2) N(0) = 0; (3) the 'increment' N(t + s) - N(s) is
independent of (N(u), u <= s), and (4) the distribution of the
increment N(t + s) - N(s) is independent of s.

Then (N(t), t >= 0) is a 'Poisson process' and, just from
these relatively 'qualitative' assumptions, it follows that
(1) for some constant c >= 0, for any k = 0, 1, 2, ..., P(N(t)
= k) = exp(-ct)(ct)**k/k!  (2) E[N(t)] = Var(N(t)) = ct.

Due to E[N(t)] = ct, constant c is called the 'arrival rate'.

Further, for k = 0, 1, 2, ..., we can let T(k) be the first t
where N(t) = k (the time of the kth arrival).  Then (1) (T(k),
k = 0, 1, ...) is independent and (2) for t >= 0, P(T(k + 1) -
T(k) <= t) = 1 - exp(-ct), which is the 'exponential
distribution' with 'density' (c)exp(-ct).  Further, (1) and
(2) are sufficient for (N(t), t >= 0) to be a Poisson process
(useful in 'simulation').

If (N(t), t >= 0) (M(t), t >= 0) are independent Poisson
processes with rates c and d, respectively, then (N(t) + M(t),
t >= 0) is a Poisson process with rate c + d.

Note:  Some of these statements have to be taken mostly
intuitively or be supported with some relatively advanced
topics including 'monotone class' arguments from 'measure
theory'.

Moving on, suppose we are given a 'network cloud' with some n
'edge nodes' and the flows from each of the n edge nodes to
each of the other (n - 1) edge nodes.  So, we have n(n - 1)
flows.  Suppose each of these flows is a Poisson process.
Then the flow on each resource is a sum of Poisson processes
and, assuming that the flows are independent, thus, Poisson.
Suppose, in our first-cut approximation, we say that
'blocking' on a given resource in our network cloud is a
function only of the Poisson process of the flow on that
resource.  Continuing, divide time into increments s > 0.
Suppose on some resource its flow is Poisson process (N(t), t
>= 0) with arrival rate c. Suppose for some integer b > 0
there is blocking on this resource in an interval s if and
only if N(t + s) - N(t) >= b.  Then the probability of
blocking is P(N(t + s) - N(t) >= b) = P(N(s) >= b) = P(T(b) <=
s) which has Erlang-n distribution -- basically get just a sum
of terms of the form P(N(t) = k).  The equation is simple to
derive from what we have said here but something of a mess for
this simple flat ASCII typing.  This is one way to arrive at
the classic role of Erlang distributions in telecommunications
capacity planning.

We should return to E[N(t)] = Var(N(t)) = ct.  'Blocking' in
some interval of time is the same as too many arrivals in that
interval which, for time interval of length t, is having N(t)
too large.  A first-cut way to estimate N(t) being too large
is to consider just the mean and standard deviation of N(t).
We know the mean, ct, and the standard deviation is just its
square root.  Hmm ....  Analogy:  Hold up a sheet of paper.
Notice that the air molecules striking one side essentially
determine a Poisson process.  At sea level, the resulting
pressure is about 14 pounds per square inch; for a sheet of
paper 8 1/2 x 11 inches that is 1309 pounds -- on one side of
this flimsy piece of paper.  And the paper stands still.  The
reason for the stability is that there is an independent and
opposing Poisson process on the other side.  Lesson:  When
N(t) is large, the standard deviation is a small fraction of
the mean -- that is, in percentage terms, N(t) is quite
stable, does not vary very much.  A somewhat more precise way
to see this is to notice that N(t), being a sum of independent
arrivals, can be described by the central limit theorem and,
thus, when ct is large, must be nearly Gaussian distributed
with mean ct and standard deviation the square root of ct;
then a random variable with Gaussian distribution with large
mean ct and standard deviation the square root of ct is nearly
constant -- witness the stable paper.

For capacity planning, this means that, in terms of the
Poisson approach here, flows on high capacity resources are
nearly deterministic.  To confirm this, look at the graphs of
flow rates over time for some of the Internet nodes -- other
than the time of day variation, they are quite stable.  As a
result, for how much 'spare' capacity we want at such a
resource, typically considerations other than blocking
probabilities (as we have outlined here) dominate.  For one,
we are concerned with hypothetical 'peak' loads from Mother's
day, natural disasters, etc. and are not sure that our Poisson
process argument appropriately captures such rare events with
such large changes from the usual.  For another, we want to
allow room for growth in our network over coming weeks and
months.  So, 'engineering judgement' can tell us that we do
not want flows through high capacity resources to be over,
say, 70% of capacity.  Here, then, blocking probabilities are
not very important.  Just why in such complicated situations
such simple arguments can be the more appropriate ones is one
of the inscrutable parts of our universe!

So, blocking probabilities can become more important on
resources where flow rates are smaller, so that standard
deviation is a large fraction of the mean values.  So, these
resources will typically be the smaller ones, closer to the
edge nodes and before consolidation into larger resources.

For really complicated situations, we may have to resort to
Monte Carlo simulation.  We should be reluctant to take this
step because (1) the purpose of computing is insight, not
numbers, and some good, if only approximate, analytical
attacks commonly can give more insight than long Monte Carlo
experiments and (2) in a well designed network, blocking will
be rare so that we are simulating for rare events which is the
most challenging work for simulation -- quickly we get into
'swindles', 'importance sampling', etc.

Norman B. Waite, Ph.D.
Founder
Network Architectonics
9 Fox Run
Wappingers Falls, NY 12590
nbwaite@attglobal.net
845-227-7821

-------
The MPLS-OPS Mailing List
Subscribe/Unsubscribe:  http://www.mplsrc.com/mplsops.shtml
Archive: http://www.mplsrc.com/mpls-ops_archive.shtml