Heterogeneous Gossip
Davide Frey Rachid Guerraoui Anne-Marie Kermarrec Boris Koldehofe Maxime Monod Martin Mogensen Vivien Quéma
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
Davide Frey Rachid Guerraoui Anne-Marie Kermarrec Boris Koldehofe Maxime Monod Martin Mogensen Vivien Quéma
– Live Streaming – Gossip – Limitations
– Protocol – Evaluation – Conclusion
bandwidth Target application: 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
Unstructured overlay Structured overlay
Static overlay / Reactive repair
DHT-based systems Trees Multiple trees
Dynamic overlay / Proactive repair
Mesh-based systems Trees over mesh
Unstructured overlay Structured overlay
Static overlay / Reactive repair
SplitStream (2003) Chunkyspread (2006)
Dynamic overlay / Proactive repair
Coolstreaming (2005) Chainsaw (2005) PULSE (2007) PRIME (2007) Coolstreaming (2007) GridMedia (2007) BAR Gossip/FlightPath (2006/2008)
George meets Bob:
Infect-and-die model
p0 p1 p3 p4 pf … p2 fanout partners gossip period
P[connected graph] goes to exp(-exp(-c))
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%
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
(600kbps)
PlanetLab nodes have:
Stream lag (s)
– Proposals arrive randomly
– 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
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
vs
– Propose more = serve more
… and decrease it too!
– Preserve reliability of gossip
average fanout (favg) ≥ initial fanout = ln(n) + c
– Cope with dynamic capabilities
– q should upload bq/ br times as much as r
… and by how much?
– How to keep favg constant?
Capability
homogeneous and heterogeneous settings fq = finit ∙ bq /bavg …ensuring the average fanout is constant and equal to finit = ln(n) + c
bavg
Capability
– Advertize own and freshest received capabilities – Aggregation follows change in the capabilities
– Estimation follows change in the system
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
– Bandwidth cap by throttling – Communication with UDP
– Windows of 110 events, including 9 FEC events
– period of 200 ms – favg = 7 (ln(270) = 5.60)
– Time difference between creation at the source and delivery to the player
– A window is considered jittered if < 101 events – Stream with maximum of 1% jitter means at least 99% of the windows are complete
10 20 30 40 50 60 70 80 90 100
Standard Gossip HEAP
Jitter-free percentage of the stream
512kbps 1Mbps 3Mbps
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)
512 1024 1536 2048 2560 3072
Standard Gossip HEAP
Average bandwidth usage by bandwidth class
512kbps 1Mbps 3Mbps
99.89% 91.56% 48.44% 94.38% 90.58% 87.56%
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)
– UDP usage
– Probability of acceptance also depends on latency
– Compare with mesh systems – Freeriders – Biasing partner selection