Olivier Beaumont, Lionel Eyraud-Dubois, Shailesh …...Olivier Beaumont, Lionel Eyraud-Dubois,...

Preview:

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