NETWORK MULTICAST: A theoretical Minimum and an Open Problem

NETWORK MULTICAST:
A theoretical Minimum and an Open Problem
Emina Soljanin
Rutgers
Aalto U., August 2016
1/1
NETWORK MULTICAST – The Butterfly
S1 σ1
σ2 S2
A
B
◮
Sources S1 and S2 produce bits σ1 and σ2 .
◮
Each receiver needs bits from both sources.
◮
The edges have unit capacity.
C
E
D
F
R1
R2
Can both sources simulaneosly transmit to both reseivers?
2/1
NETWORK MULTICAST – The Butterfly
S1 σ1
σ2 S2
A
B
σ1
σ2
◮
Sources S1 and S2 produce bits σ1 and σ2 .
◮
Each receiver needs bits from both sources.
◮
The edges have unit capacity.
C
σ1
σ2
E
D
F
R1
R2
Can both sources simulaneosly transmit to both reseivers?
2/1
NETWORK MULTICAST – The Butterfly
S1 σ1
σ2 S2
A
B
σ1
σ2
◮
Sources S1 and S2 produce bits σ1 and σ2 .
◮
Each receiver needs bits from both sources.
◮
The edges have unit capacity.
C
σ1
σ1 + σ2
σ2
E
D
F
R1
R2
Can both sources simulaneosly transmit to both reseivers?
Yes if nodes can XOR bits.
2/1
A Network for Multicast
S1
A
R1 F
S2
B
C
D
E R2
G
H
K R3
3/1
Three Unicasts in a Multicast Network
S1
S2
S1
S2
S1
S2
σ1
σ2
σ1
σ2
σ1
σ2
B
C
A
B
C
A
D
E
R2
D
E
R2
A
F
R1
G
H
F
R1
K
R3
G
H
F
R1
K
R3
B
C
D
E
R2
G
H
K
R3
4/1
Network Multicast Theorem
Conditions:
◮
Network is represented as a directed, acyclic graph.
◮
Edges have unit-capacity and parallel edges are allowed.
◮
There are h unit-rate information sources S1 , . . . , Sh .
◮
There are N receivers R1 , . . . , RN located at N distinct nodes.
◮
Between the sources and each receiver node,
◮
◮
the number of edges in the min-cut is h (or equivalently)
there are h edge-disjoint paths (Si , Rj ) for 1 6 i 6 h.
5/1
Network Multicast Theorem
Conditions:
◮
Network is represented as a directed, acyclic graph.
◮
Edges have unit-capacity and parallel edges are allowed.
◮
There are h unit-rate information sources S1 , . . . , Sh .
◮
There are N receivers R1 , . . . , RN located at N distinct nodes.
◮
Between the sources and each receiver node,
◮
◮
the number of edges in the min-cut is h (or equivalently)
there are h edge-disjoint paths (Si , Rj ) for 1 6 i 6 h.
Claim: There exists a multicast transmission scheme of rate h.
Moreover, multicast at rate h
◮
cannot always be achieved by routing, but
◮
can be achieved by allowing the nodes to linearly combine
their inputs over a sufficiently large finite field.
5/1
UNDIRECTED GRAPHS
◮
The main theorem does not hold.
◮
Coding can at most double the throughput.
6/1
UNDIRECTED GRAPHS
◮
The main theorem does not hold.
◮
Coding can at most double the throughput.
S
A
B
C
D
R1
R2
Original Graph
6/1
UNDIRECTED GRAPHS
◮
The main theorem does not hold.
◮
Coding can at most double the throughput.
S
S
A
B
A
B
C
D
C
D
R1
R2
R1
R2
Original Graph
Paths to R1
6/1
UNDIRECTED GRAPHS
◮
The main theorem does not hold.
◮
Coding can at most double the throughput.
S
S
S
A
B
A
B
A
B
C
D
C
D
C
D
R1
R2
R1
R2
R1
R2
Original Graph
Paths to R1
Paths to R2
6/1
Network Multicast – Linear Combining
◮
Source Si emits σi which is an element of some finite field.
◮
Edges carry linear combinations of their parent node inputs.
◮
Consequently,
edges carry linear combinations of source symbols σi .
7/1
Network Multicast – Linear Combining
◮
Source Si emits σi which is an element of some finite field.
◮
Edges carry linear combinations of their parent node inputs.
◮
Consequently,
edges carry linear combinations of source symbols σi .
Network Coding Multicast Problem:
How should nodes combine their inputs to ensure that any h edges
observed by a receiver carry independent combinations of σi -s?
7/1
Network Multicast – Example
S1
A
R1 F
S2
B
C
D
E R2
G
H
K R3
8/1
Network Multicast – Example
S1
S2
S1
S2
S1
S2
σ1
σ2
σ1
σ2
σ1
σ2
B
C
A
B
C
A
D
E
R2
D
E
R2
A
F
R1
G
H
F
R1
K
R3
G
H
F
R1
K
R3
B
C
D
E
R2
G
H
K
R3
9/1
Network Multicas – Example
S1
S2
σ1
σ2
A
σ1
B
σ2
α1 σ1 +α2 σ2
σ1
R1 F
D
C
σ2
E R2
G
α3 σ1 +α4 (α1 σ1 +α2 σ2)
H
K R3
10 / 1
Network Multicas – Example
S1
S2
σ1
σ2
A
σ1
B
σ2
α1 σ1 +α2 σ2
σ1
R1 F
D
C
σ2
E R2
"
0
1
α1 α2
#
G
α3 σ1 +α4 (α1 σ1 +α2 σ2)
H
K R3
10 / 1
Network Multicas – Example
S1
S2
σ1
σ2
A
σ1
B
α1 σ1 +α2 σ2
σ1
R1 F
"
D
σ2
C
σ2
E R2
"
0
1
α1 α2
#
G
α3 σ1 +α4 (α1 σ1 +α2 σ2)
1
0
α3 + α1 α4 α2 α4
H
K R3
#
10 / 1
Network Multicas – Example
S1
S2
σ1
σ2
A
σ1
B
α1 σ1 +α2 σ2
σ1
R1 F
"
σ2
C
σ2
D
E R2
G
"
"
0
1
α1 α2
#
α1
α2
α3 + α1 α4 α2 α4
#
α3 σ1 +α4 (α1 σ1 +α2 σ2)
1
0
α3 + α1 α4 α2 α4
H
K R3
#
10 / 1
Network Multicast – Code Design
◮
Edges carry linear combinations of their parent node inputs;
{αk } are the coefficients used in these linear combinations.
11 / 1
Network Multicast – Code Design
◮
◮
Edges carry linear combinations of their parent node inputs;
{αk } are the coefficients used in these linear combinations.
ρji is the symbol on the last edge of the path (Si , Rj ) ⇒
Receiver j has to solve the following system of equations:




