Simple, Fast and Deterministic Gossip and Rumor Spreading Main - - PowerPoint PPT Presentation

simple fast and deterministic gossip and rumor spreading
SMART_READER_LITE
LIVE PREVIEW

Simple, Fast and Deterministic Gossip and Rumor Spreading Main - - PowerPoint PPT Presentation

Simple, Fast and Deterministic Gossip and Rumor Spreading Main paper by: B. Haeupler, MIT Talk by: Alessandro Dovis, ETH Presentation Outline What is gossip? Applications Basic Algorithms Advanced Algorithms Other


slide-1
SLIDE 1

Simple, Fast and Deterministic Gossip and Rumor Spreading

Main paper by: B. Haeupler, MIT Talk by: Alessandro Dovis, ETH

slide-2
SLIDE 2

Presentation Outline

  • What is gossip?
  • Applications
  • Basic Algorithms
  • Advanced Algorithms
  • Other Results & Current Research
  • Q & A
slide-3
SLIDE 3

What is gossip?

slide-4
SLIDE 4

What is gossip?

Broadcast strategies

slide-5
SLIDE 5

What is gossip?

STRUCTURED

Broadcast strategies

slide-6
SLIDE 6

What is gossip?

Broadcast strategies

STRUCTURED

ISSUES

slide-7
SLIDE 7

What is gossip?

Broadcast strategies

STRUCTURED

ISSUES

slide-8
SLIDE 8

What is gossip?

Broadcast strategies

STRUCTURED

ISSUES

slide-9
SLIDE 9

What is gossip?

Broadcast strategies

STRUCTURED

ISSUES

slide-10
SLIDE 10

What is gossip?

Broadcast strategies

STRUCTURED

ISSUES

?

slide-11
SLIDE 11

What is gossip?

Broadcast strategies

STRUCTURED FLOODING

slide-12
SLIDE 12

What is gossip?

Broadcast strategies

FLOODING

slide-13
SLIDE 13

What is gossip?

Broadcast strategies

FLOODING ISSUES

slide-14
SLIDE 14

What is gossip?

Broadcast strategies

FLOODING ISSUES

slide-15
SLIDE 15

What is gossip?

Broadcast strategies

FLOODING ISSUES

slide-16
SLIDE 16

What is gossip?

Broadcast strategies

FLOODING ISSUES COMPLEXITY

slide-17
SLIDE 17

What is gossip?

Broadcast strategies

FLOODING ISSUES COMPLEXITY

TIME: O(D) MESSAGE: O(m) (or O(D*m))

slide-18
SLIDE 18

What is gossip?

STRUCTURED FLOODING

Broadcast strategies

GOSSIP

slide-19
SLIDE 19

What is gossip?

GOSSIP

Broadcast strategies

slide-20
SLIDE 20

What is gossip?

GOSSIP

Broadcast strategies

  • choice of active edge
  • randomized vs. deterministic
  • time complexity
slide-21
SLIDE 21

What is gossip?

GOSSIP

Broadcast strategies

  • choice of active edge
  • randomized vs. deterministic
  • time complexity

?

slide-22
SLIDE 22

Applications

slide-23
SLIDE 23

Applications

DATABASE REPLICATION

slide-24
SLIDE 24

Applications

DATABASE REPLICATION

1. Direct mail 2. Anti-entropy 3. Rumor mongering

  • PUSH
  • PULL
  • PUSH-PULL
slide-25
SLIDE 25

Applications

RESOURCE DISCOVERY

slide-26
SLIDE 26

Applications

RESOURCE DISCOVERY DISTRIBUTED COMPUTATION

slide-27
SLIDE 27

Applications

RESOURCE DISCOVERY DISTRIBUTED COMPUTATION NODE FAILURE DETECTION

slide-28
SLIDE 28

Basic algorithms

slide-29
SLIDE 29

Naive solution: simulated flooding

R[v] = rumor of v REPEAT D times R’ = ∅ FOR t = 1 to ∆ exchange rumors in R[v] with n[v][t] add all received rumors to R’ R[v] = R[v] ∪ R’ 1 3 2 4

slide-30
SLIDE 30

Naive solution: simulated flooding

R[v] = rumor of v REPEAT D times R’ = ∅ FOR t = 1 to ∆ exchange rumors in R[v] with n[v][t] add all received rumors to R’ R[v] = R[v] ∪ R’ 1 3 2 4

