260 likes | 369 Views
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. Pro: one copy of packet per link -- saves bandwidth
E N D
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
Pro:one copy of packet per link -- saves bandwidth Cons: challenges of reliability and congestion control, especially as session size scales Multicast for Content Delivery Sender Receivers
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 rate-adaptation (layered video coding, FEC codes).
6 Increase signal = 2 5 Aggregate rate 4 Increase signal = 1 Layer 2 3 2 Layer 1 1 Base layer 0 0 1 2 3 4 5 6 Time One Instantiation: RLC (Vicisano, Rizzo, Crowcroft - Infocom 1998)
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 Can recover file from any set of n encoding packets. n Message
Cumulative vs. Non-cumulative • Standard cumulative layering: • Powers of two achievable. • Example non-cumulative layering • Any integral rate achievable by binary counting. • But undesirable across other metrics… 1, 1, 2, 4, 8, ... 1, 2, 4, 8, ...
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 non-cumulative layers has (optimal) reception granularity 1.
1,1,2 2,4 1,4 1 1,1 1,8 1,1,2,4,8 1,1,2,4 1,1,2,4 1,1,2,4 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. Cumulative: Dilation = 1 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 non-cumulative 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 Fibonacci O(log R) 1 near 1.62 O(1)
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 • Wide range of variations possible Density Granularity Dilation Complexity O(log R) 1 near 1.62 O(1) Exponential growth for Fibonacci numbers Golden ratio
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: to achieve TCP-friendly throughput, using
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 non-cumulative layering stand to benefit: • FEC-encoded content (Digital Fountain style) is one. • Are there others?
For more information:www.cs.bu.edu/~byerswww.digitalfountain.comThank you.