ρj1
σ1
 . 


 ..  = Cj  ... 




j
ρh
σh
where the elements of matrix Cj are polynomials in {αk }.
11 / 1
Network Multicast – Code Design
◮
◮
Edges carry linear combinations of their parent node inputs;
{αk } are the coefficients used in these linear combinations.
ρji is the symbol on the last edge of the path (Si , Rj ) ⇒
Receiver j has to solve the following system of equations:




ρj1
σ1
 . 


 ..  = Cj  ... 




j
ρh
σh
where the elements of matrix Cj are polynomials in {αk }.
The Code Design Problem:
Select {αk } so that all matrices C1 . . . CN are full rank.
11 / 1
Network Multicast – Code Existence
◮
The goal is to select {αk } so that C1 . . . CN are full rank.
◮
Equivalently, the goal is to select {αk } so that
f({αk }) , det(C1 ) · · · det(CN ) 6= 0.
Can such {αk } be found?
12 / 1
Network Multicast – Code Existence
◮
The goal is to select {αk } so that C1 . . . CN are full rank.
◮
Equivalently, the goal is to select {αk } so that
f({αk }) , det(C1 ) · · · det(CN ) 6= 0.
Can such {αk } be found?
RLNC [Ho et al.]
Yes, by selecting {αk } uniformly at random from a “large filed”,
we will have the polynomial f({αk }) 6= 0 with “high probability”.
12 / 1
Network Multicast – Code Existence
◮
The goal is to select {αk } so that C1 . . . CN are full rank.
◮
Equivalently, the goal is to select {αk } so that
f({αk }) , det(C1 ) · · · det(CN ) 6= 0.
Can such {αk } be found?
RLNC [Ho et al.]
Yes, by selecting {αk } uniformly at random from a “large filed”,
we will have the polynomial f({αk }) 6= 0 with “high probability”.
LIF [Jaggi et al.]
Yes, {αk } can be selected form Fq where q > N.
12 / 1
Network Multicast – Code Existence
◮
The goal is to select {αk } so that C1 . . . CN are full rank.
◮
Equivalently, the goal is to select {αk } so that
f({αk }) , det(C1 ) · · · det(CN ) 6= 0.
Can such {αk } be found?
RLNC [Ho et al.]
Yes, by selecting {αk } uniformly at random from a “large filed”,
we will have the polynomial f({αk }) 6= 0 with “high probability”.
LIF [Jaggi et al.]
Yes, {αk } can be selected form Fq where q > N.
√
But, we don’t know of any networks for which q > O( N) is required.
12 / 1
Combination Network B(h, m)
A Popular Network With a Small-Alphabt Code
S1
S2
···
Sh
B(h, m) has
σ1 . . . σh
y1 y2
◮
···
ym−1
ym
◮
◮
h
R1
···
···
h
h information sources,
m
h receivers, and
m bottlenecks.
Design a rate-h multicast!
R(m)
h
13 / 1
Combination Network B(h, m)
A Popular Network With a Small-Alphabt Code
S1
S2
···
Sh
B(h, m) has
σ1 . . . σh
y1 y2
◮
···
ym−1
ym
◮
◮
h
R1
···
···
h
h information sources,
m
h receivers, and
m bottlenecks.
Design a rate-h multicast!
R(m)
h
Map {σj } to {yk } by an [m, h] Reed-Solomon code.
13 / 1
Combination Network B(h, m)
A Popular Network With a Small-Alphabt Code
S1
S2
···
Sh
B(h, m) has
σ1 . . . σh
y1 y2
◮
···
ym−1
ym
◮
◮
h
R1
···
···
h
h information sources,
m
h receivers, and
m bottlenecks.
Design a rate-h multicast!
R(m)
h
Map {σj } to {yk } by an [m, h] Reed-Solomon code.
But, what if fewer than h sources are available at the bottlenecks?
13 / 1
Coding Points
The multicast condition:
Between the sources and each receiver node,
◮
the number of edges in the min-cut is h (or equivalently)
◮
there are h edge-disjoint paths (Si , Rj ) for 1 6 i 6 h.
Coding points are edges where paths from different sources merge.
14 / 1
Local and Global Coding Vectors
◮
Edges carry linear combinations of their parent node inputs.
◮
{αk } are the local coding coefficients.
◮
Each edge e carries a linear combination of source symbols:


