cs 514 computer networks lecture 6 explicit congestion
play

CS 514: Computer Networks Lecture 6: Explicit Congestion Control - PowerPoint PPT Presentation

CS 514: Computer Networks Lecture 6: Explicit Congestion Control Xiaowei Yang Review A fundamental question to networking: Multiple users share the same network. Who can send at what speed? Approach 1: End-to-end congestion


  1. CS 514: Computer Networks Lecture 6: Explicit Congestion Control Xiaowei Yang

  2. Review • A fundamental question to networking: – Multiple users share the same network. Who can send at what speed? • Approach 1: End-to-end congestion control – TCP uses AIMD to probe for available bandwidth, and exponential backoff to avoid congestion – XCP: routers explicitly stamp feedback (increase or decrease) • Nice control algorithms

  3. Why does it work? [Chiu-Jain] – A feedback control system – The network uses feedback y to adjust users � load å x_i 3

  4. Goals of Congestion Avoidance – Efficiency: the closeness of the total load on the resource ot its knee – Fairness: • When all x_i � s are equal, F(x) = 1 • When all x_i � s are zero but x_j = 1, F(x) = 1/n – Distributedness • A centralized scheme requires complete knowledge of the state of the system – Convergence • The system approach the goal state from any starting state 4

  5. Model the system as a linear control system • Four sample types of controls • AIAD, AIMD, MIAD, MIMD 5

  6. Phase plane x 2 6 x 1 https://en.wikipedia.org/wiki/Phase_plane

  7. Macroscopic behavior of TCP

  8. • The total data delivered for each cycle is the area under the sawtooth • Each cycle also delivers 1/p packets • Solve for W, we have • Substituting W into the bandwidth equation: • Collect the constant at one term C, we have

  9. XCP key ideas • Separate efficiency control from fairness control • Using explicit router feedback to help users adjust sending rates 9

  10. How does XCP Work? Round Trip Time Round Trip Time Congestion Window Congestion Window Feedback Feedback = Feedback + 0.1 packet • Routers send explicit bandwidth Congestion Header adjustment information to end users 10

  11. How does XCP Work? Round Trip Time Congestion Window Feedback = Feedback = + 0.1 packet - 0.3 packet • Routers send explicit bandwidth adjustment information to end users • A downstream router overwrites the upstream feedback only if its feedback is smaller 11

  12. How does XCP Work? Congestion Window = Congestion Window + Feedback • Routers send explicit bandwidth adjustment information to end users 12

  13. XCP: how a router computes feedback • Efficient control – First figure out the aggregate bandwidth to reallocate • Fairness control – Then figure out how to distribute spare bandwidth or reclaim over-allocated bandwidth – Bandwidth shuffle to prevent unfairness when C = å i x i • Separate for analytic tractability 13

  14. How to compute the aggregate bandwidth • f = a * d * S - b Q • S = C - å i x i (C is the output link capacity) • Why � - b Q � 14

  15. Bandwidth shuffling • To prevent no program in terms of fairness when link is fully utilized • Simultaneously allocate and deallocate bandwidth to achieve fairness • h = max (0, r * y - | f |) • If | f | > r*y, then no need to shuffle. AIMD will take care of fairness 15

  16. Per packet feedback • Feedback i = positive i – negative i • If f > 0, allocate it so that the increase in throughput of all flows is the same – Aggregate bandwidth to increase is • ( f + h)/d – Aggregate bandwidth to decrease is h • If f < 0, allocate it so that the decrement is proportional to a flow � s current throughput – Aggregate bandwidth to reduce is • (| f | + h)/d – Aggregate bandwidth to increase is h 16

  17. How to compute per-packet positive feedback • Each flow � s throughput increases by a constant a: x i (t+1) = x i (t) + a • The change in a flow’s cwnd i is proportional to its rtt i to keep throughtput increase constant • Next step is to translate the change into a per-packet feedback: – total change of cwnd i divided by N i , the number of packets from flow i seen in interval d

  18. • Ni is proportional to cwndi divided by packet size si, inversely proportional to rtti (cwnd i /s i /rtt i *d) • So we have • Let where is a constant • The sum of all flow’s throughput increase is

  19. Per-packet positive feedback • Thus • Routers compute per control interval • And compute per packet feedback on per packet arrival/departure

  20. How to compute per packet negative feedback • The aggregate negative feedback is proportional to a flow’s sending rate (MD) • The aggregate change of cwnd i should be proportional to the current cwnd i

  21. • Again, a router needs to divide the total change in congestion window by the number of packets received in a control interval • Recall Ni is proportional to cwndi divided by packet size si, inversely proportional to rtt i (cwnd i /s i /rtt i *d) • So we have

  22. • The aggregate of all flows’ rate decrease is the sum of all per packet rate decrease: • Therefore, we can compute as

  23. Comments • It turned out that routers need not keep per flow state to compute exact AIMD parameters • Per-packet computation • A small number of state variables • Any simplification to approximate XCP? • Programmable router implementation? • Incremental deployment?

  24. Discussion • Explicit congestion signaling + dynamic packet state – With congestion header, a router does not have to keep per-flow state! – Clever math • Limitations of XCP – Security – Rounding errors – Cannot deal with link layer congestion – Complexity – Non convergence with multiple bottlenecks • How can we robustly control resource allocation? 26

  25. One more bit is enough • Variable Structure Congestion Control Protocol • Key idea – Four bits to signal regions of action – 01: low load MI – 10: high load AI – 11: overload MD 27

  26. � TCP uses binary congestion signals, such as loss or one-bit Explicit Congestion Notification (ECN) congestion window Multiplicative Decrease (MD) slow! Additive Increase (AI) time � AI with a fixed step-size can be very slow for large bandwidth

  27. Key observation Fairness is not critical in low-utilization region � Use Multiplicative Increase (MI) for fast convergence onto efficiency in this region � Handle fairness in high-utilization region

  28. Variable structure control protocol � Routers signal the level of congestion � End-hosts adapt the control algorithm accordingly scale-free range of interest control load region code factor overload (11) Multiplicative Decrease (MD) 1 Additive Increase (AI) high-load (10) (01) low-load Multiplicative Increase (MI) 0 traffic rate link capacity x 2-bit ECN 2-bit ECN sender router receiver ACK

  29. VCP Properties router end-host overload high-load fairness control AIMD low-load efficiency control MI � Use network link load factor as the congestion signal � Decouple efficiencyandfairness controls in different load regions � Achieve high efficiency, low loss, and small queue � Fairness model is similar to TCP: Long flows get lower bandwidth than in XCP (proportional vs. � max-min fairness) Fairness convergence much slower than XCP (solvable with � even more, e.g., 8 bits)

  30. Conclusion • Review of TCP AIMD congestion control • XCP – Key ideas – How to compute positive and negative feedback

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend