Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Overlay networks maximizing throughput
Olivier Beaumont, Lionel Eyraud-Dubois, Shailesh Kumar Agrawal
Cepage team, LaBRI, Bordeaux, France
RO Working GroupMay 24, 2011
Introduction
Outline
1 Introduction
2 Successive algorithms
3 Simulations
4 Conclusions
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 2/ 18
Introduction
Introduction
In this talk: broadcast/streaming operation
One source node holds (or generates) a message
All nodes must receive the complete message
Steady-state: quantity of data per time unit
Goal: optimize throughput
Keep things reasonable: degree constraint
N1 N2 N3
Nn
Ni
N0
bn
d3d2b1d1
b3b2
bidi dn
b0
d0
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 3/ 18
Introduction
Introduction
In this talk: broadcast/streaming operation
One source node holds (or generates) a message
All nodes must receive the complete message
Steady-state: quantity of data per time unit
Goal: optimize throughput
Keep things reasonable: degree constraint
N1 N2 N3
Nn
Ni
N0
bn
d3d2b1d1
b3b2
bidi dn
b0
d0
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 3/ 18
Introduction
An example
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 4/ 18
Introduction
An example
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
Best tree: T = 1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 4/ 18
Introduction
An example
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
10.5
0.5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
1
0.51.5
Best DAG: T = 1.5
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 4/ 18
Introduction
An example
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Optimal: T = 2
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 4/ 18
Introduction
Precise model
An instance
n nodes, with output bandwidth bi and maximal out-degree di
node N0 is the master node that holds the data
A solution (Trees)
A weighted set of spanning trees (wk, Tk) rooted at N0
χk(Nj ,Ni) = 1 iff there is an edge from Nj to Ni in tree Tk
∀j,∑
k
∑i χk(Nj ,Ni)wk ≤ bj (capacity constraint at node j)
∀j,∑
imaxk χk(Nj ,Ni) ≤ dj (degree constraint at node j)
Maximize T =∑
k wk
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 5/ 18
Introduction
Precise model
An instance
n nodes, with output bandwidth bi and maximal out-degree di
node N0 is the master node that holds the data
A solution (Flows)
Flow f ij from node Nj to Ni
∀j,∑
i fij ≤ bj (capacity constraint at node j)
∀j,∣∣∣{i, f ij > 0
}∣∣∣ ≤ dj (degree constraint at node j)
Maximize T = minj mincut(N0,Nj)
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 5/ 18
Introduction
Complexity
3-Partition
3p integers ai such that∑
i ai = pT
Partition into p sets Sl such that∑i∈Sl
ai = T
Reduction
p “server” nodes, bj = 2T and dj = 4
3p “client” nodes, bj+p = T − aj anddj+p = 1
1 “terminal” node, b4p = 0, d4p = 0
b0 = b1 = 2T
N0 N1
a2 + a5+a6 = T
T − a1
T − a2a2
a1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 6/ 18
Introduction
Complexity
3-Partition
3p integers ai such that∑
i ai = pT
Partition into p sets Sl such that∑i∈Sl
ai = T
Reduction
p “server” nodes, bj = 2T and dj = 4
3p “client” nodes, bj+p = T − aj anddj+p = 1
1 “terminal” node, b4p = 0, d4p = 0
b0 = b1 = 2T
N0 N1
a2 + a5+a6 = T
T − a1
T − a2a2
a1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 6/ 18
Successive algorithms
Outline
1 Introduction
2 Successive algorithmsAcyclic AlgorithmWith cycles
3 Simulations
4 Conclusions
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 7/ 18
Successive algorithms
Upper bound
If S has throughput T
Node Ni uses at most Xi = min(bi, Tdi)
Total received rate: nT
Thus∑n
i=0min(bi, Tdi) ≥ nTOf course, T ≤ b0
Our algorithms
Inputs: an instance, and a goal throughput T
Output: a solution with resource augmentation (additionalconnections allowed)
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 8/ 18
Successive algorithms Acyclic Algorithm
Acyclic algorithm
If∑n−1
i=0 min(bi, Tdi) ≥ nT
Order nodes by capacity : X1 ≥ X2 ≥ · · · ≥ Xn
Each node k sends throughput T to as many nodes as possible, inconsecutive order
N0 N1 N2 N3 N4 N5
Provides a valid solution
b0 ≥ TSort by Xi =⇒ ∀k,
∑ki=0Xi ≥ (k + 1)T
Since Xk ≤ Tdk, the outdegree of Nk is at most dk + 1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 9/ 18
Successive algorithms Acyclic Algorithm
Acyclic algorithm
If∑n−1
i=0 min(bi, Tdi) ≥ nT
Order nodes by capacity : X1 ≥ X2 ≥ · · · ≥ Xn
Each node k sends throughput T to as many nodes as possible, inconsecutive order
N0 N1 N2 N3 N4 N5
Provides a valid solution
b0 ≥ TSort by Xi =⇒ ∀k,
∑ki=0Xi ≥ (k + 1)T
Since Xk ≤ Tdk, the outdegree of Nk is at most dk + 1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 9/ 18
Successive algorithms Acyclic Algorithm
Acyclic algorithm
If∑n−1
i=0 min(bi, Tdi) ≥ nT
Order nodes by capacity : X1 ≥ X2 ≥ · · · ≥ Xn
Each node k sends throughput T to as many nodes as possible, inconsecutive order
N0 N1 N2 N3 N4 N5
Provides a valid solution
b0 ≥ TSort by Xi =⇒ ∀k,
∑ki=0Xi ≥ (k + 1)T
Since Xk ≤ Tdk, the outdegree of Nk is at most dk + 1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 9/ 18
Successive algorithms Acyclic Algorithm
Acyclic algorithm
If∑n−1
i=0 min(bi, Tdi) ≥ nT
Order nodes by capacity : X1 ≥ X2 ≥ · · · ≥ Xn
Each node k sends throughput T to as many nodes as possible, inconsecutive order
N0 N1 N2 N3 N4 N5
Provides a valid solution
b0 ≥ TSort by Xi =⇒ ∀k,
∑ki=0Xi ≥ (k + 1)T
Since Xk ≤ Tdk, the outdegree of Nk is at most dk + 1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 9/ 18
Successive algorithms Acyclic Algorithm
Acyclic algorithm
If∑n−1
i=0 min(bi, Tdi) ≥ nT
Order nodes by capacity : X1 ≥ X2 ≥ · · · ≥ Xn
Each node k sends throughput T to as many nodes as possible, inconsecutive order
N0 N1 N2 N3 N4 N5
Provides a valid solution
b0 ≥ TSort by Xi =⇒ ∀k,
∑ki=0Xi ≥ (k + 1)T
Since Xk ≤ Tdk, the outdegree of Nk is at most dk + 1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 9/ 18
Successive algorithms Acyclic Algorithm
Acyclic algorithm
If∑n−1
i=0 min(bi, Tdi) ≥ nT
Order nodes by capacity : X1 ≥ X2 ≥ · · · ≥ Xn
Each node k sends throughput T to as many nodes as possible, inconsecutive order
N0 N1 N2 N3 N4 N5
Provides a valid solution
b0 ≥ TSort by Xi =⇒ ∀k,
∑ki=0Xi ≥ (k + 1)T
Since Xk ≤ Tdk, the outdegree of Nk is at most dk + 1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 9/ 18
Successive algorithms With cycles
General case:∑n
i=0Xi ≥ nT
N0 N1 N2 N3 N4 N5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Acyclic algorithm until k0 such that∑k0
i=0Xi < (k0 + 1)T
Recursively build partial solutions in whichI All nodes up to Nk are servedI Only node Nk has remaining bandwidth
Use the source and Nk0−1 to serve Nk0 and Nk0+1
Then for all k, Nk+1 is served by Nk and Nk−1
Final outdegree of Ni: oi ≤ max(di + 2, 4)
Acyclic solution: oi ≤ di + 1
Degree of the source and of Nk0−1 is increased by 1
Nk has edges to Nk−2, Nk−1, Nk+1 and Nk+2.
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 10/ 18
Successive algorithms With cycles
General case:∑n
i=0Xi ≥ nT
N0 N1 N2 N3 N4 N5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Acyclic algorithm until k0 such that∑k0
i=0Xi < (k0 + 1)T
Recursively build partial solutions in whichI All nodes up to Nk are servedI Only node Nk has remaining bandwidth
Use the source and Nk0−1 to serve Nk0 and Nk0+1
Then for all k, Nk+1 is served by Nk and Nk−1
Final outdegree of Ni: oi ≤ max(di + 2, 4)
Acyclic solution: oi ≤ di + 1
Degree of the source and of Nk0−1 is increased by 1
Nk has edges to Nk−2, Nk−1, Nk+1 and Nk+2.
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 10/ 18
Successive algorithms With cycles
General case:∑n
i=0Xi ≥ nT
N0 N1 N2 N3 N4 N5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Acyclic algorithm until k0 such that∑k0
i=0Xi < (k0 + 1)T
Recursively build partial solutions in whichI All nodes up to Nk are servedI Only node Nk has remaining bandwidth
Use the source and Nk0−1 to serve Nk0 and Nk0+1
Then for all k, Nk+1 is served by Nk and Nk−1
Final outdegree of Ni: oi ≤ max(di + 2, 4)
Acyclic solution: oi ≤ di + 1
Degree of the source and of Nk0−1 is increased by 1
Nk has edges to Nk−2, Nk−1, Nk+1 and Nk+2.
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 10/ 18
Successive algorithms With cycles
General case:∑n
i=0Xi ≥ nT
N0 N1 N2 N3 N4 N5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Acyclic algorithm until k0 such that∑k0
i=0Xi < (k0 + 1)T
Recursively build partial solutions in whichI All nodes up to Nk are servedI Only node Nk has remaining bandwidth
Use the source and Nk0−1 to serve Nk0 and Nk0+1
Then for all k, Nk+1 is served by Nk and Nk−1
Final outdegree of Ni: oi ≤ max(di + 2, 4)
Acyclic solution: oi ≤ di + 1
Degree of the source and of Nk0−1 is increased by 1
Nk has edges to Nk−2, Nk−1, Nk+1 and Nk+2.
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 10/ 18
Successive algorithms With cycles
General case:∑n
i=0Xi ≥ nT
N0 N1 N2 N3 N4 N5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Acyclic algorithm until k0 such that∑k0
i=0Xi < (k0 + 1)T
Recursively build partial solutions in whichI All nodes up to Nk are servedI Only node Nk has remaining bandwidth
Use the source and Nk0−1 to serve Nk0 and Nk0+1
Then for all k, Nk+1 is served by Nk and Nk−1
Final outdegree of Ni: oi ≤ max(di + 2, 4)
Acyclic solution: oi ≤ di + 1
Degree of the source and of Nk0−1 is increased by 1
Nk has edges to Nk−2, Nk−1, Nk+1 and Nk+2.
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 10/ 18
Successive algorithms With cycles
General case:∑n
i=0Xi ≥ nT
N0 N1 N2 N3 N4 N5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Acyclic algorithm until k0 such that∑k0
i=0Xi < (k0 + 1)TRecursively build partial solutions in which
I All nodes up to Nk are servedI Only node Nk has remaining bandwidth
Use the source and Nk0−1 to serve Nk0 and Nk0+1
Then for all k, Nk+1 is served by Nk and Nk−1
Final outdegree of Ni: oi ≤ max(di + 2, 4)
Acyclic solution: oi ≤ di + 1
Degree of the source and of Nk0−1 is increased by 1
Nk has edges to Nk−2, Nk−1, Nk+1 and Nk+2.
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 10/ 18
Successive algorithms With cycles
General case:∑n
i=0Xi ≥ nT
N0 N1 N2 N3 N4 N5
N1
b1 = 1
N2
b2 = 1
N0
b0 = 2
11
1
1
Acyclic algorithm until k0 such that∑k0
i=0Xi < (k0 + 1)TRecursively build partial solutions in which
I All nodes up to Nk are servedI Only node Nk has remaining bandwidth
Use the source and Nk0−1 to serve Nk0 and Nk0+1
Then for all k, Nk+1 is served by Nk and Nk−1
Final outdegree of Ni: oi ≤ max(di + 2, 4)
Acyclic solution: oi ≤ di + 1
Degree of the source and of Nk0−1 is increased by 1
Nk has edges to Nk−2, Nk−1, Nk+1 and Nk+2.
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 10/ 18
Successive algorithms With cycles
A running example
N2N1
∀i > 0, bi =78
b0 =54
N0
34
114
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
114
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
114
18
78
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
78
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N5
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
78
34
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
58
14 1
4
N5
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
34
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N6
38
383
8
58
14 1
4
N5
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
58
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N7
18
12
N6
38
383
8
58
14 1
4
N5
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
12
12
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N8
123
8
18
N7
18
12
N6
38
383
8
58
14 1
4
N5
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
12
12
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N9
12
14
14
12
N8
123
8
18
N7
18
12
N6
38
383
8
58
14 1
4
N5
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
12
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Successive algorithms With cycles
A running example
N10
18
38
12
12
12
N9
12
14
14
12
N8
123
8
18
N7
18
12
N6
38
383
8
58
14 1
4
N5
18
18
18
N4N3
18
78
N2N1
∀i > 0, bi =78
b0 =54
N0
34
1
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 11/ 18
Simulations
Outline
1 Introduction
2 Successive algorithms
3 Simulations
4 Conclusions
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 12/ 18
Simulations
Comparison of different solutions
Unconstrained solution
Best achievable throughput without degree constraints:∑
i bin
Best Tree
In a tree of throughput T , flow through all edges must be T . Counting
the edges yield∑
imin(di,⌊biT
⌋) ≥ n.
Best Acyclic
Computed by the Acyclic algorithm
Cyclic
Throughput when adding cycles
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 13/ 18
Simulations
Experimental setting
Random instance generation
Outgoing bandwidths generated from the data of XtremLabproject
Nodes degrees are homogeneous
Complementary CDF of the data used
0.0001
0.001
0.01
0.1
1
1000 10000 100000
PR(X
>x)
x
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 14/ 18
Simulations
Results: comparisons to Cyclic
0
0.2
0.4
0.6
0.8
1
1 10 100 1000 10000
Thr
ough
put r
atio
Number of nodes
Ratio to Cycle
DAG d=3DAG d=5
DAG d=10Tree d=3Tree d=5
Tree d=10
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 15/ 18
Simulations
Results: Cyclic vs Unconstrained
0
0.2
0.4
0.6
0.8
1
0 2 4 6 8 10 12 14 16
Thr
ough
put r
atio
Output degree
Cycle ratio against Optimal
N=10N=100
N=1000
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 16/ 18
Conclusions
Outline
1 Introduction
2 Successive algorithms
3 Simulations
4 Conclusions
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 17/ 18
Conclusions
Summary
Theoretical study of the problem: optimal resource augmentationalgorithm
In practice:I a low degree is enough to reach a high throughputI an acyclic solution is very reasonable
I once the overlay is computed, there exist distributed algorithms toperform the broadcast
Going further
Worst-case approximation ratio of Acyclic ?
Study the robustness of our algorithms
Design on-line and/or distributed versions
L. Eyraud-Dubois (Cepage) Overlay networks maximizing throughput 18/ 18