σ1
 . 
. 
c1 (e)σ1 + · · · + ch (e)σh = c1 (e) . . . ch (e) 
 . 
σh
◮
[c1 (e) . . . ch (e)] ∈ Fh
q is the global coding vector of edge e.
15 / 1
Decoding for Receiver j
◮
ρji is the symbol on the last edge on the path (Si , Rj ).
◮
cji is the coding vector of the last edge on the path (Si , Rj ).
◮
Cj is the matrix whose i-th row is cji .
◮
Receiver j has to solve the following system of equations:




σ1
ρj1


 . 
 ..  = Cj  ...  .




j
σh
ρh
16 / 1
Network Multicast – Code Design
Select a coding vector for each edge e of the network so that
1. the matrices C1 . . . CN are full rank.
2. the coding vector of e is in the linear span of the coding
vectors of the input edges to the parent node of e.
The only edges of interest are coding points.
17 / 1
Local and Global View
S1
A
F
R1
S2
B
C
D
E
R2
G
H
K
R3
18 / 1
Local and Global View
S1
S2
R1
A
F
R1
B
C
D
E
R2
⇐⇒
R2
R2 R3
G
R1 R3
H
K
R3
18 / 1
Local and Global View
S1
S2
R1
A
F
R1
B
C
D
E
R2
⇐⇒
R2
R2 R3
G
R1 R3
H
K
R3
Roughly speaking, we need to find a collection of vectors s.t.
some are in the span of others & some are linearly independent.
18 / 1
Minimal h-Multicast Graph Γ = (G, S, R)
Ingredients:
1. Directed, acyclic graph G with
Example:
h source nodes S = S1 , . . . , Sh
nodes with in-degree d, 2 6 d 6 h.
S1
S2
2. Set of labels R = R1 , . . . , RN (receivers).
R1
R2
◮
◮
Multicast property (labeling rules):
R2 R3
1. Each Ri is used to label exactly h nodes.
Nodes can have multiple labels.
2. Nodes labeled by Ri are connectible to
the sources by h node-disjoint paths.
R1 R3
Minimality:
If an edge is removed, the multicast property is lost.
19 / 1
Code Design Problem for Network Multicast
Example:
Select a vector in Fh
q for each node in G s.t.
1. Sj is assigned ej .
[1 0]
[0 1]
R1
R2
2. vectors of the h nodes sharing a receiver label
are linearly independent
3. the vector assigned to a node is in the span
of the vectors assigned to its parents.
We call such assignments network multicast codes.
R2 R3 [1 1]
R1 R3 [1 α] or [0 1]
Can such selection of vectors be made? Over how small field?
20 / 1
The Field Size?
Theorem [Fragouli & Soljanin ’06]:
◮
For networks with 2 sources and N receivers,
p
q > a = ⌊ 2N − 7/4 + 1/2⌋
is sufficient, and, for some networks, necessary.
◮
For networks with h sources and N receivers,
q>a=N
is sufficient. (Proven even earlier a couple of times.)
√
We don’t have any examples where we need a > O( N).
21 / 1
Coding for Networks with Two Sources
◮
Let L be the following set of (q + 1) vectors:
[0 1], [1 0], and [1 αi ] for 0 6 i 6 q − 2,
where α is a primitive element of Fq .
22 / 1
Coding for Networks with Two Sources
Example:
◮
Let L be the following set of (q + 1) vectors:
[0 1], [1 0], and [1 αi ] for 0 6 i 6 q − 2,
[1 0]
[0 1]
R1
R2
where α is a primitive element of Fq .
◮
Consider any two different vectors in L:
◮
◮
R2 R3 [1 1]
they are linearly independent, and
any vector in L is in their linear span.
=⇒ Vectors in L can be treated as colors.
R1 R3 [1 α] or [0 1]
22 / 1
Vertex Coloring and Code Design
γ
S1
A
F
R1
S2
B
C
D
E
R2
G
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
S2
R1
A
F
R1
B
C
D
E
R2
R2
R2 R3
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
S2
T1
R1
A
F
R1
Ω
B
C
D
E
R2
T2
R2
T3
R2 R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
S2
T1
R1
A
F
R1
Ω
B
C
D
E
R2
flow
T2
R2
T3
R2 R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
S2
T1
R1
A
F
R1
Ω
B
C
D
E
R2
flow
T2
R2
R1
T3
R2 R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
S2
T1
R1
A
F
R1
Ω
B
C
D
E
R2
flow
R2
T2
R2
R1
T3
R2 R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
S2
T1
R1
A
F
R1
Ω
B
C
D
E
R2
flow
R2
T2
R2
R1
R2 R3
T3
R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
S2
T1
R1
A
F
R1
Ω
B
C
D
E
R2
R2
flow
flow
R1
R2 R3
T2
R2
T3
R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
[1 0]
T1
S2
R1
A
F
R1
Ω
B
C
D
E
R2
R2
flow
flow
R1
R2 R3
[0 1]
T2
R2
T3
R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
[1 0]
T1
S2
R1
A
F
R1
Ω
B
C
D
E
R2
R2
flow
flow
R1
R2 R3
[0 1]
T2
R2
T3 [1 1]
R3
T4
G
R1 R3
H
K
R3
23 / 1
Vertex Coloring and Code Design
γ
S1
Γ
[1 0]
T1
S2
R1
A
F
R1
Ω
B
C
D
E
R2
flow
R1
R2 R3
[0 1]
T2
R2
T3 [1 1]
R3
T4
G
R1 R3
H
R2
flow
[0 1]
K
R3
23 / 1
Field Size for Network with Two Sources
ℓ -The Chromatic Number of Ω
Claim: ℓ 6
p
2N − 7/4 + 1/2⌋ + 1
Elements of the Proof:
◮
Lemma: Every vertex in an Ω has degree at least two.
24 / 1
Field Size for Network with Two Sources
ℓ -The Chromatic Number of Ω
Claim: ℓ 6
p
2N − 7/4 + 1/2⌋ + 1
Elements of the Proof:
◮
Lemma: Every vertex in an Ω has degree at least two.
◮
Lemma: Every ℓ-chromatic graph has at least ℓ vertices of
degree at least ℓ − 1.
24 / 1
Field Size for Network with Two Sources
ℓ -The Chromatic Number of Ω
Claim: ℓ 6
p
2N − 7/4 + 1/2⌋ + 1
Elements of the Proof:
◮
Lemma: Every vertex in an Ω has degree at least two.
◮
Lemma: Every ℓ-chromatic graph has at least ℓ vertices of
degree at least ℓ − 1.
◮
For an Ω with n nodes, chromatic number ℓ, and ǫ edges:
1. ǫ > [ℓ(ℓ − 1) + (n − ℓ)2]/2
2. ǫ 6 N + n − 2
← from the lemmas
← receiver and flow edges
Recall that Fq provides q + 1 colors when h = 2.
24 / 1
h>2
We cannot dispose of geometry and just do combinatorics
Is there generalization of the coloring idea?
◮
We have used points on the projective line as colors.
◮
Con we use the points on arcs in PG(h − 1, q) as colors?
Yes, if each non-source node has h inputs.
Roughly speaking, we need to find a collection of vectors s.t.
some are in the span of others & some are linearly independent.
Are there counterparts to the “coloring graph” Ω?
E.g., matroids, finite geometry relations?
25 / 1
Combination Network B(h, m)
A Popular Network With a Small-Alphabt Code
S1
S2
···
Sh
B(h, m) has
σ1 . . . σh
y1 y2
◮
···
ym−1
ym
◮
◮
h
R1
···
···
h
h information sources,
m
h receivers, and
m bottlenecks.
Design a rate-h multicast!
R(m)
h
Map {σj } to {yk } by an [m, h] Reed-Solomon code.
26 / 1
Combination Network B(h, m)
A Popular Network With a Small-Alphabt Code
S1
S2
···
Sh
B(h, m) has
σ1 . . . σh
y1 y2
◮
···
ym−1
ym
◮
◮
h
R1
···
···
h
h information sources,
m
h receivers, and
m bottlenecks.
Design a rate-h multicast!
R(m)
h
Map {σj } to {yk } by an [m, h] Reed-Solomon code.
But, what if fewer than h sources are available at the bottlenecks?
26 / 1
A Distributed Combination Network
Fewer than h sources are available at the bottlenecks
S1
S2
S3
There are
◮
3 information sources,
◮
9 bottlenecks, and
9
3 − 3 = 81 receivers.
◮
Design a rate-3 multicast!
R1
R81
27 / 1
A Distributed Combination Network
Fewer than h sources are available at the bottlenecks
S1
S2
S3
There are
◮
3 information sources,
◮
9 bottlenecks, and
9
3 − 3 = 81 receivers.
◮
Design a rate-3 multicast!
R1
R81
Only information that is locally available can be combined.
27 / 1
Non-Monotonicity
There may be a solution over Fq0 but not over Fq for some q > 0
Coding vectors for our example network:

