470 likes | 545 Views
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?.
E N D
CS540/TE630Computer Network ArchitectureSpring 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?
Congestion Control • Other Variables?
Congestion Avoidance and Control Van Jaconson 1988
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
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
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
Slow-start • Self-clocking • Acks are generated no faster than data packets
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)
Effect of Slow-start Available bandwidth Available bandwidth Without Slow-start With Slow-start
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)
Estimating variation • Proposed method • Using mean deviation that is much easier to compute than standard deviation ( = measurement)
Timer improvement Timer Timer RFC 793 retransmit timer Mean+Variance retransmit timer
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
Slow-start & congestion avoidance • Combined algorithm • Ssthresh is kept to switch between the two algorithms • When new data is acked,
Effect of congestion avoidance (1) • Multiple conversation test setup ► 1 Mbyte transfers ► One conversation per pair (4 conversations overall)
Effect of congestion avoidance (2) • Each line represents each conversation Without congestion avoidance With congestion avoidance
Effect of congestion avoidance (3) • Total bandwidth usage No congestion avoidance congestion avoidance
Effect of congestion avoidance (4) • Effective bandwidth congestion avoidance No congestion avoidance
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
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.
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
Outline • Motivation • Problem Definition • Model • Feasible linear controls • Optimizing the control schemes • Discussion
Motivation Throughput increase Response time Throughput stop increasing Response time increase Throughput decrease Response time increase Congestion avoidance Congestion control
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)???
Model (1) user i’s network load bottleneck around knee Binary feedback (0/1)
Model (3) • Linear control models • Multiplicative x(t+1) = b x(t) • Additive x(t+1) = a + x(t) • Example • Additive increase, multiplicative decrease
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
Linear controls x1 = x2 multiplicative increase/decrease additive increase/decrease x1 + x2 = Xgoal
Examples of linear control Additive increase Multiplicative decrease Additive increase Additive decrease
Convergence to Efficiency • Negative feedback
Convergence to Fairness (1) C ≥ 0 : non-decrease of fairness C = 0 : same fairness stay Require C < 0 for either increase or decrease policy
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
Convergence toEfficiency and Fairness aI and bI not be both zero aI and aD not be both zero
Distributedness We don’t know
Conclusion about feasible linear control • Increasing policy • must have Additive component, • must have multiplicative component with no less one • Decreasing policy • must be multiplicative
Vectorial Representation (1) Assume overload network (in case of decreasing) x1 + x2 = xh
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
Vectorial Representation (3) Intersection of Efficiency and Fairness Decrease must be multiplicative
Vectorial Representation (4) Increase have - additive component - multiplicative component less than 1
Optimizing the convergence • Time to converge to efficiency • Responsiveness, te • Oscillation size • Smoothness, se
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
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
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
Future works • Affect of delayed feedback • Increased bits of feedback • If one can know current number of user n? • Impact of asynchronous operation