Outline Network Coding - Department of Computer Scienceyzchen/papers/papers/network_coding/... ·...
Transcript of Outline Network Coding - Department of Computer Scienceyzchen/papers/papers/network_coding/... ·...
1
Network Coding
Philip A. Chou and Yunnan Wu Microsoft Research
Presented at INFOCOM 2007 and SIGMETRICS 2007
Outline
Part I: Network coding for multicasting Part II: Network coding for wireless networks
Part III: Advanced topics
Part I
Outline
Introduction to Network CodingBasic theory
Practical Network CodingPacket format
Buffering
ApplicationsLive Broadcasting, File Downloading, Storage, Messaging, Interactive Communication, Sensor Networks
Introduction:Routing vs Network Coding
y1
y2
y3
f1(y1,y2,y3)
f2(y1,y2,y3)
Network Coding can Increase Throughput
Network Coding can Increase Throughput
sender s1
rate r1
sender s2
rate r2
receiver t2
receiver t1
r2
r1
Routing only:
Capacity region?
r2
r1
Network Coding:
a
b
b
a
XOR
XOR
XOR
a+b
Single Session Communication
Unicast case
Broadcast case
Multicast case
Single SessionUnicast Case
rate(s,t) MinCut(s,t)
Menger (1927):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
Single SessionBroadcast Case
rate(s,V) minv V MinCut(s,v)
Edmonds (1972):minv V MinCut(s,v)by packing edge-disjoint directed spanning trees
Sender s
Receiver set(all other nodes in V)
Directed graph (V,E)
Given:
Single SessionBroadcast Case
rate(s,V) minv V MinCut(s,v)
Edmonds (1972):minv V MinCut(s,v)by packing edge-disjoint directed spanning trees
Sender s
Receiver set(all other nodes in V)
Directed graph (V,E)
Given:
Single SessionMulticast Case
rate(s,T) mint T MinCut(s,t)
mint T MinCut(s,t) is NOT always achievableby packing edge-disjoint multicast (Steiner) trees
Sender s
Directed graph (V,E)
Given:
Receiver set T
(subset of V)
Single SessionMulticast Case
rate(s,T) mint T MinCut(s,t)
mint T MinCut(s,t) is NOT always achievableby packing edge-disjoint multicast (Steiner) trees
Sender s
Directed graph (V,E)
Given:
Receiver set T
(subset of V)
Network CodingAchieves Multicast Capacity
Alswede, Cai, Li, Yeung (2000):mint T MinCut(s,t) is alwaysachievable by network coding
h = mint T MinCut(s,t)
sender
receiver
optimal routingthroughput = 1
network codingthroughput = 2
coding node
a,b
a
a
a
a
bb
b
b
a+b a+b
a+b
,a
,b
Linear Network Codingis Sufficient
Li, Yeung, Cai (2003) IT Best Paper Award 2006Koetter and Médard (2003)
Linear network coding is sufficient (to achieve multicastcapacity)
Jaggi, Chou, Jain, Effros; Sanders, et al. (2003)Erez, Feder (2005)
Polynomial time algorithm for finding coefficients
y1
y2
y3
1y1+ 2y2+ 3y3
1y1+ 2y2+ 3y3
b
b
a+b
a+b
a
a
b
b
b
a
a
a
Network CodingMinimizes Delay
Jain, Chou (2004)
optimal routingdelay = 3
network codingdelay = 2
a+b a+b
ba
ba
a
a
b
b
a
aa
a
a a
Network CodingMinimizes Energy (per bit)
Wu et al. (2003); Wu, Chou, Kung (2004)Lun, Médard, Ho, Koetter (2004)
optimal routingenergy per bit = 5
network codingenergy per bit = 4.5
a
a a,b
a a ba,b b,a
Network Codingapplicable to real networks?
InternetIP Layer
Routers (e.g., ISP)
Application LayerInfrastructure (e.g., CDN)
Ad hoc (e.g., P2P)
WirelessMobile / multihop ad hoc wireless networks
Stationary wireless (residential) mesh networks
Sensor networks
Network CodingTheory vs. Practice
Theory:Symbols flow synchronously throughout network
Edges have unit (or known integer) capacities
Centralized knowledge of topology assumedto compute encoding and decoding functions
Practice:Information travels asynchronously in packets
Packets subject to random delays and losses
Edge capacities often unknown, time-varying
Difficult to obtain centralized knowledge,or to arrange reliable broadcast of functions
Need simple technology, applicable in practice
Making Network Coding Practical
PacketizationHeader removes need for centralized knowledge of graph topology and encoding/decoding functions
BufferingAllows asynchronous packet arrivals & departures with arbitrarily varying rates, delay, loss
[Chou, Wu, and Jain; Allerton 2003][Ho, Koetter, Médard, Karger, and Effros, ISIT 2003]
Finite Fields
Field: a set F Addition, multiplication
Subtraction, division
Commutative, associative, distributive
E.g., R, Q, C, {0,1}, Zp p-1}, GF(pm) = {a0+a1x am-1x
m-1} mod p(x)
Not Z, F [x], matrices, etc.
Operations can be done by table lookup
Invertibility of Gt
Gt will be invertible with high probabilityif local encoding vectors are randomand field size is sufficiently large
If field size = 216 and |E| = 28
then Gt will be invertible w.p. = 0.996
[Ho, Koetter, Médard, Karger, and Effros; ISIT 2003][Jaggi, Sanders, Chou, Effros, Egner, Jain, and Tolhuizen; Trans IT 2005]
Header Cost vs. Benefit
Cost:Overhead of transmitting h extra symbolsper packet; if h = 50 and field size = 28,then overhead 50/1400 3%
Benefit:Receivers can decode even if
Network topology & encoding functions unknown
Nodes & edges added & removed in ad hoc way
Packet loss, node & link failures w/ unknown locations
Local encoding vectors are time-varying & random
Asynchronous Communication
In real networks
of nodes are grouped and carried sequentiallySeparate edges separate prop & queuing delaysNumber of packets per unit time on edge varies
Loss, congestion, competing traffic, rounding
Need to synchronizeAll packets related to same source vectors x1 xh are in same generation; h is generation sizeAll packets in same generation tagged with same generation number; one byte (mod 256) sufficient
Buffering
random combination
Transmission opportunity: generate packet
buffer
node
arriving packets (jitter, loss, variable rate)
asynchronous transmission
asynchronous reception
edgeedge
At an Intermediate Node
buffer
randomcombination
randomly
generated
local
encoding
vector
5,9,6 global encoding vector
1,5,4 2,2,1
At the Source Node
buffer
randomcombination
randomly
generated
local
encoding
vector
2,3,0 global encoding vector
x3
x1x2
0,1,0 1,0,0
(x1) * 2
+ (x2) * 3
= (2x1 + 3x2)
At a Terminal Node
buffer
1,5,4 2,2,1
2x1 + 3x2
2x1 + 2x2 + x3
x1 + 5x2 + 4x3
Decoding
Block decoding:Collect h or more packets, hope to invert Gt
Earliest decoding (recommended):Perform Gaussian elimination after each packet
At every node, detect & discard non-informative packets
Gt tends to be lower triangular, so can typically decode x1 xk with fewer more than k packets
Much lower decoding delay than block decodingApproximately constant, independent of block length h
Simulations
Implemented event-driven simulator in C++
Six ISP graphs from Rocketfuel project (UW)SprintLink: 89 nodes, 972 bidirectional edges
Edge latencies: speed of light x distance
Sender: Seattle; Receivers: 20 arbitrary (5 shown)Maxflows: 450 Mbps; Max 833 Mbps
Union of maxflows: 89 nodes, 207 edges
Send 20000 packets in each experiment, measure:received rank, throughput, throughput loss, decoding delay vs.sendingRate(450), fieldSize(216), genSize(100), intLen(100)
Throughput & Decoding Delay
400 450 500 550 600 650 700 750 800 850400
450
500
550
600
650
700
750
800
850
Sending rate (Mbps)
Thr
ough
put (
Mbp
s)
Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)SanJose (833 Mbps)
20 30 40 50 60 70 80 90 1000
20
40
60
80
100
120
140
160
180
200
Generation Size
Pac
ket d
ela
y (m
s)
Pkt delay w/ blk decodingPkt delay w/ earliest decoding
[Chou, Wu, and Jain; Allerton 2003]
Network Coding Game
You are a node; Form a network by picking two neighbors to whom you will send packets
I will send a two-packet message, e.g.,1 0 6 5 5 4
0 1 2 5 5 6
These are elements in Z7 = {0,1,2,3,4,5,6}
Decode the message if you can
When you receive a packet from a neighbor, add it to your buffer, generate a random packet, and send it to one of your neighbors
Key: 0 1 2 3 4 5 6
_ A B C D E F
Example
3 * [1 0 6 5 5 4] = [3 0 4 1 1 5]
4 * [0 1 2 5 5 6] = [0 4 1 6 6 3]
send [3 4 5 0 0 2]
Network Coding for Internet and Wireless Applications
Akamai
Bit
Torr
ent
PeerN
et
Mess
enger
CO
PEAd Hoc
(P2P)
Infra-structure
(CDN)
wireless
Internet
CoopN
et
PPLi
ve
MSN
Mesh
Joost
Sky
pe
Mess
enger
Oce
anSto
re
File Download
State-of-the-Art: BitTorrent
Scheduling transmission of pieces:
Efficiency (avg download rate)decreases under certain conditions
e.g., bottleneck at seed
Network Coding: Avalanche
s
x1=[x1,1,x1,2, ,x1,N]
...
x2=[x2,1,x2,2, ,x2,N]
xh=[xh,1,xh,2, ,xh,N]
v
y( )
te
...
...
y(e1)
y(e2)
y(eh)
y(e)=[y1(e),y2(e), ,yN(e)]
Pieces
[Gkantsidis and Rodruiguez; INFOCOM 2005]
Generate random linear combination and send
No scheduling is necessary
When to send a mixture packet
A node generates the coding vector of a random mixture (but not the packet).
Network Codingvs Local Rarest
Mean Max
LR Free 124.2 161
LR TFT 126.1 185
FEC Free 123.6 159
FEC TFT 127.1 182
NC Free 117.0 136
NC TFT 117.2 139
Courtesy of [Gkantsidis and Rodruiguez; INFOCOM 2005]
Distributed Storage
State-of-the-Art: OceanStoreFiles are stored across large number of hostsHosts are often offline; redundancy is neededFiles are divided into k equal data fragmentsThese are coded into n code fragments and sprinkled among hosts (n=32, k=16 is typical)Recover file by reading from any k hostsData on permanently failed hosts must be replaced
Requires new host to read k fragments of size M/k each (M = filesize)
Erasure Codes
source
M/k
M/k
M/k
M/k
M/k
k data fragments
n code fragments
n hosts sinks
Sinks can recoverfile of size Mfrom k hostsif and only iffor every sink t,MinCut(s,t) = M
M/k
M/k
M/k
M/k
M/k
M/k
M/k
M/k
M/k
Erasure Codes
source
M/k
M/k
M/k
M/k
M/k
k data fragments
n code fragments
n hosts sinks
M/k
M/k
M/k
M/k
M/k
M/k
M/k
M/k
M/kM/k
M/k
M/k
M/k
Need to download size M
Regenerating Codes
source
M/k
M/k
M/k
M/k
M/k
k data fragments
M/k
M/k
M/k
M/k
M/k
M/k
M/k
M/k
M/kM/k
M/k2
[Dimakis, Godfrey, Wainwright, and Ramchandran; INFOCOM 2007]
M/k2
M/k2
Need to download size M/k
<2
fcarrier
P(f
carr
ier)
Can a reliable communication network be made out of such unreliable radios?
Yes, if there is enough density(and you use network coding)
Replace crystal oscillator+PLL by on-chip LC reduces size, energy
Manufacturing variations randomize carrier frequency
Untuned Radios
Courtesy of [Petrovi , Ramchandran, and Rabaey; NetCod 2005]
Each Tx and Rx radio randomly chooses one of N channels
Adjust transmission range to include N nodes
Communicate through H stages of N nodes each
Approx 1/e (37%) Txs communicate collision-free on some channel
Use L Rx radios per node to listen reliably to L/e nodes on average
Communication Method
1 2 3 H
DestinationSource
Courtesy of [Petrovi , Ramchandran, and Rabaey; NetCod 2005]
s t
Random Graph Representation1
2
N
1 2 3 H
1
L
...
1
L
...
1
L
...
1
L
...
1
L
...
1
L
...
1
L
...
1
L
...
1
L
...
Result 1: For all <1/e, there exists L s.t. MaxFlow(s,t) > Nwith high probability as N , as long as log[H(N)]/N 0
Result 2: Routing gives constant throughput(does not grow with N) for H linear in N.
Courtesy of [Petrovi , Ramchandran, and Rabaey; NetCod 2005]
Summary
Network Coding theory is richMulti-session capacity still an open problem
Network Coding is practicalPacket Format
Buffering
Network Coding can improve performancein IP or wireless networks
for file download, live broadcast, video on demand, storage, messaging, real time communication, data communication
by improving throughput, delay, energy consumption, robustness, manageability
even for broadcast and unicast communication
Part II: Network Coding
for Wireless Networks
56
Outline
Introduction
Network coding for end-to-end multicasting
Network coding in the link layer
Network coding in the physical layer
57
a+b a+b
ba
ba
a
a
b
b
a
aa
a
a a
Network Coding
Minimizes Energy (per bit)
Wu et al. (2003); Wu, Chou, Kung (2004)
Lun, Médard, Ho, Koetter (2004)
optimal routingenergy per bit = 5
network codingenergy per bit = 4.5
a
a a,b
a a ba,b b,a
Outline
Network coding for end-to-end multicasting
Network coding in the link layer
Network coding in the physical layer
61
At an Intermediate Node
buffer
randomcombination randomly
generated local
encoding vector
5,9,6 global encoding vector
1,5,4 2,2,1
Some Practical Protocols
Widmer, Fragouli, Boudec, NetCod 2005
Fragouli, Widmer, Boudec, INFOCOM 2006
Chachulski, Jennings, Katti, Katabi, SIGCOMM
2007
Park, Gerla, Lun, Yi, Medard
WirelessCommunications, 2006
65
A Broadcasting ProtocolWidmer, Fragouli, Boudec, NetCod 2005
A new source packet is broadcast uncoded
Each node maintains a send counter s; initially s=0
Each time it receives an innovative packet: s:=s+d
Broadcast a mixture packet when s>0
Each time it broadcasts a packet: s:=s-1
An extension (Fragouli, Widmer, Boudec, INFOCOM
2006): Each node v has a forwarding factor dv, which
is adjusted heuristically based on the local (2-hop)
density information.
66
A Multicasting ProtocolChachulski, Jennings, Katti, Katabi, SIGCOMM 2007
Nodes are labeled with distances to the destinations.
Only nodes closer to the destination than the source may
participate in the session
When receiving an innovative packet from an upstream node,
increase its credit by an amount determined by the loss
probabilities in the network.
When the MAC allows to transmit a packet,
generate a mixture when the credit counter is positive
broadcast it
decrement the credit counter by one
67
Advantages of Network Coding
based MulticastingWith network coding, mixture packets automatically weave its way if there exists. Hence network coding based solution is attractive because it:
Is as distributed, robust, and adaptive as flooding
Minimizes delay without having to find minimum delay route
Can also minimize energy (# transmissions)
Particularly suitable for networks with mobility, sensor networks where nodes sleep most of the time to conserve energy
Zhang, G. Neglia, J. Kurose, D. Towsley, NetCod 2006
Lee, Park, Yeh, Pau, Gerla MobiShare 2006
Park, Lee, Oh, Gerla, Lun, VANET 2006
Outline
Network coding for end-to-end multicasting
Network coding in the link layer
Network coding in the physical layer
69
Local Mixing
Important feature: Mixture packet can be
immediately decoded by the neighbors.
Advantages of local mixing and demixing:
A node may mix two packets passing through it,
which belong to two end-to-end sessions.
Sessions need not know about local
mixing/demixing.
A node need not buffer any mixture packet
75
Local Mixing as a Link Layer
Enhancement
Each node snoops on the medium and buffers packets over-heard
Nodes exchange
Examine output queue and opportunistically mix packets
MAC/PHY (802.11x)
NETWORK (IP)
Local Mixing
TRANSPORT (TCP/UDP)
Katti, Rahul, Hu, Katabi, Médard, and Crowcroft SIGCOMM 2006
Local Mixing
77
v0
v4
v2v1
v3
Has: x1 , x3
Wants: x4
Has: x1 , x4
Wants: x3
Has: x2, x3, x4
Wants: x1, x5
Has: x1 , x5
Wants: x2
the buffer to reduce the transmissions in the air.
Greedy Solution: x1+x2, x3+x4, x5
78
v0
v4
v2v1
v3
Has: x1 , x3
Wants: x4
Has: x1 , x4
Wants: x3
Has: x2, x3, x4
Wants: x1, x5
Has: x1, x5
Wants: x2
A Better Solution: x1+x3+x4, x2+x5
79
v0
v4
v2v1
v3
Has: x1 , x3
Wants: x4
Has: x1 , x4
Wants: x3
Has: x2, x3, x4
Wants: x1, x5
Has: x1, x5
Wants: x2
Theoretical Results for Optimized
Local Mixing (Wu et al. ITA 2006)
Optimal mixing under pollution-free decoding
Constraint 1: Each node decodes using only its received symbols that are functions of sources that it has or wants.
e.g., a node v has {x1}, wants {x2, x3}. A symbol y=x2+x4+x5 is pollution to v; node v will discard this symbol.
Degree of freedom in adding recipients
Constraint 2: Each node decodes using only its received symbols that are functions of sources that it will recover.
e.g., a node v has {x1}, wants {x2, x3}. A node is allowed to use y=x2+x4+x5 for decoding, if it recovers x4 and x5.
80
Total Network Throughput
vs Density of Flows
81Courtesy of [Katti, Rahul, Hu, Katabi, Médard, and Crowcroft SIGCOMM 2006]
Local Mixing Aware Routing
Want routing decisions that are aware of
mixing and can better exploit it!
Practical solution: Wu, Das, Chandra INFOCOM
Minisymposium 2007
Theoretical model: Sengupta, Rayanchu,
Barnerjee, INFOCOM 2007
MAC/PHY (802.11x)
NETWORK (IP)
Local Mixing
v1 v2 v3
v4 v5 v6
v7 v8 v9
v1 v2 v3
v4 v5 v6
v7 v8 v9
A A,B B
A+B
Sharing a ride in the air
MMSR: Markovian Metric Source Routing
Node measures link quality (quality defined by
metric), and conditional link costs
Exchanges this information network-wide
Source of packet finds a optimal route by
running algorithm over a dot graph
that represents the conditional and
unconditional link costs
-
A Specific Conditional MetricERC (Expected Resource Consumption)
Determine the resource consumed by each mixture
packet, say $1.
Local mixing allows multiple (k) packets to share a
ride. So charge $1/k to each packet.
v1 v2 v3
v4 v5 v6
v7 v8 v9
A A,B
B
A+B
Performance
Wu, Das, Chandra INFOCOM Minisymposium 2007
Outline
Network coding for end-to-end multicasting
Network coding in the link layer
Network coding in the physical layer
89
Technique: Nested Coding
v2 knows b a priori; hence it only needs to distinguish between 4 points
Nested coding (theory): e.g., Yang and A. Høst-Madsen, Asilomar 2005
Practical design of nested coding via XOR in the channel code: Xiao et al.
CISS, Mar. 2006
92
000
001
010011
100
101
110
111
m1=a1;m2=a2;m3=b1;
Mixing + Nested Coding
v2 knows b a priori; hence it only needs to
distinguish between 4 points to recover m1
and m2
95
000
001
010011
100
101
110
111
m1=a1+b1;m2=a2+b2;
m3=b3;
Summary
Network coding for end-to-end multicasting
Practical network coding protocols: Random linear coding+packet
tagging+buffering+output pacing
Network coding in the link layer
Local mixing
Local mixing aware routing
Network coding in the physical layer
Broadcasting when receivers know some messages a priori
Cancellation of known interference
101
Part III: Advanced Topics
Security: Preventing the pollution attack
Resource optimization: Centralized and
distributed algorithms
Joint network coding and distributed source
coding
Multi-session network coding
102
Advanced Topic:
Resource Optimization: Centralized and Distributed
Algorithms
109
Minimum-Energy Multicasting
110
Most energy-efficient routing solution:
5 transmissions/ 1 message
Finding the minimum energy routing
solution is NP-hard.
Network coding solution:
9 transmissions/ 2 message
Finding the optimal network
coding solution is solvable in
polynomial time.
a b
e
c d
t1 t2
s a b
e
c d
t1 t2
s
=+
Wu et al. (2003); Wu, Chou, Kung (2004)Lun, Médard, Ho, Koetter (2004)
111
Integer linear program:
1 hour
Linear program -- 2 min
2% power saving
Minimum energy routing solutionMinimum energy network
coding solution
Why NP-hard vs. P?
Minimum energy unicasting
Minimum cost flow (LP)
Minimum energy multicasting with routing
Minimum Steiner tree (NP-hard)
Minimum energy multicasting with network
coding
Minimum cost MAX of flow (LP)
112
Min-Cut = Max-Flow (Graph Theory)
113
a b
c
u
s
t1 t2
1
1 1
1
1
1
0
0
0
Two Ways of Saying
There exists {ft} such that
MAX of flows
115
1
a b
c
u
s
t1 t2
1
1
1
1
1
0
0
0
a b
c
u
s
t1 t2
1
0 1
1
0
0
1
1
1
a b
c
u
s
t1 t2
1
1 1
1
1
1
1
1
1
117
Overview of Problems and Solutions
Real-world Problem: Distributed resource allocation
Formulate as a utility maximization
Primal algorithms:Li, Li, Lau. INFOCOM 2005
Wu, Chiang, Kung. NetCod 2005
Dual algorithms: Lun et al. T-IT, 2006
Bhadra, Shakkottai, and Gupta T-IT 2006
Wu, Kung, JSAC, 2006
In a nutshell,
Primal algorithms use sub-gradients of the multicast capacity expression
Dual algorithms are based on the MAX of flows characterization
s t flow: unicast
s T MAX of Flows: multicast
118
Backup Slides
119
Primal approach
Objective function is a concave function
However, it is non-differentiable
Use subgradient iterations.
120
Utility maximization
A primal approach based on critical cutsWu, Chiang, Kung, NetCod 2005
121
g can provide rate r
122
Equivalent formulation
Objective function is a concave function
However, it is non-differentiable
Use subgradient iterations.
Begin Short Detour
123
Subgradient Algorithm
Not an ascent method; moves closer to the optimal point
Need diminishing step size for convergenceWith constant step size, converge to a local neighborhood of the optimal solution
Size of the neighborhood depends on the subgradient
124
Subgradient of a concave (non-
differentiable) function
125
Subgradient calculus:
Point-wise minimum rule
127
Subgradient of
A critical cut is a minimum s-t cut with capacity
s t
131
Subproblem 2: Efficiently Finding An s-
T Critical Cut
Distributed algorithm
-Push
algorithm for every destination t, to find an s-t
min cut
Can be more efficient!
First find a critical destination t*
This can be done essentially for free in the practical
network coding system.
Then find an s-t* mincut
132
Algebraically Find A Critical Destination
Suppose there are two destinations {t1, t2}
s-t1 mincut = 10;
s-t2 mincut = 12;
If we send information at rate 10, rank(t1)=rank(t2)= 10
If we send information at rate 11, rank(t1)=10, rank(t2)=11.
But how can t1 recover the information?
Treat as if there are 11 source packets where x11=0
133
ISP (Exodus) topology from Rocketfuel with 79
nodes and 294 links
1 source node at New York, 8 destination
nodes
134
Summary of Primal Algorithm
Primary subgradient approach based on critical cutsIn each step, find the critical cut and adjust resource allocation
Efficiently finding the critical cut by leveraging the algebraic properties of random linear network coding
Find a critical destination first
Then find a minimum cut
135
Dual Approach
A dual approach based on min-cost flows Lun et al. INFOCOM2005A dual approach based on shortest paths Wu, Kung, JSAC2006Bhadra, Shakkottai, and Gupta T-IT 2006
g can provide rate r
Dual approach
136
Dual approach
Introduce Lagrangian multiplier
137
138
Dual Algorithm based on Shortest Paths
Lagrangian multipliers are link prices
Given link prices, find shortest paths from
source to each destination (mature
technology)
Adjust link prices along a subgradient of
Lagrangian dual function (locally computable)
139
Simulation
ISP (Exodus) topology from Rocketfuel with 79
nodes and 294 links
1 source node at New York, 8 destination
nodes
140
Primal vs. Dual Approach
Pros of Primal:
Can handle strictly concave utility function as well as linear easily
Generalizes to multi-source case easily
Can still be applied when the utility function is not concave
Pros of Dual:
Lower complexity in each step (finding a shortest path is easier than finding a min-cut)
Requires additional techniques to recover the primal when the utility function is not (sufficiently) strictly concave
Or, introduce curvature (make it strictly concave)
Requires additional techniques for multi-source case
Advanced Topic:
Joint Network Coding and Distributed Source Coding
141
Distributed Compression
142
H(X|Y) H(Y|X)
I(X;Y)
R1 R2
Slepian--Wolf Theorem (1973)
143
H(X|Y) H(Y|X)
Red and blue together fills up
the middle region.
Traffic demand can be fulfilled
iff
Coding scheme for Binary Symmetric Correlation
(Slepian-Wolf 1974)
144
x y=101001111
xQ y
wQ
w
Syndrome
decoding
w=y-x= 000100001
wQ is linear compression of w
from which we can recover w
with high probability.
Linear compression
(Elias 1955, Slepian--Wolf 1974)
Discrete memoryless binary source:
Compress w (n bits) into wQ (n-k bits)
Fact 1: For a sufficiently large n, there exist Q such that
w can be decompressed from wQ with probability close to 1.
(n-k)/n entropy H(W)
Fact 2: If Pr(W=0) is within certain range, for some
carefully designed Q (e.g., Q is sparse), there are low
complexity algorithms that can decompress wQ.
145
Multicasting correlated sources
146
A network of lossless channels
LA Chicago Seattle Miami
2004
147
H(X|Y) H(Y|X)
Traffic demand can be fulfilled
by (V,E,c) iff
A Low-Complexity Scheme
G1 is used to multicast xQ
and yQ to all receivers with
network coding
G2 is used to multicast
random linear combinations
of x and y to all receivers
with network coding
G=G1+G2
wQ
w
xQ yQ
xA+yB
x,yw,xQ
Syndrome
decoding
Solving linear
equations
Low complexity solution
150
Since each edge has
capacity 0.5, A, B, H
all have
0.5n columns
has rank n
has rank n
has rank n
0.5 0.50.5
Advanced Topic:
Multi-Session Network Coding
151
152
Outline
Introduction
Review of single source multicasting
Related work on multi-source problems
Why is multi-source problem so hard?
Can we identify some easy multi-source
problems?
How to handle general problems?
Two enhancement techniques
153
Multicast Capacity
Ahlswede, Cai, Li, and Yeung IT2000:
-cut separating s
isolation, it can serve all receivers
155
Related Work On Multi-Source
Problems
The problem is really hard
Linear coding is not sufficient (Dougherty, Freiling, Zeger 05)
Need non-Shannon type information inequalities for converse (Dougherty, Freiling, Zeger 06)
Optimal solutions for special cases
2 unicast sessions with the same source node (Erez and Feder 03; Ngai and Yeung 04)
A cycle (Kramer and Savari 04; Harvey et al. 06)
Okamura-Seymour graph (Kramer and Savari 06; Harvey et al. 06; Jain et al. 06)
Capacity region for acyclic graph recently known (Yan et al. 07)
Converse
Song et al 03; Harvey et al. 06; Jain et al 06; Yan et al. 06; Harvey et al. 07
Constructive approaches
Medard et al 03; Koetter et al. 03; Lun et al. 04; Wu et al. 06
Apology for missing references
157
What if there happens to be no
pollution?
Pollution-free coding lemma: Random mixing is optimal in a pollution-free network.
algebraic approach.
158
Watershed in Network Coding
-- Rockafellar
In fact the great watershed in network coding
sources, but pollution-free and not pollution-free.
New way of thinking: Turn the problem into a pollution-free problem
159
Outline
Pollution makes multi-source problems hard
Pollution-free problems are easy
A pollution treatment approach
Two enhancement techniques
160
Pollution Treatment (Wu ISIT 2006)
flowing in this pipe is a function of x1, x3
Pineapple, coconut, liquor
23-1=7 possible tagged pipes
p
pcl
c
l
pc
pl
cl
164
Pollution Treatment
The network of tagged pipes is pollution free by
construction
So, random mixing in the network of tagged pipes.
A linear program
165
Outline
Introduction
Pollution-free problems are easy
The baseline pollution treatment approach
Two enhancement techniques
167
Degree of Freedom in Adding
Receivers
Baseline approach does not solve the butterfly problem.
If t2 agrees to recover x1 and t1 agrees to recover x2, problem solved.
a
b
t2 t1
s1 s2
168
Modeling the Degree of Freedom in
Adding Receivers
A session from s to T is said to have type <s,T>
Get a stronger achievability theorem, which is
characterized by a system of linear inequalities.
171
Helpers in Acyclic Graph
Show that the roles of the helpers can be replaced by decoders
Consider the nodes in the topological order
The first decoder cannot receive help; thus its
The second decoder can only receive help from
Result is a stronger achievability result for acyclic graphs, characterized by a system of linear inequalities.
172
Summary
Pollution makes multi-source problems hard
Pollution-free problems are easy
Turn a general problem into a pollution-free
problem (pollution treatment)
Two enhancement techniques
Allowing a node to recover more sources.
173
Thank you!
Piña Colada
- 2 oz Light Rum
- 5 oz Pineapple Juice
- 2 oz Coconut Cream
- 1 cup Crushed Ice