Gossipping in Bologna Ozalp Babaoglu ALMA MATER STUDIORUM - - PowerPoint PPT Presentation

gossipping in bologna
SMART_READER_LITE
LIVE PREVIEW

Gossipping in Bologna Ozalp Babaoglu ALMA MATER STUDIORUM - - PowerPoint PPT Presentation

Gossipping in Bologna Ozalp Babaoglu ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA Background 2003: Mrk Jelasity brings the gossipping gospel to Bologna from Amsterdam 2003-2006: We get good milage from gossipping in the


slide-1
SLIDE 1

ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA

Gossipping in Bologna

Ozalp Babaoglu

slide-2
SLIDE 2

Babaoglu Leiden Meeting 2

Background

  • 2003: Márk Jelasity brings the gossipping gospel to

Bologna from Amsterdam

  • 2003-2006: We get good milage from gossipping in the

context of Project BISON

  • 2005-present: Continue to get milage in the context of

Project DELIS

slide-3
SLIDE 3

Babaoglu Leiden Meeting 3

What have we done?

  • We have used gossipping to obtain fast, robust,

decentralized solutions for

  • Aggregation
  • Overlay topology management
  • Heartbeat synchronization
  • Cooperation in selfish environments
slide-4
SLIDE 4

Babaoglu Leiden Meeting 4

Collaborators

  • Márk Jelasity
  • Alberto Montresor
  • Gianpaolo Jesi
  • Toni Binci
  • David Hales
  • Stefano Arteconi
slide-5
SLIDE 5

Babaoglu Leiden Meeting

Proactive gossip framework

// active thread do forever wait(T time units) q = SelectPeer() push S to q pull Sq from q S = Update(S,Sq) // passive thread do forever (p,Sp) = pull * from * push S to p S = Update(S,Sp)

slide-6
SLIDE 6

Babaoglu Leiden Meeting 6

Proactive gossip framework

  • To instantiate the framework, need to define
  • Local state S
  • Method SelectPeer()
  • Style of interaction

▴ push-pull ▴ push ▴ pull

  • Method Update()
slide-7
SLIDE 7

ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA

#1

Aggregation

slide-8
SLIDE 8

Babaoglu Leiden Meeting 8

Gossip framework instantiation

  • Style of interaction: push-pull
  • Local state S: Current estimate of global aggregate
  • Method SelectPeer(): Single random neighbor
  • Method Update(): Numerical function defined according to

desired global aggregate (arithmetic/geometric mean, min, max, etc.)

slide-9
SLIDE 9

Babaoglu Leiden Meeting 9

Exponential convergence of averaging

slide-10
SLIDE 10

Babaoglu Leiden Meeting 10

Properties of gossip-based aggregation

  • In gossip-based averaging, if the selected peer is a

globally random sample, then the variance of the set of estimates decreases exponentially

  • Convergence factor:

ρ = E(σ i+1

2 )

E(σ i

2) ≈

1 2 e ≈ 0.303

slide-11
SLIDE 11

Babaoglu Leiden Meeting 11

Robustness of network size estimation

1000 nodes crash at the beginning of each cycle

slide-12
SLIDE 12

Babaoglu Leiden Meeting 12

Robustness of network size estimation

20% of messages are lost

slide-13
SLIDE 13

ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA

#2

Topology Management

slide-14
SLIDE 14

Babaoglu Leiden Meeting 14

Gossip framework instantiation

  • Style of interaction: push-pull
  • Local state S: Current neighbor set
  • Method SelectPeer(): Single random neighbor
  • Method Update(): Ranking function defined according to

desired topology (ring, mesh, torus, DHT, etc.)

slide-15
SLIDE 15

Babaoglu Leiden Meeting 15

Mesh Example

slide-16
SLIDE 16

Babaoglu Leiden Meeting 16

Sorting example

slide-17
SLIDE 17

Babaoglu Leiden Meeting 17

Exponential convergence - time

slide-18
SLIDE 18

Babaoglu Leiden Meeting

Exponential convergence - network size

slide-19
SLIDE 19

ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA

#3

Heartbeat Synchronization

slide-20
SLIDE 20

Babaoglu Leiden Meeting 20

Synchrony in nature

  • Nature displays astonishing cases of synchrony among

independent actors

  • Heart pacemaker cells
  • Chirping crickets
  • Menstrual cycle of women living together
  • Flashing of fireflies
  • Actors may belong to the same organism or they may be

parts of different organisms

slide-21
SLIDE 21

Babaoglu Leiden Meeting 21

Coupled oscillators

  • The “Coupled oscillator” model can be used to explain the

phenomenon of “self-synchronization”

  • Each actor is an independent “oscillator”, like a pendulum
  • Oscillators coupled through their environment
  • Mechanical vibrations
  • Air pressure
  • Visual clues
  • Olfactory signals
  • They influence each other, causing minor local

adjustments that result in global synchrony

slide-22
SLIDE 22

Babaoglu Leiden Meeting 22

Fireflies

  • Certain species of (male) fireflies (e.g., luciola pupilla) are

known to synchronize their flashes despite:

  • Small connectivity (each firefly has a small number of

“neighbors”)

  • Communication not instantaneous
  • Independent local “clocks” with random initial periods
slide-23
SLIDE 23

Babaoglu Leiden Meeting 23

