chiu_jain.increase_decrease_analysis


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

Dah-Ming Chiu and Raj Jain, Digital Equipment Corporation, 1989

Summary. The key component in a congestion avoidance algorithm is the control formula for increasing or decreasing the user load (window or rate). For both increasing and decreasing, the control formula can include an additive component, a multiplicative component or both. This paper shows that the optimal control formula uses additive increase and multiplicative decrease.


More Detail

The control formula can be judged based on the following:

They begin by describing the optimal load: the load at which throughput.is big and delay is small. When graphed as (throughput,delay), this is the knee. At loads greater than the knee, a small increase in throughput results in a large increase in delay as queues build up. The point at which packets are lost is called the cliff.

Their model has 2 sources. The feedback & control loop is synchronous for all users (meaning that all receive feedback simultaneously and adjust their loads simultaneously). The use a vector representation of loads. The axes are the two sources' allocations. The efficiency line is the line x+y = C. The fairness line is the line x=y. The optimal point is where the fairness line and the efficiency line intersect. An equifairness line is any 45-degree line parallel to the fairness line as all points on it are equally fair. The underload region is below the efficiency line. The overload region is above the efficiency line. Multiplicative changes move along the line between the current point and the origin. Additive changes move along the equifairness line through the current point.

Immediately, we can see that an additive increase/ multiplicative decrease coveerges to the optimal point. +/+ can converge to efficiency line but cannot converge to optimal point as the fairness never improves.

The analysis is based on these control coefficients:

Convergence to Efficiency..For a control condition to be feasible, it must adhere to the Principle of negative feedback: make sure that the system reacts correctly to feedback. In other words, if we receive feedback saying the network is congested, the controls should decrease the load and vice-versa.

Convergence to Fairness. We can ensure non-decrease of fairness locally by ensuring that a/b >= 0. Therefore, the two cannot be of different signs so it follows that they must all be positive. So, to converge to fairness we have the following set of conditions (10):

Distributedness. The conditions above for converging to fairness are.already distributed since they require no state information so we'll build upon them. We must now try to satisfy the negative feedback requirement. This leads us to the following conditions (12):

Truncation: use (10) but take max of current and X(t(i+1)) if increasing,.min if decreasing. With trucation, have a set of conditions weaker than 12 but stronger than 10. Based on these conditions:

Vectorial representation of the feasability conditions. From .awesome graphs in the paper, we see that for a point in the overloaded area, if we take the intersection of the region where we are guaranteed greater efficiency and the region where we are guaranteed greater or equal fairness, the only options are along the vector going through the point to the origin -- multiplicative decrease.

Likewise for the vectorial representation of the feasibility conditions for increase, the intersection of the areas for greater efficiency and fairness is the 45 degree line through the point -- additive increase.

Note that there is a tradeoff between increasing responsiveness and increasing smoothness.

Optimal convergence to fairness. Through analysis, the multiplicative component in the increase policy falls out. This leads us to:

Nonlinear controls. Their +/* control policy works on an example.that they give and nonlinear controls are more flexible in trying to achive fairness, but they say that nonlinear controls usually depend on system parameters. For this reason, they would be difficult to configure and would require human intervention.