heterogeneous gossip
play

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


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

  2. Outline • Context – Live Streaming – Gossip – Limitations • Heterogeneous Gossip – Protocol – Evaluation – Conclusion

  3. Context • Large-scale (no IP-multicast) • Churn/Failures • Constrained, asymmetric and heterogeneous bandwidth Target application: Live streaming

  4. Live Streaming Sent at t s Received at t r t 0 t 1 t 2 t 3 ? Play the stream at t r +δ Maximize stream quality Minimize δ ( buffering delay ) Play the stream at t 0 +ε Minimize ε ( stream lag )

  5. Existing approaches Structured overlay Unstructured overlay Static overlay / Reactive repair Dynamic overlay / Proactive repair DHT-based systems Gossip Trees Mesh-based systems Multiple trees Trees over mesh

  6. Existing approaches Structured overlay Unstructured overlay Static overlay / Reactive repair Dynamic overlay / Proactive repair SplitStream (2003) BAR Gossip/FlightPath (2006/2008) Chunkyspread (2006) Coolstreaming (2005) Gossip Chainsaw (2005) PULSE (2007) PRIME (2007) Coolstreaming (2007) GridMedia (2007) Heterogeneity awareness?

  7. Gossip in the real world George meets Bob:

  8. Gossip in computer science fanout partners Infect-and-die model p 0 p 1 p 2 p 3 p 4 … p f gossip period

  9. Gossip - Theory 1. fanout = ln( n ) + c P[connected graph] goes to exp(-exp(- c )) 1 c=3 → 95% c=2 → 87% 0.8 c=1 → 69% 0.6 0.4 c=0 → 37% 0.2 c=-1 → 7% 0 ln(n)-10 ln(n)-5 ln(n) ln(n)+5 ln(n)+10 2. Holds as long as the fanout is ln( n ) + c on average

  10. Gossip – Practice (600kbps) Percentage of nodes receiving at least 99% of the stream 100 90 80 Percentage of nodes (CDF) 70 60 50 PlanetLab nodes have: 40 30 Large bandwidths • 20 Small delays • 10 0 0 5 10 15 20 25 30 35 40 45 50 55 60 Stream lag (s)

  11. Gossip is load-balancing… S p 3 p 2 Proposals arrive randomly – Nodes pull from the first proposal p 1 • q Highly-dynamic – S q S q Node q will serve f nodes whp Node q will serve f nodes wlp

  12. … but the world is heterogeneous! Load-balancing Capability Percentage of nodes receiving at 3 classes (691kbps avg): least 99% of the stream 100 90 512kbps 80 Percentage of nodes (CDF) 85% 70 60 50 40 3Mbps 1Mbps 30 20 5% 10% 10 0 0 5 10 15 20 25 30 35 40 45 50 55 60

  13. How to cope with heterogeneity? • Goal: contribute according to capability • Advertize more = sell more: vs – Propose more = serve more • Increase fanout… … and decrease it too! • Challenges: – Preserve reliability of gossip average fanout (f avg ) ≥ initial fanout = ln( n ) + c – Cope with dynamic capabilities

  14. Heterogeneous Gossip - HEAP Capability • q and r with bandwidths b q > b r – q should upload b q / b r times as much as r • Who should increase/decrease its contribution? … and by how much? • How to ensure reliability? – How to keep f avg constant?

  15. HEAP b avg Capability • Total/average contribution is equal in both homogeneous and heterogeneous settings f q = f init ∙ b q / b avg …ensuring the average fanout is constant and equal to f init = ln( n ) + c

  16. HEAP • Get b avg 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 • …

  17. Stream Lag reduction Percentage of nodes receiving at least 99% of the stream 100 90 80 Percentage of nodes (CDF) No cap 70 60 HEAP – 691kbps 50 Standard gossip – 691kbps 40 30 20 10 0 0 5 10 15 20 25 30 35 40 45 50 55 60 Stream lag (s)

  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 – f avg = 7 ( ln (270) = 5.60)

  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”!

  20. Quality improvement • Stream lag of 10s Jitter-free percentage of the stream 100 90 512kbps 80 1Mbps 70 3Mbps 60 50 40 30 20 10 0 Standard Gossip HEAP

  21. Stream Lag • For those who can have a jitter-free stream Average stream lag to obtain a jitter-free stream 45 512kbps 40 1Mbps 35 Stream lag (s) 3Mbps 30 25 20 15 10 5 0 Standard Gossip HEAP

  22. Proportional contribution Average bandwidth usage by bandwidth class 3072 512kbps 1Mbps 2560 3Mbps 2048 87.56% 1536 99.89% 94.38% 1024 48.44% 91.56% 90.58% 512 0 Standard Gossip HEAP

  23. 20% nodes crashing Failure of 20% of the nodes at time t=60s 100 Percentage of nodes receiving each window 80 60 40 20 HEAP - 12s lag Standard Gossip - 20s lag Standard Gossip - 30s lag 0 0 30 60 90 120 150 Stream time (s)

  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend