Multicast with Network Coding in Application

Download Report

Transcript Multicast with Network Coding in Application

Multicast with
Network Coding in
Application-Layer
Overlay Networks
Y. Zhu, B. Li, and J. Guo
University of Toronto
Present by Cheng Huang
10.30.2003
Network Coding
S
a
T
S
b
a
b
a
U
T
W
b
a
b
a
U
T
b
a
a
a or b?
Z
Y
b
U
W
b
a
X
Y
b
a
W
a
b
S
a+b
Z
b
a+b
Y
X
a+b
Z
How to send 2 pieces of data a and b
to nodes Y and Z simultaneously?
2
Basics of Network Coding
• Conventional network nodes
– Route or duplicate traffic
• Network nodes with coding capability
– Perform operations on incoming traffics
• Basic operations  encoding/decoding
• Linear operations  Linear Network Coding
• Network coding can increase multicast
capacity
– “Network Information Flow,” IEEE Trans.
Information Theory, 46(4), 2000.
3
Main Results
of Network Coding
• If the capacity of
any sink Ri ≥ C,
then multicast
rate of C is
achievable,
generally with
network coding.
S
Network
R1
R2
R3
R4
R5
4
Linear Network Coding
• Network nodes only perform LINEAR
operations on incoming traffics
– Any node can retrieve information at a rate
equal to its capacity
• Example:
– Source multicasts 12 pieces of data
– Node of capacity 4 retrieves all data in 3 seconds
– Node of capacity 3 in 4 seconds and of capacity 1 in 12
seconds
– Sufficient condition: network is acyclic.
– “Linear Network Coding,” IEEE Trans.
Information Theory, 49(2), 2003.
5
Preliminaries
• k-redundant multicast graph (DAG)
– Intermediate nodes have indegree ≤ k
– Receiver nodes have indegree = k
– Nodes of indegree k have maxflow = k
S
R1
R2
R3
R4
6
Algorithm
• Rudimentary graph
– Relatively densely connected
• Rudimentary tree
• Multicast graph
7
Build Rudimentary Graph/Tree
• Node maintains a list of neighbors and
exchanges with other nodes
• Edge e has a weight w(e) = (β,λ)
• Path p consists of edges
– Preferable path: large bandwidth or low delay
• Add/remove edges dynamically
– Δ-constraint
• Rudimentary tree
– Z. Wang and J. Crowcroft (1996)
– Distributed algorithm to find shortest widest
paths
8
Construct Multicast Graph
• Basics
– Leaf intermediate
node
S
• All children are
receiver nodes
– Saturation
• Intermediate node
R1
degree(v) = Δ
• Leaf intermediate node
degree(v) = Δ-1
R2
R3
R4
Δ=4
9
Construct Multicast Graph
• Basics
– Leaf intermediate
node
S
• All children are
receiver nodes
– Saturation
• Intermediate node
R1
degree(v) = Δ
• Leaf intermediate node
degree(v) = Δ-1
R2
R3
R4
Δ=4
10
Construct Multicast Graph
• First path pf
– Unsaturated neighbors exist
• Selects the best path among these
neighbors
– All neighbors saturated
• Find (breath-first) k unsaturated nodes from
source node s
• Select the best path
11
Construct Multicast Graph
• Second path ps
S
12
Construct Multicast Graph
• Second path ps
S
13
Construct Multicast Graph
• Second path ps
S
14
Construct Multicast Graph
• Second path ps
S
15
Construct Multicast Graph
• Second path ps
S
16
Linear Coding Multicast (LCM)
• Node with 1 input
– Simple forwarding
• Node with 2 inputs
– Receive X, Y from left, right inputs,
respectively
– Compute C = [X Y][v1 v2]T
– Send C out along all outputs
• How to assign (v1, v2) to each node
so as to guarantee reception?
17
Linear Coding Multicast (LCM)
• Output of any node
– C = [X Y][v1 v2]T = [a b][p q]T, because X, Y
are linear combinations of a and b.
– X = [a b][px qx]T and Y = [a b][py qy]T (same
logic)
 v1   px
v 2   qx
  
1
py   p 



qy   q 
X
Y
[v1, v2]
[a b][p q]T
C = [X Y][v1 v2]T
18
Performance Evaluation
• INET topology generator (University
of Michigan)
• Comparison
– DVMRP
• IP layer multicast protocol
– Narada
• Application layer multicast protocol
19
Performance Evaluation
20
Performance Evaluation
21
Conclusions
• Propose a practical network coding
scheme to exploit existing theoretical
bounds
• Demonstrate throughput advantage
of network coding, compared to
existing application layer multicast
22