68
Order Optimal Information Spreading Using Algebraic Gossip Chen Avin, Michael Borokhovich, Keren Censor-Hillel, Zvi Lotker Communication Systems Engineering, BGU, Israel Computer Science and Artificial Intelligence Laboratory, MIT, USA PODC 2011

michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Order Optimal Information SpreadingUsing Algebraic Gossip

Chen Avin, Michael Borokhovich, Keren Censor-Hillel, Zvi Lotker

Communication Systems Engineering, BGU, Israel

Computer Science and Artificial Intelligence Laboratory, MIT, USA

PODC 2011

Page 2: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

The k -Dissemination Problem

1/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 = 5 x2 = 15

x3 = 10 x4 = 12

all nodes need all the k values

as quickly as possible

UniformAlgebraicGossip

Tree BasedAlgebraicGossip

Page 3: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

The k -Dissemination Problem

1/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 = 5 x2 = 15

x3 = 10 x4 = 12

all nodes need all the k values

as quickly as possible

UniformAlgebraicGossip

Tree BasedAlgebraicGossip

Page 4: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Gossip Algorithm

2/12

what is algebraic gossip?

Page 5: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Gossip Algorithm

2/12

Time is measuredin rounds

choose a partner

uniformlynon

uniformly

send a message

push pull exch.

message content

?

v1 v2

v3 v4

v5

v6

v7

v8

v1 v2

v3 v4

v5

v6

v7

v8v1 v2

v3 v4

v5

v6

v7

v8

Page 6: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Gossip Algorithm

2/12

Time is measuredin rounds

choose a partner

uniformlynon

uniformly

send a message

push pull exch.

message content

?

v1 v2

v3 v4

v5

v6

v7

v8

v1 v2

v3 v4

v5

v6

v7

v8

v1 v2

v3 v4

v5

v6

v7

v8

Page 7: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Gossip Algorithm

2/12

Time is measuredin rounds

choose a partner

uniformlynon

uniformly

send a message

push pull exch.

message content

?

v1 v2

v3 v4

v5

v6

v7

v8v1 v2

v3 v4

v5

v6

v7

v8

v1 v2

v3 v4

v5

v6

v7

v8

Page 8: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Gossip Algorithm

2/12

Time is measuredin rounds

choose a partner

uniformlynon

uniformly

send a message

push pull exch.

message content

?

v1 v2

v3 v4

v5

v6

v7

v8v1 v2

v3 v4

v5

v6

v7

v8

v1 v2

v3 v4

v5

v6

v7

v8

Page 9: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip

3/12

instead of sending randomly chosen values...

every message – a single value

v1 v2

v3 v4

v5

v6

v7

v8

x1

x4

x3

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

120

random coefficients ∈ Fq

1× 1x1 + 0x2 + 2x3 + 7x4 = 250

2× 2x1 + 0x2 + 0x3 + 7x4 = 45

5x1 + 0x2 + 2x3 + 21x4 = 340

rank k – node finishesonly helpful

messages are stored

Page 10: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip

3/12

instead of sending randomly chosen values...

every message – a single value

v1 v2

v3 v4

v5

v6

v7

v8

x1

x4

x3

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

120

random coefficients ∈ Fq

1× 1x1 + 0x2 + 2x3 + 7x4 = 250

2× 2x1 + 0x2 + 0x3 + 7x4 = 45

5x1 + 0x2 + 2x3 + 21x4 = 340

rank k – node finishesonly helpful

messages are stored

Page 11: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip

3/12

instead of sending randomly chosen values...

every message – a single value

v1 v2

v3 v4

v5

v6

v7

v8

x1

x4

x3

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

120

random coefficients ∈ Fq

1× 1x1 + 0x2 + 2x3 + 7x4 = 250

2× 2x1 + 0x2 + 0x3 + 7x4 = 45

5x1 + 0x2 + 2x3 + 21x4 = 340

rank k – node finishesonly helpful

messages are stored

Page 12: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip

