Fine-Grained Layered Multicast John Byers Dept. of Computer Science, Boston University www.cs.bu.edu/~byers Digital Fountain, Inc. www.digitalfountain.com Joint work with Michael Luby and Michael Mitzenmacher.

Download Report

Transcript Fine-Grained Layered Multicast John Byers Dept. of Computer Science, Boston University www.cs.bu.edu/~byers Digital Fountain, Inc. www.digitalfountain.com Joint work with Michael Luby and Michael Mitzenmacher.

Fine-Grained Layered Multicast
John Byers
Dept. of Computer Science, Boston University
www.cs.bu.edu/~byers
Digital Fountain, Inc.
www.digitalfountain.com
Joint work with Michael Luby and Michael Mitzenmacher
Multicast for Content Delivery
Sender
Receivers
• Pro: one copy of packet per link -- saves bandwidth
• Cons: challenges of reliability and congestion
control, especially as session size scales
Congestion Control Goals
• End-to-end: No special router support
• Multi-rate: Heterogeneous reception rates supported.
• Non-adaptive sender: Sender behaves no differently
whether one or a million receivers.
– Same outgoing packets independent of number of hosts
• Receiver-driven: Each receiver autonomously adjusts
reception rate
• Friendly to the network (bursts, buffer overflows) and
fair to other flows (e.g. TCP)
Base Solution: Layered Multicast
(initiated by McCanne, Jacobson, Vetterli, SIGCOMM 1997)
Basic Ideas
• Set of multicast groups for each session with
geometrically increasing rates (1, 1, 2, 4, 8, 16, ..).
• Receivers adjust reception rate by joining and
leaving multicast groups in cumulative order.
Challenges
• how to ensure TCP-friendliness?
• how to coordinate receivers behind a bottleneck?
• only works when content encoding tolerates rateadaptation (layered video coding, FEC codes).
One Instantiation: RLC
(Vicisano, Rizzo, Crowcroft - Infocom 1998)
6
Aggregate
rate
Increase
signal = 2
5
4
Layer 2
Increase
signal = 1
3
2
Layer 1
1
Base layer
0
0
1
2
3
Time
4
5
6
Experience with RLC
• Coarse-grained approximation to additive increase.
– “TCP-like” in simulation.
– Early analysis/notions of TCP-friendliness.
• Adverse network impacts in practice:
– Doubling causes abrupt rate increases.
– Large buffer overflows; bursts of dropped packets.
• Also, IGMP leave latency can be substantial (not
specific to the RLC scheme).
– Addressed in NGC 2000 companion paper.
Fine-Grained Layered Multicast
Receiver-driven, AIMD, multirate
multicast congestion control
What is “Fine-Grained”?
• So far...
– Cumulative subscription levels.
– Rate increases are multiplicative.
• Desired behavior: more like TCP.
– Additive increase, multiplicative decrease.
– We give efficient non-cumulative layering scheme.
• What are the tradeoffs?
– We provide a framework in which to find out.
– Caveat: Only applications which can take advantage of
non-cumulative layering stand to benefit.
Digital Fountain Approach
(Byers, Luby, Mitzenmacher, Rege: SIGCOMM ’98)
n
Source
Encoding
Stream
Transmission
n
Received
n
Message
Can recover file
from any set of
n encoding packets.
Cumulative vs. Non-cumulative
• Standard cumulative layering:
1, 1, 2, 4, 8, ...
– Powers of two achievable.
• Example non-cumulative layering
1, 2, 4, 8, ...
– Any integral rate achievable by binary counting.
– But undesirable across other metrics…
Four Metrics of a Layering Scheme
•
•
•
•
Density
Reception granularity
Dilation
Join/leave complexity
Density
• Definition: number of layers to support rates
in normalized interval [1, R].
• Measures scalability of multicast group
utilization.
• Example: 1, 1, 2, 4, 8, …scheme has
logarithmic density in R.
• Schemes with polynomial density require use
of an unscalable number of multicast groups.
Reception Granularity
• Definition: worst case ratio between receiver’s
desired rate k and maximum achievable rate j < k.
• Measures “fine-grainedness”.
• Example: 1, 1, 2, 4, 8, … scheme with cumulative
layering has reception granularity of approx 2.
A receiver who desires 15 can receive only 8.
• Example: a 1, 2, 4, 8, … scheme with noncumulative layers has (optimal) reception
granularity 1.
Dilation (of a link)
• Definition: ratio of total bandwidth demanded by
all downstream receivers over maximum rate
demanded by one downstream receiver.
• Measure of wasted bandwidth.
1,1,2,4
1,1,2
1
2,4
1,4
1,1
1,8
1,1,2,4
Cumulative: Dilation = 1
1,1,2,4,8
1,1,2,4
Non-Cumulative: Dilation = 16/9
Join/Leave Complexity
• Definition: worst-case number of
join/leave operations to perform additive
increase/multiplicative decrease.
• Measures signalling overhead.
• Example: Additive increase in noncumulative 1, 2, 4, 8, ... scheme can
require joining/leaving log R layers.
Comparison of Schemes
Density
Granularity
Dilation
AIMD
Cumulative
log R
2
1
N/A
Non-Cum
log R
1
near 2
log R
1
near 1.62
O(1)
Fibonacci
O(log R)
Fibonacci Layering Sequences
•
•
•
•
B0 = 1, B1 = 2,
Bj = Bj-1 + Bj-2 + 1 for j > 1.
Sequence Fib1 = 1, 2, 4, 7, 12, 20, 34,…
Increase by 1: Find smallest unsubscribed
layer j. Join layer j, leave layers j-1 and j-2.
Fibonacci Layering Sequences
• Multiplicative decrease: Drop top layer.
– Approximate factor of two decrease
• What is “approximate”?
– Key fact: Subscription sequences (as a bit string) do not
have runs of zeroes longer than 2.
– Informal intuition: Resulting density of subscription
sequences bounds decrease factor.
– Decreases drop rate by a factor between 0.39 and 0.62.
– Better precision can be obtained with more joins/leaves
Improved Non-cumulative
Fine-Grained Schemes
• Fibonacci scheme
Density
O(log R)
Granularity
1
Exponential growth
for Fibonacci numbers
Dilation
near 1.62
Complexity
O(1)
Golden ratio
• Wide range of variations possible
Fibonacci Congestion
Control Analysis
• Need average-case analysis over range of drop rates
for TCP-fairness.
– Our scheme should behave fairly with TCP.
– One measure: long term average rate.
• Use general TCP(a,b) analysis.
– Additive increase a, multiplicative decrease b.
– Derive equation for average throughput as function of a, b,
and random loss rate p.
– See e.g., [Yang & Lam, ICNP ’00] or [Floyd, Handley,
Padhye ’00 manuscript].
Fibonacci Congestion
Control Analysis
• Multicast has no specific round time
– Choose “aggressive parameter” Q corresponding
to target TCP round trip time.
• Increase by 1 every Q seconds.
• Use TCP(a,b) analysis to set parameters which
are fair to an equally aggressive TCP.
Equations: The Bottom Line
• For a target TCP RTT R, base layer bandwidth
B0 and golden ratio g set:
R 2 ( g  1) B0
Q
3( g  1)
to achieve TCP-friendly throughput, using
2b a
TCP(a, b) 
R 2bp
Fibonacci vs. RLC
• Fibonacci layering has smoother behavior.
Fibonacci
RLC
Fibonacci and TCP
• Similar sawtooth behavior
Conclusions
• Fine-grained provides AIMD multirate congestion
control using non-cumulative layers.
• Framework and metrics for layering schemes.
• Only applications which can take advantage of noncumulative layering stand to benefit:
– FEC-encoded content (Digital Fountain style) is one.
– Are there others?
For more information:
www.cs.bu.edu/~byers
www.digitalfountain.com
Thank you.