1 of 20

Enabling Contribution Awareness in an Overlay Broadcasting System

Yu-Wei (Eric) Sung

Michael Bishop, Sanjay Rao

School of ECE

SIGCOMM, Pisa, September 14, 2006

2 of 20

Video Broadcast using Overlay Multicast

2

Tokyo

LA

San Francisco

Boston

NYC

Pisa

Tokyo

NYC

LA

Boston

San Francisco

Pisa

Encoder

A/V Signal

Overlay Tree

Ethernet

DSL

E

D

E

E

D

D

D

E

3 of 20

State-of-Art in Overlay Multicast

  • Key successes already achieved
    • Architecture Validation and Protocol Design
      • Narada, Yoid, Overcast, NICE, SplitStream, ALMI, CoopNet, Bullet…
    • Significant progress on scaling, resiliency
    • Real Deployments
      • Tmesh (Michigan), CoolStreaming (HK), ESM (CMU)
  • Much success to date:
    • Homogeneous environments with abundant bandwidths

  • Can we go further? Is overlay multicast feasible in mainstream Internet environments?

3

4 of 20

Focus of This Paper

  • Heterogeneity in node upload/forwarding bandwidth:
    • Upload access bandwidth varies widely
    • Hosts may choose to forward differently

  • Resource-scarce
    • E.g. 80% DSL/Cable modem, 20% Ethernet, Src Rate : 300Kbps
    • Insufficient resources to provide full source rate to all receivers
  • Critical problem: not received enough attention

4

Download

Upload

DSL

600-1200Kbps

64-256Kbps

Cable

1-6Mbps

128-768Kbps

Ethernet

10Mbps

10Mbps

Bandwidth Resources

5 of 20

Key Contributions

  • Comprehensive solution to enable overlay broadcasting in resource-scarce, heterogeneous environments
  • Implementation on top of an operational broadcasting system
  • Internet study using traces from operational deployments

5

6 of 20

Talk Outline

  • Application Framework and System Design
    • Distributed bandwidth allocation policy
    • Multi-tree overlay structure
  • Experimental Methodology
  • Important Results
  • Summary

6

7 of 20

How to allocate bandwidth?

  • Host i “contributes/forwards” fi :
    • Bandwidth actually served to children in the broadcast
    • May be less than access bandwidth
  • How much bandwidth ri should host i receive?
  • Simple policy: bit-for-bit 🡪 ri = fi , inadequate since
    • Resource-rich host can contribute more than src rate
    • Resource-poor hosts are constrained by their upload bandwidth.

7

8 of 20

Our Approach

  • Provide support for bandwidth allocation policies
    • More generic than bit-for-bit
    • Amenable to distributed implementation
    • Differential and Equitable Distribution

ri = α × fi + ( 1–α ) × ( avg f )

    • Motivated by recent work on linear taxation

[Sigcomm 04 PINS workshop]

8

Entitled bandwidth

0 < α < 1

Contribution

∑ fj / N

j

9 of 20

Multiple Overlay Trees [Coopnet,SplitStream]

9

Source

Peer A

Peer C

S/3

S/3

S/3

  • With support from MDC, split into T-equally sized stripes
  • T trees, each distributes a single stripe of size S/T
  • Overall quality depends on the number of stripes received
  • Number of trees node i is entitled to =

S Kbps

Tree 1

Tree 3

Tree 2

10 of 20

Entitled Bandwidth: Example

  • S=400Kbps, T=4, S/T=100Kbps, fE=500Kbps, fD=100Kbps, avg f =300Kbps,α=0.5
    • rE=0.5*500+0.5*300=400Kbps 🡪 entitled to 4 trees
    • rD=0.5*100+0.5*300=200Kbps 🡪 entitled to 2 trees

10

Source

E

E

E

E

D

D

100Kbps

100Kbps

100Kbps

100Kbps

11 of 20

Excess Bandwidth

  • Unused bandwidth may still exist after peers receive their entitled bandwidth
    • When found: Excess Bandwidth
  • Peer D: entitled to 2 trees, excess in other trees

11

Source

E

E

E

E

D

D

En. node

100Kbps

100Kbps

100Kbps

100Kbps

D

D

12 of 20

Key Design Issues

  • Entitled Bandwidth Computation

ri = α × fi + ( 1–α ) × ( avg f )

    • Distributed global state sampling
    • Smoothing entitled bandwidth
  • Excess Bandwidth Discovery
    • Fair distribution while minimizing oscillation
    • Achieved by active probes with Backoff, Prioritization

12

13 of 20

Evaluation Goals

  • How effective are these heuristics in providing incentives?
    • Bandwidth
  • How stable is the resulting system?
    • Time between tree reductions
    • Reconnection time

13

14 of 20

Evaluation Methodology

  • Playback 20-min segments of real traces on Planetlab:

  • Use Slashdot to evaluate 2 systems:
    • Cont-Agnostic: multi-tree broadcast system
    • Cont-Aware: multi-tree + contribution-aware heuristics
  • S=400Kbps, T=4, stripe size S/T=100Kbps
    • 2 types of peers: Ethernet fmax 800Kbps, DSL fmax 100Kbps
    • HC: 700-800Kbps, LC: 75-100Kbps

14

Broadcast Event

DSL (100Kbps)

Ethernet (10Mbps)

Peak Group Size

SIGCOMM2002

48%

52%

78

SOSP2003

48%

52%

54

Rally

75%

25%

481

Slashdot

73%

27%

158

GrandChallenge

82%

18%

276

Mainstream Internet

Conferences

15 of 20

Performance: High Contributors

15

System

Mean

Std. Dev

Cont-Agnostic

353

60.9

Cont-Aware

415

24.6

Better

Cont-Aware gives HC better performance

16 of 20

Performance: Low Contributors

16

System

Mean

Std. Dev

Cont-Agnostic

311

80.5

Cont-Aware

295

34.8

Similar performance among similar contributors

Better

Better

17 of 20

Stability

  • Time between Tree Reductions
    • Cont-Aware performs slightly worse
    • Reductions => slight dips in quality
      • Not complete disconnection, 63.4% from 4🡪3, 34.1% from 3🡪2, only 2.5% from 2🡪1 and 1🡪0
  • Reconnection time (in sec)

17

Cont-Aware

Cont-Agnostic

HC

7.1

80.82

LC

53.42

65.26

Overall

48.25

69.83

18 of 20

Performance across traces for high contributors

18

19 of 20

Summary

  • Focus: Video broadcasting in resource-scarce, heterogeneous environments
  • Comprehensive solution to address this challenge
    • Leverages two key ideas: Multi-trees and Linear Taxation
    • Implemented on top of an operational Broadcast System
    • Internet study using traces from operational deployments
  • Key step to extend overlay broadcasting in mainstream Internet environments
  • Future work: exploration of resource allocation policies, cheating of nodes, detecting node capabilities.

19

20 of 20

Thank you!

Questions?

20