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
© Copyright 2026 Paperzz