Packing Multicast TreesPhilip A. ChouSudipta SenguptaMinghua ChenJin LiKobayashi Workshop on Modeling and Analysis of Computer and Communication Systems, Princeton University, May 9, 2008
Problem
What is the capacity region What is a transmission scheme that achieves a given
transmission rate vector
Given Directed graph (V,E) with
edge capacities Multiple multicast sessions
{(si,Ti)}, each with Sender si
Receiver set Ti
Transmission rate ri
ii
2
2
1
1
1 1
1
( ), c e e E
1 | |{achievable ( ,..., )}?Sr rR
1 | |( ,..., ) ?Sr r R
Butterfly Networkwith Two Unicast Sessions
sender s1
rate r1
sender s2
rate r2
receiver t2
receiver t1
r2
r1
Capacity Region ?
Network Coding vs Routing
y1
y2
y3
f1(y1,y2,y3)
f2(y1,y2,y3)
Butterfly Networkwith Two Unicast Sessions
sender s1
rate r1
sender s2
rate r2
receiver t2
receiver t1
a
b
b
a
XOR
XOR
XOR
a+b
r2
r1
Capacity RegionR
Characterization of Capacity for Acyclic Graphs
[Yan, Yeung, Zhang; ISIT 2007]
( )
( ) ( )
* 2 1
2 11
2 12 |
2 13 |
2 14
2 15
{ : } { : } -- random variables
: is entropic
:
: 0,
: 0, \ ( )
: ( ),
:
N
N
S s
N
Out s s
N
Out v In v
N
e
N
s e
Y Ys S
U Y
U U
U
Y s S U e E N
C h h
C h s S
C h v V S T
C h c e e E
C h
h h
h
h
h
h
h
N
N
( )|
*1 2 3 4 5
0,S In tt
S
Y U
Y
t T
proj con C C C C C
NR
Single Unicast Session
r ≤ MinCut(s,t) MinCut(s,t) is achievable, i.e., MaxFlow(s,t) = MinCut(s,t),
by packing edge-disjoint directed paths
s
t
Value ofs-t cut
[Menger; 1927]
Given Directed graph (V,E) with
edge capacities Single unicast session with
Sender s Receiver t Transmission rate r
( ), c e e E
Single Broadcast Session
r ≤ minvЄV MinCut(s,v) minvЄV MinCut(s,v) is achievable (“broadcast capacity”)
by packing edge-disjoint directed spanning trees[Edmonds; 1972]
Given Directed graph (V,E) with
edge capacities Single broadcast session with
Sender s Receiver set T=V Transmission rate r
( ), c e e E
Single Broadcast Session
r ≤ minvЄV MinCut(s,v) minvЄV MinCut(s,v) is achievable (“broadcast capacity”)
by packing edge-disjoint directed spanning trees[Edmonds; 1972]
Given Directed graph (V,E) with
edge capacities Single broadcast session with
Sender s Receiver set T=V Transmission rate r
( ), c e e E
Single Multicast Session
r ≤ mintЄT MinCut(s,t) mintЄT MinCut(s,t) is NOT always achievable
by packing edge-disjoint multicast (Steiner) trees
Given Directed graph (V,E) with
edge capacities Single multicast session with
Sender s Receiver set Transmission rate r
T V
( ), c e e E
Packing Multicast Trees Insufficient to achieve MinCut
optimal routingthroughput = 1
network codingthroughput = 2
a,ba
a
a
a
bb
b
b
a+b a+b
a+b
,a
,b
[Alswede, Cai, Li, Yeung ; 2000]
mintЄT MinCut(s,t) is always achievableby network coding
Linear Network CodingSufficient to achieve MinCut Linear network coding is sufficient to achieve
mintЄT MinCut(s,t)
Polynomial time algorithm for finding coefficients
y1
y2
y3
α1y1+ α2y2+ α3y3
β1y1+ β2y2+ β3y3
[Jaggi, Chou, Jain, Effros; Sanders, et al.; 2003][Erez, Feder; 2005]
[Cai, Li, Yeung; 2003] [Koetter and Médard; 2003]
Linear Network CodingSufficient to achieve MinCut Packing a maximum-rate set of multicast trees is NP hard
Rate gap to mintЄT MinCut(s,t) can be a factor of log n[Jaggi, Chou, Jain, Effros; Sanders, et al.; 2003]
[Jain, Mahdian, Salavatipour; 2003]
Linear Network Coding NOTSufficient for Multiple Sessions Linear network coding is NOT generally sufficient to
achieve capacity for multiple sessions
[Dougherty, Freiling, Zeger; 2005]
P2P Networks
Upload bandwidth is bottleneck
Completely connected
overlay
; ( ), outV c v v V
P2P Network as Special Case
Networks w/edge capacities
P2P Networks
v
cout(v)
P2P Network as Set of Networks
Corollary to Edmonds’ Theorem: Given a P2P network with a single broadcast session (i.e., a single
sender and all other nodes as receivers), the maximum throughput is achievable by routing over a set of directed spanning trees
( )P2P network network w/edge capacities
( ) (; , ( , ); , : ) ,( ) ( )e Ou
out outt v
V v V V E e E v Vc v c e c e c v
cout(v) vc(e)
Throughput:
Mutualcast
[Li, Chou, Zhang; 2005]
1( )1
outc tN
2( )1
outc tN
( )1
out nc tN
( )1
out Nc tN 1
( )1
Nout n
n
c tN
1
( )( ) /1
Nout n
outn
c tc s NN
1
1
( )( ) /1
( ) 1
Nout n
outn
Nout n
n
c tc s NN
c tN
Cutset analysis: Throughput achieves mincut bound
t1
s
tN
…t2
Throughput:
Mutualcast with Helpers
[Li, Chou, Zhang; 2005]
1( )1
outc tN
( )1
out nc tN
( )1
out Nc tN 1
( )1
Nout n
n
c tN
1 1
( ) ( )( ) /1
N Mout n out n
outn n
c t c hc s NN N
1 1
1 1
( ) ( )( ) /1
( ) ( ) 1
N Mout n out n
outn n
N Mout n out n
n n
c t c hc s NN N
c t c hN N
( )out nc hN1
( )Mout n
n
c hN
1 1
( ) ( )1
N Mout n out n
n n
c t c hN N
t1
s
tN
Cutset analysis: Throughput achieves mincut bound
…
hn
Given P2P network Source s, receiver set T, helper set H = V T s
Then any rate r C can be achieved by routingover at most |V| depth-1 and depth-2 multicast trees
Capacity is given by
Remarks: Despite existence of helpers, no network coding needed! |V| trees instead of O(|V||V|) Simple, short trees
Mutualcast Theorem
1 1 1 1
( ) ( ) ( ) ( )min ( ), ( ) /
1 1
N M N Mout n out n out n out n
out outn n n n
c t c h c t c hC c s c s N
N N N N
Given P2P network Multiple sources si and receiver sets Ti, i=1,…,|S|,
s.t. sets (siUTi) are identical or disjoint; no connections between the disjoint receiver sets; H = V U(siUTi)
Then any rate vector can be achievedby routing over at most |V||S| depth-1 and depth-2 multicast trees
Multi-sessionMutualcast Theorem
1 | |( ,..., )Sr r R
[Sengupta, Chen, Chou, Li; ISIT 2008]
H
Capacity region is given by set of linear inequalities:
Remark: Despite multiple sessions (and helpers), still no inter-
session or intra-session network coding is needed! Still |V| trees instead of O(|V||V|); still simple, short
Multi-sessionMutualcast Theorem
[Sengupta, Chen, Chou, Li; ISIT 2008]
1 | | , 1, ,| |i i V ix x r i S
deg ( ), ij vij outij
x c v v V
Applicationto Video Conferencing
Maximizing over allcan be found by maximizingover all tree rates xij, i=1,…,|S|, j=1,…,|V|, s.t.
, i=1,…,|S|
Network Utility Maximization problem
( )i iU r 1 | |( ,..., )Sr r R
1 | |i i V ix x r deg ( ), ij ij out
ij
x c v v V
( )i iU r
U1(r1)
U2(r2)
U4(r4)
U5(r5)
U3(r3)
For general multi-session multicast over directed graphs with edge capacities
Capacity region is stated in terms of * Hard to know if a rate vector r is in capacity region
For restricted case of multi-session multicast with identical or disjoint receiver sets over P2P networks
Capacity region is given by |V| inequalities over at most |V||S| variables (rates on each tree)
Any point in this region is achievable by routing over at most |V||S| depth-1 and depth-2 trees
Summary