1 / 21

Congestion Control for High Bandwidth-Delay Product Networks

Congestion Control for High Bandwidth-Delay Product Networks. D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng Huang. Basics of TCP Congestion Control. Bandwidth-delay product Capacity of the “pipe” between a TCP sender and a TCP receiver

cavelar
Download Presentation

Congestion Control for High Bandwidth-Delay Product Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng Huang

  2. Basics of TCP Congestion Control • Bandwidth-delay product • Capacity of the “pipe” between a TCP sender and a TCP receiver • Congestion window (cwnd) • sender’s estimation of the capacity • Additive Increase and Multiplicative Decrease (AIMD) algorithm • no loss: cwnd = cwnd + s • loss: cwnd = cwnd – cwnd/2

  3. Motivations • Inadequacy of TCP, as bandwidth-delay product increases • Prone to instability • regardless of AQM schemes • Inefficient • Fairness concern • TCP tends to bias against long RTT flows • Satellite links, wireless links, etc.

  4. Design Rationale • NOT an end-to-end approach • Using precise congestion signaling • Decoupling efficiency and fairness control

  5. Features of XCP (eXplicit Control Protocol) • Maintains high utilization, small queues, and almost no drops, as bandwidth/delay increases • drop: less than one in a million packets • Maintains good performance in dynamic environment (with many short web-like flows) • No bias against long RTT flows

  6. XCP – Sender/Receiver’s Role • Sender • Fill the congestion header • Update cwnd = max(cwnd + H_feedback, s) • Receiver • Copy H_feedback to ACK

  7. XCP – Router’s Role • Control Interval Estimation • Average RTT • Efficiency Control • Maximize link utilization • Fairness Control • Achieve fairness among individual flows

  8. Control Interval Estimation • Estimation requirement • Core stateless • Average over flows (not over packets) • e.g. two flows have RTTs of 80 ms and 40 ms and the same cwnd = 10 packets, then average RTT over packets is: RTTavg = (80*10+40*20)/(10+20) = 53.33 (ms) Instead, average RTT over flows is: RTTavg = (80*80*10+40*40*20)/(80*10+40*20) = 60 (ms)

  9. Control Interval Estimation (2) • Weight of each packet • wi = H_rtti * (si / H_cwndi) • Average RTT • sum(wi * H_rtti) / sum(wi) • Average cwnd • sum(wi * H_cwndi) / sum(wi)

  10. Efficiency Controller (EC) • Aggragate feedback (total H_feedback) • alpha, beta: constant value • d: control interval (average RTT) • S: spare bandwidth • Q: persistent queue size • Stability requirement determines alpha = 0.4; beta = 0.226 • Independent of delay, capacity and number of flows

  11. Fairness Controller (FC) • Achieve fairness via AIMD algorithm • phi > 0, equal throughput increment of all flows • phi < 0, throughput decrement proportional to its current throughput • Positive feedback • (1/wi) * (pi/H_rtti) = C1 (constant value) • sum(pi/H_rtti) = phi/d • Negative feedback • (1/wi) * (ni/H_rtti) = C2 * H_cwndi/H_rtti • sum(ni/H_rtti) = phi/d

  12. Fairness Controller (FC) (2) • Bandwidth shuffling • h = max(0, gamma*y - |phi|) • gamma = 0.1 • y: input traffic

  13. Performance Evaluation • Simulation topology I

  14. Performance Evaluation (2) • Simulation topology II

  15. The dynamics of XCP (I)

  16. The Dynamics of XCP (II)

  17. Differential Bandwidth Allocation • Replace FC • phi > 0: allocate throughput increment according to flows’ prices

  18. Gradual Deployment – A TCP-friendly XCP • Separate queues to distinguish TCP and XCP traffics • Calculate average cwnd of TCP traffics by • Update weights to make TCP and XCP fair

  19. Conclusion • XCP provides a theoretically sound, yet effective approach to congestion control. It remains excellent performance, independent of link capacity, delay and number of flows.

More Related