3/12

instead of sending randomly chosen values...

every message – a single value

v1 v2

v3 v4

v5

v6

v7

v8

x1

x4

x3

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

120

random coefficients ∈ Fq

1× 1x1 + 0x2 + 2x3 + 7x4 = 250

2× 2x1 + 0x2 + 0x3 + 7x4 = 45

5x1 + 0x2 + 2x3 + 21x4 = 340

rank k – node finishesonly helpful

messages are stored

Page 13: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip

3/12

instead of sending randomly chosen values...

every message – a single value

v1 v2

v3 v4

v5

v6

v7

v8

x1

x4

x3

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes send random linear combinations

every message – linear equation

v1 v2

v3 v4

v5

v6

v7

v8

x1+ 2x3

+ 7x4= 250

3x1 + 4x4 =134

4x2+ x4

+ 8x3= 730

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

nodes store equations in a matrix form:

1 0 2 72 0 0 71 1 0 00 0 0 0

·

x1x2x3x4

=

25045780

120

random coefficients ∈ Fq

1× 1x1 + 0x2 + 2x3 + 7x4 = 250

2× 2x1 + 0x2 + 0x3 + 7x4 = 45

5x1 + 0x2 + 2x3 + 21x4 = 340

rank k – node finishesonly helpful

messages are stored

Page 14: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

So, Why Algebraic Gossip is Faster?

4/12

A B

Pr (helpful) = 1k

[x1, x2, x3, . . . xk ] [x1, x2=?, x3, . . . xk ]

Without Algebraic Gossip (Random Message Selection)

A has all values B is missing one valueA sends a random message

A B

Pr (helpful) = 1k

[x1, x2, x3, . . . xk ] [x1, x2=?, x3, . . . xk ]

Without Algebraic Gossip (Random Message Selection)

A has all values B is missing one valueA sends a random message

A B

Pr (helpful) = 1 − 1q

rank k

rank k − 1

With Algebraic Gossip (Random Linear Equations)

k indep. equations k − 1 indep. equationsA sends a random linear equation

qk−qk−1

qk = 1− 1q

Page 15: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

So, Why Algebraic Gossip is Faster?

4/12

A B

Pr (helpful) = 1k

[x1, x2, x3, . . . xk ] [x1, x2=?, x3, . . . xk ]

Without Algebraic Gossip (Random Message Selection)

A has all values B is missing one valueA sends a random message

A B

Pr (helpful) = 1k

[x1, x2, x3, . . . xk ] [x1, x2=?, x3, . . . xk ]

Without Algebraic Gossip (Random Message Selection)

A has all values B is missing one valueA sends a random message

A B

Pr (helpful) = 1 − 1q

rank k

rank k − 1

With Algebraic Gossip (Random Linear Equations)

k indep. equations k − 1 indep. equationsA sends a random linear equation

qk−qk−1

qk = 1− 1q

Page 16: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Research Goal

5/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 = 5 x2 = 15

x3 = 10 x4 = 12k -Disseminationproblem

Analyze uniformalgebraic gossip

is itoptimal?

for whichgraphs?

Study non-uniformalgebraic gossip

we propose treebased algebraic gossip

Page 17: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Research Goal

5/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 = 5 x2 = 15

x3 = 10 x4 = 12k -Disseminationproblem

Analyze uniformalgebraic gossip

is itoptimal?

for whichgraphs?

Study non-uniformalgebraic gossip

we propose treebased algebraic gossip

Page 18: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Related Work

[Deb et al., 2006] – complete graphFor k ln3 n : Tight bound – Θ(k).

[Mosk-Aoyama and Shah, 2006] – any graph, k = nNot tight bound.

[Borokhovich et al., 2010] – k = nUpper bound – O(∆n) for any graph.Tight bound – Θ(n) for constant max degree graphs.

[Haeupler, 2010] – any graphFor k = Ω(n) : Tight bound – Θ(n/γ).For k < o(n) : Not tight for: line, grid, binary tree, ...