a1 a2 a3 b1 b2 b3 0 0 0


 c1 c2 c3 0 0 0 d1 d2 d3 
0 0 0 e1 e2 e3 f1 f2 f3
| {z } | {z } | {z }

v1
v2
v3
All 3 × 3 sub-matrices, except v1 , v2 , v3 , should be non-singular.
28 / 1
Non-Monotonicity
There may be a solution over Fq0 but not over Fq for some q > 0
Coding vectors for our example network:

a1 a2 a3 b1 b2 b3 0 0 0


 c1 c2 c3 0 0 0 d1 d2 d3 
0 0 0 e1 e2 e3 f1 f2 f3
| {z } | {z } | {z }

v1
v2
v3
All 3 × 3 sub-matrices, except v1 , v2 , v3 , should be non-singular.
In which fields Fq does a solution exist?
◮
No solution exists when q < 7.
◮
A solution exists for all q > 9.
◮
A solution exists for q = 7
◮
No solution exists for q = 8.
28 / 1
What Would We Like To Do?
... short of solving the problem ...
Find relations ( equivalences ) with other problems, e.g.,
29 / 1
What Would We Like To Do?
... short of solving the problem ...
Find relations ( equivalences ) with other problems, e.g.,
Something old :
Three problems of Segre in PG(h − 1, q)
1. What is the size g(h, q) of the maximal arc,
and which arcs have g(h, q) points?
2. For which q and h < q are all arcs with q + 1 points equivalent?
3. What are the sizes of the complete arcs,
and what is the size of the second largest complete arc?
Something new :
constrained MDS codes, codes with locality constraints,
minimal multicast graph topologies vs. geometry of arcs.
29 / 1
Who are We?
From left to right: Fragouli, Valdez, Manganiello, Halbawi, Soljanin, Anderson, Walker, Kaplan
30 / 1