Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Slides originally prepared by: Umair Haroon Portions of the slide/figures were adapted from : http://cs.northwestern.edu/~akuzma/classes/CS495-s06/ Congestion avoidance/control • What is Congestion avoidance? Prevents the network from becoming congested while allowing it to operate in the optimal region of low delay and high throughput. • What is Congestion control ? Allows the network to recover from congested state. Both are resource management problems in which the system senses its state and feeds this back to its user who adjusts their controls. Paper objectives and key point • Comparison of: • Schemes or algorithms? • Scheme: binary feedback • Algorithm (control functions) to increase or decrease the load (through window or rate) • A scheme (binary feedback) may use different algorithms • Comparison using performance metrics (later!) • Key point: • a simple additive increase and multiplicative decrease algorithm is more efficient and farer than alternatives Network performance and load Point of Congestion Point of Congestion • Cliff: point at which packets start getting lost if there is an increase in load. Throughput falls off rapidly after this point • Knee is the point after which increase in throughput is small but there is a large increase in resulting response time. • congestion avoidance: allows the network to operate at the knee • congestion control: tries to keep the network operating in the zone to the left of the cliff Why the network load oscillates around the knee? • A properly designed congestion avoidance scheme will ensure that: • users are encouraged to increase their traffic as long as this does not significantly affect the response time • and are required to decrease if that happens Congestion avoidance using Binary Feedback Scheme • Resources in network monitor usage • determine if they are loaded below or above an optimal load level • From resource [feedback to the user] • 1 (for overload) or • 0 (if under loaded) • Using congestion experience bit in packet header • User then adjust their load using an increase / decrease algorithm Paper assumptions • Feedback and control loop for all users is Synchronous • all users receive the same feedback and react to it • Does it reflect the real world situation? • Of course not Managing distributed resources • Centralized algorithm o Information (about user demands) flows to the resource managers and the decision of how to allocate the resource is made at the resource [Sanders86] • Decentralized algorithms o o Decisions are made by users while the resources feed information regarding current resource usage [Jaffe81, Gafni82, Mosely84] This paper: o o decentralized decision making algorithms feedback in the form of a binary signal which indicates whether a resource is overload or under loaded Control System Control examples considered o Four examples of linear control o Multiplicative Increase/Multiplicative Decrease o Additive Increase/Additive Decrease o Additive Increase/Multiplicative Decrease o Additive Increase/ Additive Decrease o In o o all cases: Binary feedback Increase rate on good news, decrease on bad news Criteria for evaluation: • Efficiency o Resource usage (allocation X(t)) is close to the knee point o o o Overload (X(t) > Xgoal) Underload (X(t) < Xgoal) Both undesirable and inefficient • Fairness o o Users are partitioned into equivalent classes o according to which resource is their primary bottleneck o to have equal share of the bottleneck resource Users in the same class Criteria for evaluation: • Distributedness o o o Knowledge of the state of the system at clients? Available at resource Too much to be conveyed to individual clients • Convergence o o o o Time taken (To goal state from any starting state) In our case: o o the system does not converge to a steady state but reaches an equilibrium where it oscillates around the optimal state o time to reach this equilibrium state. o size of the oscillations Responsiveness: Smoothness: Convergence is determined by: • Responsiveness (Time to reach equilibrium) • Smoothness (size of oscillations around the optimal state) Vector Representation of the Dynamics • At Efficiency line: x1 +x2 = Xgoal • At fairness line: x1 = x2 Both lines intersect at optimal point Goal is to bring system to this point regardless of the starting state Example of Additive Increase/ Multiplicative Decrease Function • X0 below efficiency line • both users increase to x1 • X1 above the line • both decrease multiplicatively • Fairness increasing slightly at every cycle • Eventually system oscillates around the goal Additive Increase/Additive decrease does not converge • Not all control policies converge • This system converges to efficiency but not fairness Paper limitations • Real world systems are asynchronous (paper assumes synchronous) • Delayed feedback (real world systems can have varying delay) • Does not address increased bits of feedback (only one) • Guess the current number of users n Conclusion • Examined the user increase/decrease policies under the constraint of binary signal feedback • Formulated a set of conditions that any increase/decrease policy should satisfy to ensure convergence to efficiency and fair state in a distributed manner o The decrease must be multiplicative to ensure that at every step the fairness either increases or stays the same • Showed that AIMD is the optimal policy for convergence to fairness
© Copyright 2026 Paperzz