slide-31
SLIDE 31

Naive solution: simulated flooding

R[v] = rumor of v REPEAT D times R’ = ∅ FOR t = 1 to ∆ exchange rumors in R[v] with n[v][t] add all received rumors to R’ R[v] = R[v] ∪ R’ 1 3 2 4

slide-32
SLIDE 32

Naive solution: simulated flooding

R[v] = rumor of v REPEAT D times R’ = ∅ FOR t = 1 to ∆ exchange rumors in R[v] with n[v][t] add all received rumors to R’ R[v] = R[v] ∪ R’ 1 3 2 4

slide-33
SLIDE 33

Naive solution: simulated flooding

COMPLEXITY

TIME: O(∆*D) MESSAGE: O(m*D)

1 3 2 4

slide-34
SLIDE 34

Classic solution: uniform gossip

REPEAT ? times choose a uniformly random neighbor PUSH-PULL rumors in R[v] with n[v][t] add received rumors to R[v]

slide-35
SLIDE 35

Classic solution: uniform gossip

REPEAT ? times choose a uniformly random neighbor PUSH-PULL rumors in R[v] with n[v][t] add received rumors to R[v]

slide-36
SLIDE 36

Classic solution: uniform gossip

REPEAT ? times choose a uniformly random neighbor PUSH-PULL rumors in R[v] with n[v][t] add received rumors to R[v]

slide-37
SLIDE 37

Classic solution: uniform gossip

REPEAT ? times choose a uniformly random neighbor PUSH-PULL rumors in R[v] with n[v][t] add received rumors to R[v]

slide-38
SLIDE 38

Classic solution: uniform gossip

GIAKKOUPIS ‘12

TIME: O(log n / φ)

slide-39
SLIDE 39

Classic solution: uniform gossip

GIAKKOUPIS ‘12

TIME: O(log n / φ)

φ ?!

slide-40
SLIDE 40

Graph conductance

VOLUME CUT CONDUCTANCE GRAPH CONDUCTANCE

slide-41
SLIDE 41

Graph conductance

It measures how much the network is bottlenecked

slide-42
SLIDE 42

Graph conductance

It measures how much the network is bottlenecked

θ(1/n)

slide-43
SLIDE 43

Graph conductance

It measures how much the network is bottlenecked

θ(1/n) θ(1)

slide-44
SLIDE 44

Graph conductance

It measures how much the network is bottlenecked

θ(1/n) θ(1) θ(1/n^2)

slide-45
SLIDE 45

Advanced algorithms

slide-46
SLIDE 46

Conductance Independent results

NEIGHBOR EXCHANGE PROBLEM

slide-47
SLIDE 47

Conductance Independent results

NEIGHBOR EXCHANGE PROBLEM COMMON IDEA Solve NEP + compose it D times

slide-48
SLIDE 48

Conductance Independent results

NEIGHBOR EXCHANGE PROBLEM COMMON IDEA Solve NEP + compose it D times RESULTS (global) RANDOMIZED O(D*log^3 n) DETERMINISTIC O(D*log n + log^2 n)

slide-49
SLIDE 49

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM

slide-50
SLIDE 50

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM QUALITATIVE IDEA Run uniform gossip for a while… + … remove some edges … + do it again

slide-51
SLIDE 51

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM

Superstep(G, τ):

  • 1. UniformGossip algorithm with respect to F

[i] for τ rounds. K[i]: order of the random activated edges

  • 2. UniformGossip Krev[i], the reverse

process of the one realized in Step 1

  • 3. (Pruning) Set of pruned directed edges P

[i] = (u, w) : u received from v

  • 4. Set F[i+1] := F[i] − P[i] and i := i + 1
slide-52
SLIDE 52

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM

Superstep(G, τ):

  • 1. UniformGossip algorithm with respect to F

[i] for τ rounds. K[i]: order of the random activated edges

  • 2. UniformGossip Krev[i], the reverse

process of the one realized in Step 1

  • 3. (Pruning) Set of pruned directed edges P

[i] = (u, w) : u received from v

  • 4. Set F[i+1] := F[i] − P[i] and i := i + 1
slide-53
SLIDE 53

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM

Superstep(G, τ):

  • 1. UniformGossip algorithm with respect to F

