1 / 47

CS540/TE630 Computer Network Architecture Spring 2009

CS540/TE630 Computer Network Architecture Spring 2009. Tu / Th 10:30am-Noon Sue Moon. TCP. What do you remember from undergrad networking courses?. Questions. How does TCP detect loss? Do all packets arrive in order? If not, why? If not, how does TCP detect out-of-order packets?.

rafer
Download Presentation

CS540/TE630 Computer Network Architecture Spring 2009

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. CS540/TE630Computer Network ArchitectureSpring 2009 Tu/Th 10:30am-Noon Sue Moon

  2. TCP • What do you remember from undergrad networking courses?

  3. Questions • How does TCP detect loss? • Do all packets arrive in order? • If not, why? • If not, how does TCP detect out-of-order packets?

  4. Congestion Control • Other Variables?

  5. Congestion Avoidance and Control Van Jaconson 1988

  6. Introduction • The first congestion collapse in the Internet • Between LBL and UCB, the throughput dropped from 32 Kbps to 40 bps • New algorithms proposed to fix the problem in 4.3BSD (Berkeley Unix) TCP

  7. New Algorithms • Round-trip time variance estimation • Exponential retransmit timer backoff • Slow-start • More aggressive receiver ack policy • Dynamic window sizing on congestion • Karn’s clamped retransmit backoff • Fast retransmit Not covered in this paper

  8. When congestion collapses occur • Conservation of packets principle • Running stably with a full window of data in transit • Three ways for packet conservation to fail • The connection doesn’t get to equilibrium • New packets are injected before old ones has exited • The equilibrium can’t be reached due to resource limits

  9. Slow-start • Self-clocking • Acks are generated no faster than data packets

  10. Slow-start (cont’d) • How to start at the beginning? • Exponentially increased window size • Simple changes to TCP • Keep cwnd per connection • Set cwnd to 1 when (re)starting • Increase cwnd by 1 on each ack • Send min(cwnd, rwnd)

  11. Effect of Slow-start Available bandwidth Available bandwidth Without Slow-start With Slow-start

  12. Round-trip timing • Estimating mean round trip time (in RFC 793) • Retransmit timeout average RTT estimate filter gain constant (suggested value: 0.9) most recent RTT measurement RTT variation (suggested value: 2)

  13. Estimating variation • Proposed method • Using mean deviation that is much easier to compute than standard deviation ( = measurement)

  14. Timer improvement Timer Timer RFC 793 retransmit timer Mean+Variance retransmit timer

  15. Congestion avoidance • Two parts in congestion avoidance • Signal that notifies endpoints when congestion is occurring • Timeout event indicates that network is congested • Policy that decreases utilization when signal is received • Multiplicative decrease of window size on congestion • Additive increase on no congestion

  16. Slow-start & congestion avoidance • Combined algorithm • Ssthresh is kept to switch between the two algorithms • When new data is acked,

  17. Effect of congestion avoidance (1) • Multiple conversation test setup ► 1 Mbyte transfers ► One conversation per pair (4 conversations overall)

  18. Effect of congestion avoidance (2) • Each line represents each conversation Without congestion avoidance With congestion avoidance

  19. Effect of congestion avoidance (3) • Total bandwidth usage No congestion avoidance congestion avoidance

  20. Effect of congestion avoidance (4) • Effective bandwidth congestion avoidance No congestion avoidance

  21. Future Work:Gateway side of congestion control • Algorithms at endpoints cannot insure fair sharing • However, gateways have enough information to control sharing and fair allocation • Gateways signal endpoints as early as possible while not getting starved for traffic

  22. Summary • Congestion collapses brought serious performance degradation to the original TCP • New algorithms were proposed to deal with the problem • Slow-start • Appropriate retransmit timer • Congestion avoidance • Etc.

  23. Spring 2009 CS540/TE630 Computer Network Architecture Computer Networks and ISDN Systems 1989 Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks Dah-Ming CHIU and Raj JAIN

  24. Outline • Motivation • Problem Definition • Model • Feasible linear controls • Optimizing the control schemes • Discussion

  25. Motivation Throughput increase Response time Throughput stop increasing Response time increase Throughput decrease Response time increase Congestion avoidance Congestion control

  26. Problem Definition network feedback (0/1) Increase or decrease load 0 : underflow 1 : overflow feedback (0/1) feedback (0/1) Increase or decrease load Increase or decrease load Different increase / decrease algorithms  performance(efficiency / fairness)???

  27. Model (1) user i’s network load bottleneck around knee Binary feedback (0/1)

  28. Model (2)

  29. Model (3) • Linear control models • Multiplicative x(t+1) = b x(t) • Additive x(t+1) = a + x(t) • Example • Additive increase, multiplicative decrease

  30. Criteria • Efficiency • closeness of the total load on the resource to the knee point • Fairness • Equal share of bandwidth • Distributedness • Knowledge of the state of the system • Convergence • Responsiveness • Smoothness

  31. Linear controls x1 = x2 multiplicative increase/decrease additive increase/decrease x1 + x2 = Xgoal

  32. Examples of linear control Additive increase Multiplicative decrease Additive increase Additive decrease

  33. Convergence to Efficiency • Negative feedback

  34. Convergence to Fairness (1) C ≥ 0 : non-decrease of fairness C = 0 : same fairness stay Require C < 0 for either increase or decrease policy

  35. Convergence to Fairness (2) Require C(= ) < 0 for either increase or decrease policy Fairness goes up during decrease, goes up or stay during increase Fairness goes up during increase, goes up or stay during decrease

  36. Convergence toEfficiency and Fairness aI and bI not be both zero aI and aD not be both zero

  37. Distributedness We don’t know

  38. Conclusion about feasible linear control • Increasing policy • must have Additive component, • must have multiplicative component with no less one • Decreasing policy • must be multiplicative

  39. Vectorial Representation (1) Assume overload network (in case of decreasing) x1 + x2 = xh

  40. Vectorial Representation (2) Convergence to Efficiency Convergence to Fairness a<0 b>1 a>0 b<1 a<0 b<1 Higher fairness than xh

  41. Vectorial Representation (3) Intersection of Efficiency and Fairness Decrease must be multiplicative

  42. Vectorial Representation (4) Increase have - additive component - multiplicative component less than 1

  43. Optimizing the convergence • Time to converge to efficiency • Responsiveness, te • Oscillation size • Smoothness, se

  44. Optimal convergence to Efficiency From initial state X(0) to Xgoal Monotonically decreasing function of a and b Monotonically increasing function of a and b

  45. Optimal convergence to Fairness • Improvement of Fairness • Increased with larger c (= )  larger a, smaller b • From • Decreasing process • Fairness will stay • Increasing process • Smaller b  bI = 1 Increasing process : additive Decreasing process : multiplicative

  46. Practical consideration • Scaling parameters are not easily gathered • Human help • Resource allocation unit is integral • Buffers, windows… • Rounding off  violation of convergence condition • Ease of implementation • Multiplication, exponentiation

  47. Future works • Affect of delayed feedback • Increased bits of feedback • If one can know current number of user n? • Impact of asynchronous operation

More Related