280 likes | 417 Views
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:
E N D
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
Outline • Problem • Linear Controls • Optimizing the Control Schemes • Nonlinear Controls • Conclusion
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?
Criteria for selecting controls • Distributedness • Efficiency • Fairness • Convergence
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
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
Control system model • Users receive the same feedback • Users receive feedback at the same time
Control system model • Binary feedback y(t), • xi(t+1) = xi(t) + f(xi(t), y(t))
Control system model User 1 x1 x2 xi > Xgoal? User 2 xn User n y
Control functions • MIMD (Multiple Increase/Multiple Decrease) • bI> 1, 0 < bD,< 1 • AIAD (Additive Increase/Additive Decrease) • aI > 0, aD,< 0
Control functions • AIMD (Additive Increase/Multiple Decrease) • aI > 0, 0 < bD,< 1 • MIAD (Multiple Increase/Additive Decrease) • bI > 0, aD,< 0
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
Efficiency • X(t) > Xgoal or X(t) < Xgoal are considered to be inefficient
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
Convergence • Time taken till the system approaches the goal state from any starting state • Characterized by: • Responsiveness • Smoothness • Tradeoff between responsiveness and smoothness
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
AIAD Fairness Line User 2’s allocation x0 x2 Efficiency Line User 1’s allocation x1
AIMD x1 Fairness Line User 2’s allocation x0 x2 x2 Efficiency Line User 1’s allocation x1
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
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
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
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
Linear control conditions • Increase policy should be additive • Decrease policy should be multiplicative Fairness Line x0 x2 Efficiency Line x1
Nonlinear Controls • Control function • A lot of complexity
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