[i] for τ rounds. K[i]: order of the random activated edges

  • 2. UniformGossip Krev[i], the reverse

process of the one realized in Step 1

  • 3. (Pruning) Set of pruned directed edges P

[i] = (u, w) : u received from v

  • 4. Set F[i+1] := F[i] − P[i] and i := i + 1
slide-54
SLIDE 54

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM

Superstep(G, τ):

  • 1. UniformGossip algorithm with respect to F

[i] for τ rounds. K[i]: order of the random activated edges

  • 2. UniformGossip Krev[i], the reverse

process of the one realized in Step 1

  • 3. (Pruning) Set of pruned directed edges P

[i] = (u, w) : u received from v

  • 4. Set F[i+1] := F[i] − P[i] and i := i + 1
slide-55
SLIDE 55

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM

Superstep(G, τ):

  • 1. UniformGossip algorithm with respect to F

[i] for τ rounds. K[i]: order of the random activated edges

  • 2. UniformGossip Krev[i], the reverse

process of the one realized in Step 1

  • 3. (Pruning) Set of pruned directed edges P

[i] = (u, w) : u received from v

  • 4. Set F[i+1] := F[i] − P[i] and i := i + 1
slide-56
SLIDE 56

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM RESULT If τ = θ(log^2 n), we need only θ(log n) cycles

slide-57
SLIDE 57

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM RESULT If τ = θ(log^2 n), we need only θ(log n) cycles

NEP: θ(log^3 n)

slide-58
SLIDE 58

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM RESULT If τ = θ(log^2 n), we need only θ(log n) cycles PROOF

slide-59
SLIDE 59

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM RESULT If τ = θ(log^2 n), we need only θ(log n) cycles PROOF

slide-60
SLIDE 60

φ=Ω(1/log n)

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM RESULT If τ = θ(log^2 n), we need only θ(log n) cycles PROOF

slide-61
SLIDE 61

φ=Ω(1/log n)

NEP: randomized (1)

NEIGHBOR EXCHANGE PROBLEM RESULT If τ = θ(log^2 n), we need only θ(log n) cycles PROOF

F ← F/2

slide-62
SLIDE 62

NEP: randomized (2)

NEIGHBOR EXCHANGE PROBLEM

slide-63
SLIDE 63

NEP: randomized (2)

NEIGHBOR EXCHANGE PROBLEM QUALITATIVE IDEA Run simulated flooding for a while… + … add some edges … + do it again

slide-64
SLIDE 64

NEP: randomized (2)

NEIGHBOR EXCHANGE PROBLEM

R[v] = v WHILE Γ[v]\R[v] = ∅ pick Θ(log^2 n) random edges in Γ[v]\R[v] d = Θ(log^2 n); E’ = all newly picked edges Flood in R[v] along E’-edges for d-hops add all received rumors to R[v]

slide-65
SLIDE 65

NEP: randomized (2)

NEIGHBOR EXCHANGE PROBLEM

R[v] = v WHILE Γ[v]\R[v] = ∅ pick Θ(log^2 n) random edges in Γ[v]\R[v] d = Θ(log^2 n); E’ = all newly picked edges Flood in R[v] along E’-edges for d-hops add all received rumors to R[v]

slide-66
SLIDE 66

NEP: randomized (2)

NEIGHBOR EXCHANGE PROBLEM

R[v] = v WHILE Γ[v]\R[v] = ∅ pick Θ(log^2 n) random edges in Γ[v]\R[v] d = Θ(log^2 n); E’ = all newly picked edges Flood in R[v] along E’-edges for d-hops add all received rumors to R[v]

slide-67
SLIDE 67

NEP: randomized (2)

NEIGHBOR EXCHANGE PROBLEM

R[v] = v WHILE Γ[v]\R[v] = ∅ pick Θ(log^2 n) random edges in Γ[v]\R[v] d = Θ(log^2 n); E’ = all newly picked edges Flood in R[v] along E’-edges for d-hops add all received rumors to R[v]

O(log^6 n)

slide-68
SLIDE 68

NEP: deterministic

NEIGHBOR EXCHANGE PROBLEM

R[v] = v WHILE Γ[v]\R[v] = ∅ pick Θ(log^2 n) random edges in Γ[v]\R[v] d = Θ(log^2 n); E’ = all newly picked edges Flood in R[v] along E’-edges for d-hops add all received rumors to R[v]