6/12

k -Dissemination with uniform algebraic gossip

Page 19: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Related Work

[Deb et al., 2006] – complete graphFor k ln3 n : Tight bound – Θ(k).

[Mosk-Aoyama and Shah, 2006] – any graph, k = nNot tight bound.

[Borokhovich et al., 2010] – k = nUpper bound – O(∆n) for any graph.Tight bound – Θ(n) for constant max degree graphs.

[Haeupler, 2010] – any graphFor k = Ω(n) : Tight bound – Θ(n/γ).For k < o(n) : Not tight for: line, grid, binary tree, ...

6/12

k -Dissemination with uniform algebraic gossip

Page 20: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Related Work

[Deb et al., 2006] – complete graphFor k ln3 n : Tight bound – Θ(k).

[Mosk-Aoyama and Shah, 2006] – any graph, k = nNot tight bound.

[Borokhovich et al., 2010] – k = nUpper bound – O(∆n) for any graph.Tight bound – Θ(n) for constant max degree graphs.

[Haeupler, 2010] – any graphFor k = Ω(n) : Tight bound – Θ(n/γ).For k < o(n) : Not tight for: line, grid, binary tree, ...

6/12

k -Dissemination with uniform algebraic gossip

Page 21: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Related Work

[Deb et al., 2006] – complete graphFor k ln3 n : Tight bound – Θ(k).

[Mosk-Aoyama and Shah, 2006] – any graph, k = nNot tight bound.

[Borokhovich et al., 2010] – k = nUpper bound – O(∆n) for any graph.Tight bound – Θ(n) for constant max degree graphs.

[Haeupler, 2010] – any graphFor k = Ω(n) : Tight bound – Θ(n/γ).For k < o(n) : Not tight for: line, grid, binary tree, ...

6/12

k -Dissemination with uniform algebraic gossip

Page 22: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Results

7/12

two main results

Page 23: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

1st Result

7/12

k -Dissemination

Uniform algebraic gossip

Any graph

O(∆(k + log n + D))

max degree diameter

Const max degree graphs

Θ(k + D)

Optimal!

Results hold for

push, pull, exch

Barbell graph

Ω(nk)

Bad!

v

u

Page 24: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

1st Result

7/12

k -Dissemination

Uniform algebraic gossip

Any graph

O(∆(k + log n + D))

max degree diameter

Const max degree graphs

Θ(k + D)

Optimal!

Results hold for

push, pull, exch

Barbell graph

Ω(nk)

Bad!

v

u

Page 25: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

1st Result

7/12

k -Dissemination

Uniform algebraic gossip

Any graph

O(∆(k + log n + D))

max degree diameter

Const max degree graphs

Θ(k + D)

Optimal!

Results hold for

push, pull, exch

Barbell graph

Ω(nk)

Bad!

v

u

Page 26: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

1st Result

7/12

k -Dissemination

Uniform algebraic gossip

Any graph

O(∆(k + log n + D))

max degree diameter

Const max degree graphs

Θ(k + D)

Optimal!

Results hold for

push, pull, exch

Barbell graph

Ω(nk)

Bad!

v

u

Page 27: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

1st Result

7/12

k -Dissemination

Uniform algebraic gossip

Any graph

O(∆(k + log n + D))

max degree diameter

Const max degree graphs

Θ(k + D)

Optimal!

Results hold for

push, pull, exch

Barbell graph

Ω(nk)

Bad!

v

u

Page 28: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

2nd Result

8/12

k -Dissemination

Tree based algebraic gossip

v1 v2

v3 v4

v5

v6

v7

v8 v1 v2

v3 v4

v5

v6

v7

v8

Phase 1Span tree algo S

Phase

2

Algebraic gossiponly with parent

t(S)

