Blocking Probabilities of Two-Layer Statistically Indistinguishable

AB
HELSINKI UNIVERSITY OF TECHNOLOGY
Networking Laboratory
Blocking Probabilities of
Two-Layer Statistically Indistinguishable
Multicast Streams
Jouni Karvo, Samuli Aalto & Jorma Virtamo
Networking Laboratory
Helsinki University of Technology
[email protected]
itc17.ppt
ITC-17, Salvador da Bahia, Brazil, 2-7 December 2001
1
Outline
•
•
•
•
•
Setup: network with hierarchically coded multicast streams
Three approaches to calculate blocking probabilities
Combinatorial convolution-truncation algorithm
Numerical example
Summary & ongoing work
2
Setup
• Circuit-sw. network, or packet-sw. with strict quality guarantees
• A unique source offers a variety of channels i ∈ I
– hierarchically coded audio or video streams with two layers
– layer 1 = the most important substream, layer 2 = both substreams
– required capacity d(l) on each link depends on layer l
• Each channel is delivered to user populations u ∈ U by
a multicast connection with dynamic membership
• Each multicast connection uses the same routing tree
– the source located at the root node
– users located at leaf nodes
• Physical links j ∈ J with finite capacities Cj
3
Routing tree
Leaf link u
User population u
Root link J
Source
Link j
4
Layered Multicast Connection With Dynamic Membership (1)
Layer 1 user
Layer 2 user
Source
5
Layered Multicast Connection With Dynamic Membership (2)
New layer 2 user
Source
6
Unlimited link capacities (1)
• Consider first a network with unlimited link capacities
• Let
Y ji = " state of channel i on link j "∈{0,1,2}
• Note that
Y ji = max{Yui ; u ∈ U j }
j
• Link state (for any link j ∈ J)
Y j = (Y ji ; i ∈ I ) ∈ S := {0,1,2}I
• Network state
X = (Yu ; u ∈ U ) = (Yui ; u ∈ U , i ∈ I ) ∈ Ω := {0,1,2}U × I
{
Uj
7
Unlimited link capacities (2)
• Assume: independent and infinite user populations with
Poisson request arrivals and exponential holding times
• Then we have
P{X = x} = ∏ P{Yu = y u } = ∏ ∏ P{Yui = yui }
u∈U
u∈U i∈I
where (by utilising M/M/∞ model):
exp(− λui1 ) exp(− λui 2 ),
l =0
µ
µ
λui 2
λui1
puil := P{Yui = l} = exp(− µ )(1 − exp(− µ )), l = 1
λui 2
l=2
1 − exp(− µ ),
8
Unlimited link capacities (3)
• User population model
(for a single channel at a single leaf node)
– two independent M/M/∞ queues
02
λui2
22
11
21
l=2
20
l=1
n2µ
01
l=0
12
λui1
00
10
n1µ
9
Limited link capacities
• Consider now a network with limited link capacities Cj
~
• The set of possible network states, Ω, is clearly a subset of Ω
~
~ ~
• Let X denote the network state in this case, X ∈ Ω
• As the most detailed traffic process (telling how many users are
active on each leaf node, channel and layer) is a reversible
Markov process, the Truncation Principle applies and we have
P{X = x}
~
P{X = x} =
~
P{X ∈ Ω}
• So, due to the Truncation Principle, it is enough to analyse the
(much easier) system with unlimited link capacities!
10
Blocking probability
• Bur = blocking probability for user population u, requested
channel I and layer r
~
P{X ∈ Ωur }
~ ~
Bur := 1 − P{X ∈ Ωur } = 1 −
~
P{X ∈ Ω}
~
– where Ω ur is the set of non-blocking states for (u,I,r)
• How to calculate Bur?
11
Calculation of blocking probabilities (1)
• 1st approach: closed form expression
Bur = 1 −
P{X = x}
å
~
x∈Ω ur
å~P{X = x}
x∈Ω
• Problem: computationally extremely complex
– exponential growth both in U and I (|Ω| = 3UI)
12
Calculation of blocking probabilities (2)
• 2nd approach: algorithm based on the (original) link state
å Q' J , r (y )
Bur = 1 −
y∈S
å QJ ( y )
y∈S
where probabilities Q’J,r(y) and Qj (y) can be calculated
recursively (from the root link J back to leaf links u)
• Problem: still computationally complex
– linear growth in U but exponential growth in I (|S| = 3I)
13
Calculation of blocking probabilities (3)
• 3rd approach: algorithm based on a reduced link state
å å Q' J , r (k' , l )
Bur = 1 − k'∈S' l
å QJ (k )
k∈S'
where probabilities Qj (k) and Q’J,r(k’,l) can be calculated
recursively (from the root link J back to leaf links u)
• Problem: computationally reasonable (|S’| = (I+1)2) but …
… restrictive assumptions have to be made!
14
Restrictive assumptions
• (i) Users belong to two groups, according to which layer they
subscribe to
• (ii) Channels are chosen with equal probabilities, i.e.,
λuil
λul
=
I
for all i
– Make channels statistically indistinguishable at each layer!
– But user populations and the network topology may still be
unsymmetric
15
Consequences
• Channels statistically indistinguishable at each layer Þ
– Whenever there are k channels active at any layer l on any leaf link
u, each possible index combination {i1,…,ik} is equally probable
• This and the independence of the user populations Þ
– Whenever there are k channels active at any layer l on any link j,
each possible index combination {i1,…,ik} is equally probable
• Thus,
– Just count the total number of active channels at each layer
– Utilize combinatorics
16
Reduced link state
• Consider again a network with unlimited link capacities
• Let
K jl = " number of channels at layer l on link j "
• Reduced link state (for any link j ∈ J)
K j = ( K j1, K j 2 ) ∈ S' := {0,1,..., I }2
• Due to the restrictive assumptions made, we have a
multinomial distribution,
I!
I −k −k k k
π u (k ) := P{K u = k} =
pu 0 1 2 pu11 pu 22
k1! k 2! ( I − k1 − k 2 )!
17
Algorithm (1)
• Key result 1:
– If link j has two downstream neighbouring links (s,t), then
P{K j = k} = å å å s (x, y | l, m ) P{K s = l}P{K t = m}
l m x
– In other words,
π j (k ) = [π s ⊗ π t ](k )
j
s
t
– Proved by a “sampling without replacement”
argument
18
Algorithm (2)
• Definition of combinatorial convolution ⊗: R(S’)×R(S’) → R(S’)
– Let f and g be any real-valued function on S’ = {0,1,…,I}2.
– Then define
[ f ⊗ g ](k ) = å å å s (x, y | l, m) f (l ) g (m)
l m x
where s(x,y|l,m) is a combinatorial coefficient and vector y is
determined from vectors k, l, m and x as follows:
k1 = l1 + m1 − x1 − x2 − y1
k 2 = l2 + m2 − y2
19
Algorithm (3)
I
L1
Y1
X1
M1
X2
Y2
M2
L2
K1 = (L1 \ X1) ∪ (M1 \ X2)
K2 = L2 ∪ M2
20
Algorithm (4)
• Define (for all j ∈ J)
Q j (k ) = P{K j = k ; D j' ≤ C j' , j' ∈ M j }
Q' jr (k' , l ) = P{K' j = k' , Y j , I = l ; D' j' + d (r ) ≤ C j' , j' ∈ M j ∩ Ru ;
D j' ≤ C j' , j' ∈ M j }
– where K’j is the reduced link state without channel I,
Dj’ is the total demand and D’j’ is the demand without
channel I
u
Ru
j
• Then the blocking probability for class (u,I,r) is
å å Q' J ,r (k' ,l )
~
P{X∈Ω ur }
k'∈S' l
Bur = 1 −
~ = 1−
P{X∈Ω}
å Q J (k )
k∈S'
Mj
21
Algorithm (5)
• Recursion 1 to calculate the denominator QJ (k):
j ∈U
T j [π j ](k ),
Q j (k ) = T j [ ⊗ Q j' ](k ), j ∉ U
j'∈N j
• Definition of truncation operator Tj: R(S’) → R(S’)
– Let f be any real-valued function on S’ = {0,1,…,I}2.
– Then define
T j [ f ](k ) = f (k ) ⋅1{k1d (1) + k 2 d (2) ≤ C j }
22
Algorithm (6)
• Recursion 2 to calculate the numerator Q’J,r (k’,l):
o
Tur
[ Eπ u ](k' , l ),
j =u
o
Q' jr (k' , l ) = T [Q'
⊗ Q j' ](k' , l ), j ∈ Ru \ {u}
jr
Du ( j ), r ⋅
j' ∈N j \ Ru
• Definition of truncation operator T°jr: R(S’’) → R(S’’)
– Let f be any real-valued function on S’’ = S’×{0,1,2}.
– Then define
o
T jr
[ f ](k' , l ) = f (k' , l ) ⋅1{d (1)k'1 + d (2)k'2 + max{d (l ), d (r )} ≤ C j }
23
Algorithm (7)
• Definition of operation ⋅ : R(S’’)×R(S’) → R(S’’)
– Let f and g be any real-valued function on S’’ and S’, respectively
– Then define
[ f ⋅ g ](k' , l ) = å å å s' (x, y | l' , m' )
l' m ' x
å f (l' , v1 ) Eg (m' , v2 )
max{v1 , v2 }= l
where s’(x,y|l’,m’) is another combinatorial coefficient and vector y
is determined from vectors k’, l’, m’ and x as before
24
Algorithm (8)
• Key result 2:
– If link j has two downstream neighbouring links (s,t), then
P{K' j = k} = å å å s' (x, y | l' , m' ) P{K' s = l'}P{K't = m'}
l' m ' x
– So, s’(x,y|l’,m’) is the same as s(x,y|l,m) but without channel I
• Definition of operator E : R(S’) → R(S’’)
– Let f be any real-valued function on S’.
– Then define
I − k'1 − k'2 f (k' ),
E[ f ](k' , l ) = k' +1I
lI f (k' + el ),
l =0
l >0
25
Example network
•
Comparison of execution times:
I
time [s]
--------------------4
4
8
32
12
228
16
1191
20
4727
24
15386
26
Summary and ongoing work
• Summary:
– “Combinatorial convolution-truncation” algorithm presented for the
calculation of blocking probabilities in a network with hierarchically
coded multicast streams
• approximate complexity O(UI8)
• avoids exponential dependence on U and I but …
• … requires restrictive assumptions (all channels have to look
the same)
• Ongoing work:
– generalisation of the algorithm for more layers, more groups of
multicast channels, and other user population models (incl.
general holding time distribution)
– development of an efficient simulation method (by the Inverse
Convolution approach)
27
The End
28