1 / 76

Congestion Control In The Internet

Congestion Control In The Internet. JY Le Boudec Fall 2009. Plan of This Module. Congestion control: theory Application to the Internet. Theory of Congestion Control. What you have to learn in this first part: What is the problem; congestion collapse Efficiency versus Fairness

nasia
Download Presentation

Congestion Control In The Internet

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 In The Internet JY Le Boudec Fall 2009 1

  2. Plan of This Module • Congestion control: theory • Application to the Internet 2

  3. Theory of Congestion Control What you have to learn in this first part: • What is the problem; congestion collapse • Efficiency versus Fairness • Forms of fairness • Forms of congestion control • Additive Increase Multiplicative Decrease (AIMD) 3

  4. Inefficiency • Network may lose some packets • Assume you let users send as they want • Example 1: how much will S1 send to D1 ? S2 to D2 ? S1 D1 C4 = 100 Kb/s C1 = 100 Kb/s C3 = 110 Kb/s S2 C5 = 10 Kb/s D2 C2 = 1000 Kb/s 4

  5. Solution • Both send 10 kb/s • Inefficient ! A better allocation is: S1: 100 kb/s S2: 10 kb/s • The problem was that S2 sent too much C4 = 100 Kb/s S1 C1 = 100 Kb/s D1 x41 = 10 C3 = 110 Kb/s S2 x52 = 10 D2 C2 = 1000 Kb/s C5 = 10 Kb/s 5

  6. Congestion Collapse source i node i+1 link i node i link (i-1) link (i+1) • How much can node i send to its destination ? 6

  7. Solution source i node i+1 link i node i link (i-1) link (i+1) • We can solve in close form the symmetric case (all links and sources the same) • If  < c/2 there is no loss: • Else: i i’ i’’ 7

  8. 8

  9. 9

  10. This is congestion collapse ! • Take home message • Sources should limit their rates to adapt it to the network condition • Otherwise inefficiency or congestion collapse may occur • Congestion collapse means: as the offered load increases, the total throughput decreases 10

  11. Tout se complique • A network should be organized so as to avoid inefficiency • However, being maximally efficient may be a problem • Example : what is the maximum throughput ? 11

  12. Solution 12

  13. Take Home Message • Efficiency may be at the expense of fairness • What is fairness ? 13

  14. Definitions of Fairness • In simple cases, fairness means same to all • May lead to stupid decisions • Example 14

  15. Definitions of Fairness • A better allocation, as fair but more efficient, is: • This is the max-min fair allocation for this example 15

  16. Max-Min fairness • We say that an allocation is max-min fair if it satisfies the following criterion: If we start from this allocation and increase the rate of source s, then we must decrease the rate of some other (less rich) source s’ 16

  17. Example • Are these allocations max-min fair ? X1 X2 17

  18. Answer • No; I can increase x1 without modifying anyone • Yes; if I try to increase x0 I must decrease x2 and x2· x0 if I try to increase x1 I must decrease x0 and x0· x1 if I try to increase x2 I must decrease x0 and x0· x2 18

  19. The Maths of Max-Min Fairness • Given a set of constraints for the rates • If it exists, the max-min fair allocation is unique • There exists one max-min fair allocation if the set of feasible rates is convex (this is the case for networks, we have linear constraints) • For a set of feasible rates as in our case (the sum of the rates on every link is upper bounded), the (unique) max min fair allocation is obtained by water-filling 19

  20. Water-Filling Example • Step 1: • Rate t to all sources • Increase t until t = c/10 • Freeze the values for sources that use a link that is fully used x0 = c/10 x2 = c/10 • Step 2 • Rate t to all non frozen sourcesx1 = t • Increase t until t = 9c/10 • Freeze the values for sources that use a link that is fully used x1 = 9c/10 20

  21. Proportional Fairness • Max-min fairness is the most egalitarian, but efficient, allocation • Sometimes too egalitarian • I sources, ni=1 • Max-min fair allocation is xi= c/2 for all • For I large, one might think that x0 should be penalized as it uses more of the network • This is what proportional fairness does 21

  22. Definition of Proportional Fairness • Two ideas • Relative shares matter, not absolute • Global effect 22

  23. Example • Are these allocations proportionnally fair ? X1 X2 23

  24. Solution • I can increase x2 alone and the average rate of change is positive. The answer is: No • Let us try to decrease x0 by . This allows us to increase x1 by  and x2 by /9. For  small enough (· 0.1), the allocation is feasible.The average rate of change is 24

  25. The Maths of Proportional Fairness • Given a set of constraints for the rates that is convex: • The proportionally fair allocation exists and is unique • It is obtained by maximizing over all feasible allocations: 25

  26. Example 26

  27. 27

  28. Utility Fairness • One can interpret proportional fairness as the allocation that maximizes a global utility. The utility of an allocation, to source I, is here the log of the rate • If we take some other utility function we have what we call a utility fairness • Max-min fairness is the limit of utility fairness when the utility function converges to a step function U(x) = ln (x): proportional fairness U(x) = 1- (1/x)m: m large => ~ max min fairness 28

  29. Take Home Message • Sources should adapt their rate to the state of the network in order to avoid inefficiencies and congestion collapse • This is called “congestion control” • A rate adaptation mechanism should target some form of fairness • E.g. max-min fairness or proportional fairness 29

  30. How can congestion control be implemented ? 30

  31. Additive Increase Multiplicative Decrease • It is a congestion control mechanism that can be implemented end to end • It is the basis for what we have in the Internet • We explain it on a simple example 31

  32. A Simple Network Model • Network sends a one bit feedback • Sources reduce rate if y(t)=1, increase otherwise • Question: what form of increase/decrease laws should one pick ? Feedback y(t) Rate xi(t) 32

  33. Linear Laws • We consider linear laws if y(t) == 1 then xi(t+1) = u1 xi(t) + v1 if y(t) == 0 then xi(t+1) = u0 xi(t) + v0 • We want to decrease when y(t)==1, so • We want to increase when y(t)==0, so 33

  34. Example • u1 = 0.5, v1 =0, u0 = 0, v0 = 1 (unit: Mb/s) 34

  35. Impact of Fairness • Does such a scheme converge to a fair allocation ? • Here max-min and proportionally fair are the same (i.e. same rate to all) • The scheme may not converge as sources may not be stationary • But we would like that the scheme increases fairness 35

  36. 36

  37. 37

  38. 38

  39. 39

  40. Example 40

  41. Slow Start • AIMD’s fairness can be improved if we know that one source gets much less than some other • For example, if initial condition is a small value • We can increase more rapidly the rate of a source that we know is below its fair share • Slow Start is one algorithm for this • Set initial value to the Additive Increase v0 • Increase the rate multiplicatively until a target rate is reached or negative feedback is received • Apply multiplicative decrease to target rate if negative feedback is received • Exit slow start when target rate is received target rate 41

  42. Source 3 3 sources u1 = 0.5, v1 =0, u0 = 0, v0 = 0.01 (unit: Mb/s) 3rd source starts with rate v0 Without Slow Start time Source 1 Source 3 rate (all 3 sources) With Slow Start Source 1 time 42

  43. 43

  44. Plan of This Module • Congestion control: theory • Application to the Internet 44

  45. Congestion Control in the Internet is in TCP • TCP is used to avoid congestion in the Internet • in addition to what was shown: • a TCP source adjusts its window to the congestion status of the Internet(slow start, congestion avoidance) • this avoids congestion collapse and ensures some fairness • TCP sources interprets losses as a negative feedback • use to reduce the sending rate • UDP sources are a problem for the Internet • use for long lived sessions (ex: RealAudio) is a threat: congestion collapse • UDP sources should imitate TCP : “TCP friendly” 45

  46. TCP Congestion Control is based on AIMD • TCP adjusts the window size (in addition to offered window ie credit mechanism) • W = min (cwnd, OfferedWindow) • Principles of TCP Congestion Control • negative feedback = loss, positive feedback = ACK received • Additive Increase (1 MSS), Multiplicative Decrease (0.5) • Slow start with increase factor = 2 • Reaction to loss depends on nature of loss detection • Loss detected by timeout => slow start • Loss detected by fast retransmit or selective Ack => no slow start 46

  47. A Trace Bytes 60 30 0 0 1 2 3 4 5 6 7 8 9 seconds twnd B C A cwnd created from data from: IEEE Transactions on Networking, Oct. 95, “TCP Vegas”, L. Brakmo and L. Petersen 47

  48. A Trace Bytes twnd B C A 60 cwnd 30 0 0 1 2 3 4 5 6 7 8 9 seconds B slow start C congestion avoidance congestion avoidance created from data from: IEEE Transactions on Networking, Oct. 95, “TCP Vegas”, L. Brakmo and L. Petersen 48

  49. How AIMD is Approximated 2 3 4 twnd = 1 MSS • Multiplicative decrease (on loss detection by timeout) • twnd = 0.5  current_window • twnd = max (twnd, 2  MSS) • Additive increase • for each ACK received • twnd = twnd + MSS  MSS / twnd This is equivalent in packets to • twnd = min (twnd, max-size) (64KB) 49

  50. How multiplicative increase (Slow Start) is approximated cwnd = 1 seg 2 3 4 5 6 7 8 • non dupl. ack received during slow start -> cwnd = cwnd + MSS (in bytes) (1)if cwnd = twnd then transition to congestion avoidance (1) is equivalent in packets to 50

More Related