1 / 27

Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks

CS7701: Research Seminar on Networking http://arl.wustl.edu/~jst/cse/770/. Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks. Paper by: Dah-Ming Chiu (Digital Equipment Corporation) Raj Jain (Digital Equipment Corporation) Published in:

bruno
Download Presentation

Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks

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. CS7701: Research Seminar on Networking http://arl.wustl.edu/~jst/cse/770/ Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks Paper by: Dah-Ming Chiu (Digital Equipment Corporation) Raj Jain (Digital Equipment Corporation) Published in: Computer Networks and ISDN Systems (1989) Presented by: Max Podlesny Discussion Leader: Michela Becchi

  2. Outline • Problem • Linear Controls • Optimizing the Control Schemes • Nonlinear Controls • Conclusion

  3. Problem • Mismatch of arrival and service rates • Increased queuing in a buffer of a router • Packet drops • Does TCP congestion control scheme have a theoretical basis?

  4. What is congestion?

  5. Criteria for selecting controls • Distributedness • Efficiency • Fairness • Convergence

  6. Control system model • n users share the resource • Time is divided into small slots • The i-th user’s load is xi(t)at time slot t

  7. Control system model • The total load at the bottleneck resource is  xi(t) • The state of the system is characterized by x(t)={x1(t), x2(t), …, xn(t)} • Xgoal is the desired load level

  8. Control system model • Users receive the same feedback • Users receive feedback at the same time

  9. Control system model • Binary feedback y(t), • xi(t+1) = xi(t) + f(xi(t), y(t))

  10. Control system model User 1 x1 x2 xi > Xgoal? User 2  xn User n y

  11. Control functions • MIMD (Multiple Increase/Multiple Decrease) • bI> 1, 0 < bD,< 1 • AIAD (Additive Increase/Additive Decrease) • aI > 0, aD,< 0

  12. Control functions • AIMD (Additive Increase/Multiple Decrease) • aI > 0, 0 < bD,< 1 • MIAD (Multiple Increase/Additive Decrease) • bI > 0, aD,< 0

  13. Distributedness • System does the minimum amount of feedback • The following information is assumed to be unknown: • The desired load level • The number of users sharing the resource

  14. Efficiency • X(t) > Xgoal or X(t) < Xgoal are considered to be inefficient

  15. Fairness • 1/n<=F(x)<=1 • Independent of scale(unit measurement) • A continuous function • Equal sharing by k users of n users, k-n users do not receive any resource, F(x)=k/n

  16. Convergence • Time taken till the system approaches the goal state from any starting state • Characterized by: • Responsiveness • Smoothness • Tradeoff between responsiveness and smoothness

  17. Vector representation • 2 users, so n=2 • x0={x10,x20} • The fairness at any point (x1,x2) is equal to Fairness Line x0 User 2’s allocation Efficiency Line User 1’s allocation

  18. AIAD Fairness Line User 2’s allocation x0 x2 Efficiency Line User 1’s allocation x1

  19. AIMD x1 Fairness Line User 2’s allocation x0 x2 x2 Efficiency Line User 1’s allocation x1

  20. How to find control function? • Convergence to efficiency • The principle of negative feedback: • if y(t) = 0 then xi(t+1) >  xi(t) • if y(t) = 1 then xi(t+1) <  xi(t) • Convergence to fairness • F(x(t))  1 as t , so: F(x(t+1)) = F(x(t)) + (1-F(x(t)))  (1-  xi2(t) /  (c+xi(t))2), where c = a/b • Distributedness • if y(t) = 0 then xi(t+1) > xi(t) i • if y(t) = 1 then xi(t+1) < xi(t) i

  21. Requirements for control function • The linear increase policy should have an additive component, and optionally, a multiplicative component • aI> 0 • bI 1 • The linear decrease policy should be multiplicative • aD= 0 • 0 bD < 1

  22. Optimal Convergence to Efficiency • Given • n states for n users, i.e. xi(t+1) = a + bxi(t), i = 1, 2, …, n. • State of the system X(t) = xi(t) • X(0) - initial state • Xgoal – optimal state • One can calculate • te - responsiveness • se - smoothness • te, se are decreasing functions of a and b

  23. Optimal Convergence to Fairness • F(x(t+1)) – F(x(t)) is a monotonically increasing function of c = a/b • aD= 0, so decrease steps have no affect on Fairness • The optimal value of bI is its minimum value, i.e. bI =1

  24. Linear control conditions • Increase policy should be additive • Decrease policy should be multiplicative Fairness Line x0 x2 Efficiency Line x1

  25. Nonlinear Controls • Control function • A lot of complexity

  26. Conclusion • Best control condition is AIMD within the described model • AIMD is used in TCP congestion control • It is not the case in real networks • MIMD can also be a good decision

  27. Questions?

More Related