Presentation is loading. Please wait.

Presentation is loading. Please wait.

Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Portions of the slide/figures were adapted from :

Similar presentations


Presentation on theme: "Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Portions of the slide/figures were adapted from :"— Presentation transcript:

1 Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Portions of the slide/figures were adapted from : http://cs.northwestern.edu/~akuzma/classes/CS495-s06/ Slides originally prepared by: Umair Haroon

2 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.

3 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

4 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 Network performance and load Point of Congestion

5 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

6 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

7 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

8 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 Decisions are made by users while the resources feed information regarding current resource usage [Jaffe81, Gafni82, Mosely84] o This paper: o decentralized decision making algorithms o feedback in the form of a binary signal which indicates whether a resource is overload or under loaded

9 Control System

10 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 all cases: o Binary feedback o Increase rate on good news, decrease on bad news

11 Criteria for evaluation: Efficiency o Resource usage (allocation X(t)) is close to the knee point o Overload (X(t) > X goal ) o Underload (X(t) < X goal ) o Both undesirable and inefficient Fairness o Users are partitioned into equivalent classes o according to which resource is their primary bottleneck o Users in the same class o to have equal share of the bottleneck resource

12 Distributedness o Knowledge of the state of the system at clients? o Available at resource o Too much to be conveyed to individual clients Convergence o Time taken (To goal state from any starting state) o In our case: o the system does not converge to a steady state but o reaches an equilibrium where it oscillates around the optimal state o Responsiveness: o time to reach this equilibrium state. o Smoothness: o size of the oscillations Criteria for evaluation:

13 Convergence is determined by: Responsiveness (Time to reach equilibrium) Smoothness (size of oscillations around the optimal state)

14 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

15 Example of Additive Increase/ Multiplicative Decrease Function X 0 below efficiency line both users increase to x1 X 1 above the line both decrease multiplicatively Fairness increasing slightly at every cycle Eventually system oscillates around the goal

16 Additive Increase/Additive decrease does not converge Not all control policies converge This system converges to efficiency but not fairness

17 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

18 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


Download ppt "Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Portions of the slide/figures were adapted from :"

Similar presentations


Ads by Google