Gossip framework instantiation

  • Style of interaction: push
  • Local state S: Current phase of local oscillator
  • Method SelectPeer(): (small) set of random neighbors
  • Method Update(): Function to reset the local oscillator

based on the phase of arriving flash

slide-24
SLIDE 24

Babaoglu Leiden Meeting 24

Experimental results

slide-25
SLIDE 25

Babaoglu Leiden Meeting 25

Exponential convergence

slide-26
SLIDE 26

ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA

#4

Cooperation in Selfish Environments

slide-27
SLIDE 27

Babaoglu Leiden Meeting 27

Outline

  • P2P networks are usually open systems
  • Possibility to free-ride
  • High levels of free-riding can seriously degrade global

performance

  • A gossip-based algorithm can be used to sustain high

levels of cooperation despite selfish nodes

  • Based on simple “copy” and “rewire” operations
slide-28
SLIDE 28

Babaoglu Leiden Meeting 28

Gossip framework instantiation

  • Style of interaction: pull
  • Local state S: Current utility, strategy and neighborhood

within an interaction network

  • Method SelectPeer(): Single random sample
  • Method Update(): Copy strategy and neighborhood if the

peer is achieving better utility

slide-29
SLIDE 29

Babaoglu Leiden Meeting 29

A “Copy” strategy

SLAC Algorithm: “Copy and Rewire”

B C A D E F H J K G “Rewire”

slide-30
SLIDE 30

Babaoglu Leiden Meeting 30

A “Mutate” strategy A

SLAC Algorithm: “Mutate”

B C D E F H J K G Drop current links Link to random node

slide-31
SLIDE 31

Babaoglu Leiden Meeting 31

Prisoner’s Dilemma

  • Prisoner’s Dilemma in SLAC
  • Nodes play PD with neighbors chosen randomly in the interaction

network

  • Only pure strategies (always C or always D)
  • Strategy mutation: flip current strategy
  • Utility: average payoff achieved
slide-32
SLIDE 32

Babaoglu Leiden Meeting 32

Cycle 180: Small defective clusters

slide-33
SLIDE 33

Babaoglu Leiden Meeting 33

Cycle 220: Cooperation emerges

slide-34
SLIDE 34

Babaoglu Leiden Meeting 34

Cycle 230: Cooperating cluster starts to break apart

slide-35
SLIDE 35

Babaoglu Leiden Meeting 35

Cycle 300: Defective nodes isolated, small cooperative clusters formed

slide-36
SLIDE 36

Babaoglu Leiden Meeting 36

Phase transition of cooperation

% of cooperating nodes

slide-37
SLIDE 37

Babaoglu Leiden Meeting 37

Broadcast Application

  • How to communicate a piece of information from a single

node to all other nodes

  • While:
  • Minimizing the number of messages sent (MC)
  • Maximizing the percentage of nodes that receive the message

(NR)

  • Minimizing the elapsed time (TR)
slide-38
SLIDE 38

Babaoglu Leiden Meeting 38

Broadcast Application

  • Given a network with N nodes and L links
  • A spanning tree has MC = N
  • A flood-fill algorithm has MC = L
  • For fixed networks containing reliable nodes, it is possible

to use an initial flood-fill to build a spanning tree from any node

  • Practical if broadcasting initiated by a few nodes only
  • In P2P applications this is not practical due to network

dynamicity and the fact that all nodes may need to broadcast

slide-39
SLIDE 39

Babaoglu Leiden Meeting 39

The broadcast game

  • Node initiates a broadcast by sending a message to each

neighbor

  • Two different node behaviors determine what happens

when they receive a message for the first time:

  • Pass: Forward the message to all neighbors
  • Drop: Do nothing
  • Utilities are updated as follows:
  • Nodes that receive the message gain a benefit β
  • Nodes that pass the message incur a cost γ
  • Assume β > γ > 0, indicating nodes have an incentive to receive

messages but also an incentive to not forward them

slide-40
SLIDE 40

Babaoglu Leiden Meeting 40

1000-node static random network

slide-41
SLIDE 41

Babaoglu Leiden Meeting 41

1000-node high churn network

slide-42
SLIDE 42

Babaoglu Leiden Meeting 42

Fixed random network

Average over 500 broadcasts x 10 runs

slide-43
SLIDE 43

Babaoglu Leiden Meeting 43

High churn network

Average over 500 broadcasts x 10 runs

slide-44
SLIDE 44

Babaoglu Leiden Meeting 44

Some food for thought

  • What is it that makes a protocol “gossip based”?
  • Cyclic execution structure (whether proactive or reactive)
  • Bounded information exchange per peer, per cycle
  • Bounded number of peers per cycle
  • Random selection of peer(s)
slide-45
SLIDE 45

Babaoglu Leiden Meeting 45

Some food for thought

  • Bounded information exchange per peer, per round

implies

  • Information condensation — aggregation
  • Is aggregation the mother of all gossip protocols?
slide-46
SLIDE 46

Babaoglu Leiden Meeting 46

Some food for thought

  • Is exponential convergence a universal characterization of

all gossip protocols?

  • No, depends on the properties of the peer selection step
  • What are the minimum properties for peer selection that

are necessary to guarantee exponential convergence?

slide-47
SLIDE 47

Babaoglu Leiden Meeting

Gossip versus evolutionary computing

  • What is the relationship between gossip and evolutionary

computing?

  • Is one more powerful than the other? Are they equal?