O(∆(k + log n + D)

O(t(S)+k +log n+d(S))

Any graph, k = Ω(n)

Θ(n)

Optimal!

Page 29: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

2nd Result

8/12

k -Dissemination

Tree based algebraic gossip

v1 v2

v3 v4

v5

v6

v7

v8

v1 v2

v3 v4

v5

v6

v7

v8

Phase 1Span tree algo S

Phase

2

Algebraic gossiponly with parent

t(S)

O(∆(k + log n + D)

O(t(S)+k +log n+d(S))

Any graph, k = Ω(n)

Θ(n)

Optimal!

Page 30: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

2nd Result

8/12

k -Dissemination

Tree based algebraic gossip

v1 v2

v3 v4

v5

v6

v7

v8 v1 v2

v3 v4

v5

v6

v7

v8

Phase 1Span tree algo S

Phase

2

Algebraic gossiponly with parent

t(S)

O(∆(k + log n + D)

O(t(S)+k +log n+d(S))

Any graph, k = Ω(n)

Θ(n)

Optimal!

Page 31: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

2nd Result

8/12

k -Dissemination

Tree based algebraic gossip

v1 v2

v3 v4

v5

v6

v7

v8 v1 v2

v3 v4

v5

v6

v7

v8

Phase 1Span tree algo S

Phase

2

Algebraic gossiponly with parent

t(S)

O(∆(k + log n + D)

O(t(S)+k +log n+d(S))

Any graph, k = Ω(n)

Θ(n)

Optimal!

Page 32: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

2nd Result

8/12

k -Dissemination

Tree based algebraic gossip

v1 v2

v3 v4

v5

v6

v7

v8 v1 v2

v3 v4

v5

v6

v7

v8

Phase 1Span tree algo S

Phase

2

Algebraic gossiponly with parent

t(S)

O(∆(k + log n + D)

O(t(S)+k +log n+d(S))

Any graph, k = Ω(n)

Θ(n)

Optimal!

Page 33: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Proof Overview

9/12

k -Dissemination with uniform algebraic gossip

O(∆(k + log n + D))

Page 34: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Converting a Graph to a System of Queues

9/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥?

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆ (1 − 1

q )

x1 x2

x3 x4

x5

x6

initial graph with an arbitrary node v4

when v4 will finish the protocol?

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

BFS spanning tree rooted at v4

we ignore the messages coming from other edges

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

customers are helpful messages

customers increase node’s rank

a node need k helpful messages to finish

v5 chooses v6 w.p. ≥ 1∆

message is helpful w.p. ≥ (1 − 1q )

service time is ∼ Geom(p)

Page 35: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Converting a Graph to a System of Queues

9/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥?

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆ (1 − 1

q )

x1 x2

x3 x4

x5

x6

initial graph with an arbitrary node v4

when v4 will finish the protocol?

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

BFS spanning tree rooted at v4

we ignore the messages coming from other edges

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

customers are helpful messages

customers increase node’s rank

a node need k helpful messages to finish

v5 chooses v6 w.p. ≥ 1∆

message is helpful w.p. ≥ (1 − 1q )

service time is ∼ Geom(p)

Page 36: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Converting a Graph to a System of Queues

9/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥?

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆ (1 − 1

q )

x1 x2

x3 x4

x5

x6

initial graph with an arbitrary node v4

when v4 will finish the protocol?

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

BFS spanning tree rooted at v4

we ignore the messages coming from other edges

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

customers are helpful messages

customers increase node’s rank

a node need k helpful messages to finish

v5 chooses v6 w.p. ≥ 1∆

message is helpful w.p. ≥ (1 − 1q )

service time is ∼ Geom(p)

Page 37: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Converting a Graph to a System of Queues

9/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥?

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆ (1 − 1

q )

x1 x2

x3 x4

x5

x6

initial graph with an arbitrary node v4

when v4 will finish the protocol?

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

BFS spanning tree rooted at v4

we ignore the messages coming from other edges

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

customers are helpful messages

customers increase node’s rank

a node need k helpful messages to finish

v5 chooses v6 w.p. ≥ 1∆

message is helpful w.p. ≥ (1 − 1q )

service time is ∼ Geom(p)

Page 38: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Converting a Graph to a System of Queues

9/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥?

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆ (1 − 1

q )

x1 x2

x3 x4

x5

x6

initial graph with an arbitrary node v4

when v4 will finish the protocol?

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

BFS spanning tree rooted at v4

we ignore the messages coming from other edges

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

customers are helpful messages

customers increase node’s rank

a node need k helpful messages to finish

v5 chooses v6 w.p. ≥ 1∆

message is helpful w.p. ≥ (1 − 1q )

service time is ∼ Geom(p)

Page 39: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Converting a Graph to a System of Queues

9/12

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥?

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆

x1 x2

x3 x4

x5

x6

v1 v2

v3 v4

v5

v6

v7

v8

p ≥ 1∆ (1 − 1

q )

x1 x2

x3 x4

x5

x6

initial graph with an arbitrary node v4

when v4 will finish the protocol?

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

BFS spanning tree rooted at v4

we ignore the messages coming from other edges

v1 v2

v3 v4

v5

v6

v7

v8

x1 x2

x3

x4

x5

x6

customers are helpful messages

customers increase node’s rank

a node need k helpful messages to finish

v5 chooses v6 w.p. ≥ 1∆

message is helpful w.p. ≥ (1 − 1q )

service time is ∼ Geom(p)

Page 40: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Exponential Servers Instead of Geometric

10/12

v1 v2

v3 v4

v5

v6

v7

v8

p

p

p

p

p

p

p

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

µ = p

If X ∼ Geom(p), and Y ∼ Exp(p), then: Pr(Y > t) ≥ Pr(X > t)

exponential server is slower than geometric

we replace servers, thus increasing the stopping time

Page 41: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Exponential Servers Instead of Geometric

10/12

v1 v2

v3 v4

v5

v6

v7

v8

p

p

p

p

p

p

p

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

µ = p

If X ∼ Geom(p), and Y ∼ Exp(p), then: Pr(Y > t) ≥ Pr(X > t)

exponential server is slower than geometric

we replace servers, thus increasing the stopping time

Page 42: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Line is Slower Than Tree

11/12

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

v4µ µ µ

v4µ µ µλ = µ

2 v4µ µ µλ = µ

2

When does the

last customer

leave the system?

Reduce tree to line

Take all customers out and use Jackson theorem

Inter-arrival time ∼Exp( µ2 )

All arrive after O((k + log n)/µ)

Time to cross MM1 ∼Exp( µ2 )

Time to cross D queues O((D + log n)/µ)

Total: O((k + log n + D)/µ) = O(∆(k + log n + D)) rounds

Page 43: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Line is Slower Than Tree

11/12

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

v4µ µ µ

v4µ µ µλ = µ

2 v4µ µ µλ = µ

2

When does the

last customer

leave the system?

Reduce tree to line

Take all customers out and use Jackson theorem

Inter-arrival time ∼Exp( µ2 )

All arrive after O((k + log n)/µ)

Time to cross MM1 ∼Exp( µ2 )

Time to cross D queues O((D + log n)/µ)

Total: O((k + log n + D)/µ) = O(∆(k + log n + D)) rounds

Page 44: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Line is Slower Than Tree

11/12

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

v4µ µ µ

v4µ µ µλ = µ

2

v4µ µ µλ = µ

2

When does the

last customer

leave the system?

Reduce tree to line

Take all customers out and use Jackson theorem

Inter-arrival time ∼Exp( µ2 )

All arrive after O((k + log n)/µ)

Time to cross MM1 ∼Exp( µ2 )

Time to cross D queues O((D + log n)/µ)

Total: O((k + log n + D)/µ) = O(∆(k + log n + D)) rounds

Page 45: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Line is Slower Than Tree

11/12

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

v4µ µ µ

v4µ µ µλ = µ

2

v4µ µ µλ = µ

2

When does the

last customer

leave the system?

Reduce tree to line

Take all customers out and use Jackson theorem

Inter-arrival time ∼Exp( µ2 )

All arrive after O((k + log n)/µ)

Time to cross MM1 ∼Exp( µ2 )

Time to cross D queues O((D + log n)/µ)

Total: O((k + log n + D)/µ) = O(∆(k + log n + D)) rounds

Page 46: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Line is Slower Than Tree

11/12

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

v4µ µ µ

v4µ µ µλ = µ

2

v4µ µ µλ = µ

2

When does the

last customer

leave the system?

Reduce tree to line

Take all customers out and use Jackson theorem

Inter-arrival time ∼Exp( µ2 )

All arrive after O((k + log n)/µ)

Time to cross MM1 ∼Exp( µ2 )

Time to cross D queues O((D + log n)/µ)

Total: O((k + log n + D)/µ) = O(∆(k + log n + D)) rounds

Page 47: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Line is Slower Than Tree

11/12

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

v4µ µ µ

v4µ µ µλ = µ

2

v4µ µ µλ = µ

2

When does the

last customer

leave the system?

Reduce tree to line

Take all customers out and use Jackson theorem

Inter-arrival time ∼Exp( µ2 )

All arrive after O((k + log n)/µ)

Time to cross MM1 ∼Exp( µ2 )

Time to cross D queues O((D + log n)/µ)

Total: O((k + log n + D)/µ) = O(∆(k + log n + D)) rounds

Page 48: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Line is Slower Than Tree

11/12

v1 v2

v3 v4

v5

v6

v7

v8

µ

µ

µ

µ

µ

µ

µ

v4µ µ µ

v4µ µ µλ = µ

2

v4µ µ µλ = µ

2

When does the

last customer

leave the system?

Reduce tree to line

Take all customers out and use Jackson theorem

Inter-arrival time ∼Exp( µ2 )

All arrive after O((k + log n)/µ)

Time to cross MM1 ∼Exp( µ2 )

Time to cross D queues O((D + log n)/µ)

Total: O((k + log n + D)/µ) = O(∆(k + log n + D)) rounds

Page 49: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Summary

12/12

k -Dissemination problem

Uniform algebraic gossip Tree based algebraic gossip

Any graph

O(∆(k + log n + D))

Const max degree graphs

Θ(k + D)Optim

al!

Any graph

O(t(S) + k + log n + d(S))

Any graph, k = Ω(n)

Θ(n)Optim

al!

Open questions

Optimal cases What S to use?

THANK YOU!

Page 50: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Summary

12/12

k -Dissemination problem

Uniform algebraic gossip Tree based algebraic gossip

Any graph

O(∆(k + log n + D))

Const max degree graphs

Θ(k + D)Optim

al!

Any graph

O(t(S) + k + log n + d(S))

Any graph, k = Ω(n)

Θ(n)Optim

al!

Open questions

Optimal cases What S to use?

THANK YOU!

Page 51: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Summary

12/12

k -Dissemination problem

Uniform algebraic gossip Tree based algebraic gossip

Any graph

O(∆(k + log n + D))

Const max degree graphs

Θ(k + D)Optim

al!

Any graph

O(t(S) + k + log n + d(S))

Any graph, k = Ω(n)

Θ(n)Optim

al!

Open questions

Optimal cases What S to use?

THANK YOU!

Page 52: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Summary

12/12

k -Dissemination problem

Uniform algebraic gossip Tree based algebraic gossip

Any graph

O(∆(k + log n + D))

Const max degree graphs

Θ(k + D)Optim

al!

Any graph

O(t(S) + k + log n + d(S))

Any graph, k = Ω(n)

Θ(n)Optim

al!

Open questions

Optimal cases What S to use?

THANK YOU!

Page 53: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Summary

12/12

k -Dissemination problem

Uniform algebraic gossip Tree based algebraic gossip

Any graph

O(∆(k + log n + D))

Const max degree graphs

Θ(k + D)Optim

al!

Any graph

O(t(S) + k + log n + d(S))

Any graph, k = Ω(n)

Θ(n)Optim

al!

Open questions

Optimal cases What S to use?

THANK YOU!

Page 54: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Summary

12/12

k -Dissemination problem

Uniform algebraic gossip Tree based algebraic gossip

Any graph

O(∆(k + log n + D))

Const max degree graphs

Θ(k + D)Optim

al!

Any graph

O(t(S) + k + log n + d(S))

Any graph, k = Ω(n)

Θ(n)Optim

al!

Open questions

Optimal cases What S to use?

THANK YOU!

Page 55: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Summary

12/12

k -Dissemination problem

Uniform algebraic gossip Tree based algebraic gossip

Any graph

O(∆(k + log n + D))

Const max degree graphs

Θ(k + D)Optim

al!

Any graph

O(t(S) + k + log n + d(S))

Any graph, k = Ω(n)

Θ(n)Optim

al!

Open questions

Optimal cases What S to use?

THANK YOU!

Page 56: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Overhead?

12/12

1,0,2,7 | 250

x1 + 2x3 + 7x4 = 250

ai ∈ Fq∑

aixi ∈ Frq

Initial value size: r log q bits.

Overhead (coefficients): k log q bits.

Bits efficiency: r log qk log q+r log q = r

k+r → 1.

nodes store equations in a matrix form:

1 0 2 72 0 0 41 1 0 00 2 1 5

·

x1x2x3x4

=

2504578308

ai ∈ Fq xi ∈ Frq

∑aixi ∈ Fr

q

Page 57: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Overhead?

12/12

1,0,2,7 | 250

x1 + 2x3 + 7x4 = 250

ai ∈ Fq∑

aixi ∈ Frq

Initial value size: r log q bits.

Overhead (coefficients): k log q bits.

Bits efficiency: r log qk log q+r log q = r

k+r → 1.

nodes store equations in a matrix form:

1 0 2 72 0 0 41 1 0 00 2 1 5

·

x1x2x3x4

=

2504578308

ai ∈ Fq xi ∈ Frq

∑aixi ∈ Fr

q

Page 58: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 59: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 60: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 61: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 62: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 63: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 64: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 65: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 66: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 67: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Algebraic Gossip – Example

12/12

v1

v2 v3

x1 = a

x3 = cx2 = b

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 0 00 0 0

·

x1x2x3

=

a00

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

325

random coefficients

0,2,0 | 2b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

0 0 00 0 00 0 1

·

x1x2x3

=

00c

562

random coefficients

5,12,0 | 5a + 12b

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

v1

v2 v3

1 0 00 2 00 0 0

·

x1x2x3

=

a2b0

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

436

random coefficients

20,48,6 | 20a + 48b + 6c

v1

v2 v3

1 0 00 2 0

20 48 6

·

x1x2x3

=

a2b

20a + 48b + 6c

0 0 00 1 00 0 0

·

x1x2x3

=

0b0

5 12 00 0 00 0 1

·

x1x2x3

=

5a + 12b0c

⇒x1 = ax2 = bx3 = c

Page 68: michaelbor.github.iomichaelbor.github.io/presentation_podc2011.pdf · So, Why Algebraic Gossip is Faster? 4/12 A B Pr(helpful) = 1 k [x 1;x2;x 3;:::xk] [x ;x2=?;x ;:::xk] Without

Borokhovich, M., Avin, C., and Lotker, Z. (2010).Tight bounds for algebraic gossip on graphs.In 2010 IEEE International Symposium on InformationTheory Proceedings (ISIT), pages 1758 –1762.

Deb, S., Médard, M., and Choute, C. (2006).Algebraic gossip: a network coding approach to optimalmultiple rumor mongering.IEEE Transactions on Information Theory,52(6):2486–2507.

Haeupler, B. (2010).Analyzing Network Coding Gossip Made Easy.To appear in the 43rd ACM Symposium on Theory ofComputing (STOC), 2011.

Mosk-Aoyama, D. and Shah, D. (2006).Information dissemination via network coding.In ISIT, pages 1748–1752.

12/12