140 likes | 154 Views
Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks. Dah-Ming Chiu and Raj Jain Presented by Aaron Ballew (slides adapted from Yao Zhao). Context. Published in 1989 LANs were relatively new
E N D
Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks Dah-Ming Chiu and Raj Jain Presented by Aaron Ballew (slides adapted from Yao Zhao)
Context • Published in 1989 • LANs were relatively new • Generally understood that low delay is good, high throughput is good. • There was existing work in recovering from congestion • Since then, over 1100 citations
Avoidance vs. Recovery • Fig. 1. Operate at the Knee, not the Cliff. Queue builds Queue drops
Linear Control System • State: the system load relative to a goal • Input: the offered load of individual users • Assume all users equally want access. If you want to get fancy, you can apply some cost function to preferred users/traffic. This is a whole separate body of work for another paper. • Binary Feedback: Increase or Decrease • As simple as it gets. If you want to get fancy, consider adding more bits, implying different rate of change, or specific user, or the location of the congestion.
Criteria for Selecting Controls • Efficiency • Close to the Knee (not too far over or under) • Max-Min Fairness • Users have equal share of bandwidth • Observe that Fairness is between 0 and 1 • Distributedness • End users react to feedback w/o coordinating among other users • Convergence • Tuning the controller for a quick rise time, small overshoot, and small oscillation around the steady-state goal
4 combinations of (a, b) • Multiplicative Increase/Multiplicative Decrease • Additive Increase/Additive Decrease • Additive Increase/Multiplicative Decrease • Multiplicative Increase/ Additive Decrease
Vector Representation of the Optimization Problem • The distributed property gives you only 2 degrees of motion to work with • We want non-decreasing fairness and efficiency with each move
Example of Additive Increase/ Multiplicative Decrease Function
Important Results • Proposition 1: The linear increase policy should always have an additive component, and optionally it may have a multiplicative component with the coefficient no less than one. • Proposition 2: For linear controls with truncation, the increase and decrease policies can each have both additive and multiplicative components, satisfying the constraints in Equations (16) • Proposition 3: For the most direct path toward the “optimal point”, the increase should be additive and the decrease should be multiplicative (recall the zig-zag).
Conclusion • Set up a simple, logical system for modeling users and a constrained resource. • Solved the problem using control theory, resulting in the AIMD scheme to converge toward optimal • Established meaningful measurement criteria for evaluation (efficiency, fairness, etc.) • This is a good baseline to start with, now add complications • Delayed/asynchronous feedback • Nonlinear controls • Sophisticated feedback messages • Multiclass traffic, or alternative fairness criterion
Example of Extensions • Two Problems of TCP AIMD Congestion Control, Yang, Kim, Zhang, Lam, 2000 (this took 11 years…) • Multiplicative + Additive Increase with Multiplicative Decrease (MAIMD), i.e. bI > 1 • MAIMD can sometimes be more Fair
Example of Extensions • Two Problems of TCP AIMD Congestion Control, Yang, Kim, Zhang, Lam, 2000 (this took 11 years…) • Asynchronous Feedback, i.e. adding delay to the loop
Example of Extensions • Delay Based AIMD Congestion Control, Leith, Shorten, McCullagh, Heffner, Dunn, Baker • Asynchronous Feedback, i.e. adding delay to the loop