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 ReportTranscript 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 2b 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.