slide-69
SLIDE 69

NEP: deterministic

NEIGHBOR EXCHANGE PROBLEM

R[v] = v WHILE Γ[v]\R[v] = ∅ arbitrarily pick one edge in Γ[v]\R[v] d = 2log n; E’ = all newly picked edges Flood in R[v] along E’-edges for d-hops add all received rumors to R[v]

slide-70
SLIDE 70

NEP: deterministic

NEIGHBOR EXCHANGE PROBLEM RESULT We need only log n cycles

slide-71
SLIDE 71

NEP: deterministic

NEIGHBOR EXCHANGE PROBLEM RESULT We need only log n cycles

NEP: 2log^3 n

slide-72
SLIDE 72

NEP: deterministic

RESULT We need only log n cycles PROOF

  • in cycle i, vertex v creates a binomial i-tree

and floods for 2i hops

slide-73
SLIDE 73

NEP: deterministic

RESULT We need only log n cycles PROOF

  • in cycle i, vertex v creates a binomial i-tree

and floods for 2i hops

  • in each cycle (at least) all the nodes in the

binomial tree get the information from the root

slide-74
SLIDE 74

NEP: deterministic

RESULT We need only log n cycles PROOF

  • in cycle i, vertex v creates a binomial i-tree

and floods for 2i hops

  • in each cycle (at least) all the nodes in the

binomial tree get the information from the root

  • if 2 neighbours are strangers, their current

trees must be disjoint

slide-75
SLIDE 75

NEP: deterministic

RESULT We need only log n cycles PROOF

  • in cycle i, vertex v creates a binomial i-tree

and floods for 2i hops

  • in each cycle (at least) all the nodes in the

binomial tree get the information from the root

  • if 2 neighbours are strangers, their current

trees must be disjoint

  • a tree at step i contains 2^i nodes
slide-76
SLIDE 76

NEP: deterministic

RESULT We need only log n cycles PROOF

  • in cycle i, vertex v creates a binomial i-tree

and floods for 2i hops

  • in each cycle (at least) all the nodes in the

binomial tree get the information from the root

  • if 2 neighbours are strangers, their current

trees must be disjoint

  • a tree at step i contains 2^i nodes

at most log n cycles

slide-77
SLIDE 77

NEP: faster deterministic

Can we exploit the structure of the binomial tree?

slide-78
SLIDE 78

NEP: faster deterministic

Can we exploit the structure of the binomial tree?

PUSH in inverse order + PULL in order + symmetric PULL & PUSH

slide-79
SLIDE 79

NEP: faster deterministic

Can we exploit the structure of the binomial tree?

PUSH in inverse order + PULL in order + symmetric PULL & PUSH

NEP: 2log n(log n + 1)

slide-80
SLIDE 80

NEP composition

NEIGHBOR EXCHANGE PROBLEM NAIVE COMPOSITION

O(D*log^2 n)

slide-81
SLIDE 81

NEP composition

NEIGHBOR EXCHANGE PROBLEM NAIVE COMPOSITION

O(D*log^2 n)

REUSING TREE

O(D*log n + log^2 n)

slide-82
SLIDE 82

Other results & Current research

slide-83
SLIDE 83

Other results & Current research

SPANNERS & HEREDITARY DENSITY

slide-84
SLIDE 84

Other results & Current research

SPANNERS & HEREDITARY DENSITY ROBUSTNESS & ASYMMETRY

slide-85
SLIDE 85

Other results & Current research

MAXIMUM MESSAGE SIZE

slide-86
SLIDE 86

Other results & Current research

MAXIMUM MESSAGE SIZE NEP LOWER BOUND

slide-87
SLIDE 87

References

  • Simple, Fast, and Deterministic Gossip and Rumor Spreading,
  • B. Haeupler
  • Global Computation in a Poorly Connected World, K. Censor-Hillel

et al.

  • Tight bounds for rumor spreading in graphs of a given conductance, G. Giakkoupis
  • Epidemic Algorithms for Replicated Database Maintainance, A. Demers et al.
  • Resource Discovery in Distributed Networks, M. Harchol-Balter et al.
  • Gossip Algorithms: Design, Analysis and Applications, S. Boyd et al.
  • A Gossip-Style Failure Detection Service, R. van Renesse et al.
slide-88
SLIDE 88

Q & A