Heterogeneous Gossip Davide Frey Rachid Guerraoui Anne-Marie - - PowerPoint PPT Presentation

heterogeneous gossip
SMART_READER_LITE
LIVE PREVIEW

Heterogeneous Gossip Davide Frey Rachid Guerraoui Anne-Marie - - PowerPoint PPT Presentation

Heterogeneous Gossip Davide Frey Rachid Guerraoui Anne-Marie Kermarrec Boris Koldehofe Maxime Monod Martin Mogensen Vivien Quma Outline Context Live Streaming Gossip Limitations Heterogeneous Gossip Protocol


slide-1
SLIDE 1

Heterogeneous Gossip

Davide Frey Rachid Guerraoui Anne-Marie Kermarrec Boris Koldehofe Maxime Monod Martin Mogensen Vivien Quéma

slide-2
SLIDE 2

Outline

  • Context

– Live Streaming – Gossip – Limitations

  • Heterogeneous Gossip

– Protocol – Evaluation – Conclusion

slide-3
SLIDE 3

Context

  • Large-scale (no IP-multicast)
  • Churn/Failures
  • Constrained, asymmetric and heterogeneous

bandwidth Target application: Live streaming

slide-4
SLIDE 4

Live Streaming

t0 t1 t2 t3 Play the stream at t0+ε Minimize ε (stream lag) Play the stream at tr+δ Minimize δ (buffering delay) Maximize stream quality ? Sent at ts Received at tr

slide-5
SLIDE 5

Existing approaches

Unstructured overlay Structured overlay

Static overlay / Reactive repair

DHT-based systems Trees Multiple trees

Dynamic overlay / Proactive repair

Gossip

Mesh-based systems Trees over mesh

slide-6
SLIDE 6

Existing approaches

Unstructured overlay Structured overlay

Static overlay / Reactive repair

SplitStream (2003) Chunkyspread (2006)

Dynamic overlay / Proactive repair

Gossip

Coolstreaming (2005) Chainsaw (2005) PULSE (2007) PRIME (2007) Coolstreaming (2007) GridMedia (2007) BAR Gossip/FlightPath (2006/2008)

Heterogeneity awareness?

slide-7
SLIDE 7

Gossip in the real world

George meets Bob:

slide-8
SLIDE 8

Infect-and-die model

Gossip in computer science

p0 p1 p3 p4 pf … p2 fanout partners gossip period

slide-9
SLIDE 9

Gossip - Theory

  • 1. fanout = ln(n) + c

P[connected graph] goes to exp(-exp(-c))

  • 2. Holds as long as the fanout is ln(n) + c on average

0.2 0.4 0.6 0.8 1 ln(n)-10 ln(n)-5 ln(n) ln(n)+5 ln(n)+10 c=1 → 69% c=2 → 87% c=3 → 95% c=-1 → 7% c=0 → 37%

slide-10
SLIDE 10

10 20 30 40 50 60 70 80 90 100 5 10 15 20 25 30 35 40 45 50 55 60

Percentage of nodes (CDF)

Percentage of nodes receiving at least 99% of the stream

Gossip – Practice

(600kbps)

PlanetLab nodes have:

  • Large bandwidths
  • Small delays

Stream lag (s)

slide-11
SLIDE 11

Gossip is load-balancing…

– Proposals arrive randomly

  • Nodes pull from the first proposal

– Highly-dynamic

S p1 q p2 p3 S q S q Node q will serve f nodes whp Node q will serve f nodes wlp

slide-12
SLIDE 12

… but the world is heterogeneous!

Load-balancing Capability

3 classes (691kbps avg):

512kbps 85% 3Mbps 5% 1Mbps 10%

10 20 30 40 50 60 70 80 90 100 5 10 15 20 25 30 35 40 45 50 55 60 Percentage of nodes (CDF)

Percentage of nodes receiving at least 99% of the stream

slide-13
SLIDE 13

vs

How to cope with heterogeneity?

  • Goal: contribute according to capability
  • Advertize more = sell more:

– Propose more = serve more

  • Increase fanout…

… and decrease it too!

  • Challenges:

– Preserve reliability of gossip

average fanout (favg) ≥ initial fanout = ln(n) + c

– Cope with dynamic capabilities

slide-14
SLIDE 14

Heterogeneous Gossip - HEAP

  • q and r with bandwidths bq > br

– q should upload bq/ br times as much as r

  • Who should increase/decrease its contribution?

… and by how much?

  • How to ensure reliability?

– How to keep favg constant?

Capability

slide-15
SLIDE 15

HEAP

  • Total/average contribution is equal in both

homogeneous and heterogeneous settings fq = finit ∙ bq /bavg …ensuring the average fanout is constant and equal to finit = ln(n) + c

bavg

Capability

slide-16
SLIDE 16

HEAP

  • Get bavg with (gossip) aggregation

– Advertize own and freshest received capabilities – Aggregation follows change in the capabilities

  • Get n with (gossip) size estimation

– Estimation follows change in the system

  • Join/leave
  • Crashes
slide-17
SLIDE 17

Stream Lag reduction

10 20 30 40 50 60 70 80 90 100 5 10 15 20 25 30 35 40 45 50 55 60

Percentage of nodes (CDF)

Percentage of nodes receiving at least 99% of the stream

Stream lag (s) Standard gossip – 691kbps HEAP – 691kbps No cap

slide-18
SLIDE 18

Experimental Setup

  • 270 PlanetLab nodes
  • Network capabilities

– Bandwidth cap by throttling – Communication with UDP

  • Stream rate of 600kbps

– Windows of 110 events, including 9 FEC events

  • Gossip

– period of 200 ms – favg = 7 (ln(270) = 5.60)

slide-19
SLIDE 19

Evaluation Metrics

  • Stream Lag

– Time difference between creation at the source and delivery to the player

  • Stream Quality

– A window is considered jittered if < 101 events – Stream with maximum of 1% jitter means at least 99% of the windows are complete

  • Incomplete does not mean “blank”!
slide-20
SLIDE 20

Quality improvement

  • Stream lag of 10s

10 20 30 40 50 60 70 80 90 100

Standard Gossip HEAP

Jitter-free percentage of the stream

512kbps 1Mbps 3Mbps

slide-21
SLIDE 21

Stream Lag

  • For those who can have a jitter-free stream

5 10 15 20 25 30 35 40 45

Standard Gossip HEAP

Average stream lag to obtain a jitter-free stream

512kbps 1Mbps 3Mbps Stream lag (s)

slide-22
SLIDE 22

512 1024 1536 2048 2560 3072

Standard Gossip HEAP

Average bandwidth usage by bandwidth class

512kbps 1Mbps 3Mbps

Proportional contribution

99.89% 91.56% 48.44% 94.38% 90.58% 87.56%

slide-23
SLIDE 23

20% nodes crashing

20 40 60 80 100 30 60 90 120 150

Percentage of nodes receiving each window

Failure of 20% of the nodes at time t=60s

HEAP - 12s lag Standard Gossip - 20s lag Standard Gossip - 30s lag

Stream time (s)

slide-24
SLIDE 24

Conclusion

  • Limitations

– UDP usage

  • TCP-unfriendliness
  • Incoming traffic

– Probability of acceptance also depends on latency

  • Future work

– Compare with mesh systems – Freeriders – Biasing partner selection