Analysis of the Increase and Decrease Algorithms for Congestion

Analysis of the Increase and Decrease
Algorithms for Congestion Avoidance in
Computer Networks
Dah-Ming Chiu and Raj Jain
Presented by Yao Zhao
Motivation (1)
• Internet is heterogeneous
– Different bandwidth of links
– Different load from users
• Congestion control
– Help improve performance after congestion
has occurred
• Congestion avoidance
– Keep the network operating off the congestion
Motivation (2)
• Fig. 1. Network performance as a function of the load.
Broken curves indicate performance with deterministic
service and interarrival times
Relate Works
• Centralized algorithm
– Information flows to the resource managers and the
decision of how to allocate the resource is made at
the resource [Sanders86]
• Decentralized algorithms
– Decisions are made by users while the resources
feed information regarding current resource usage
[Jaffe81, Gafni82, Mosely84]
• Binary feedback signal and linear control
• Synchronized model
• What are all the possible solutions that converge to efficient
and fair states
Control System
xi (t  1)  xi (t )  f i ( xi (t ), yi (t ))
Linear Control (1)
•
 aI  bI xi (t ) if y(t )  0  Increase ,
xi (t  1)  
aD  bD xi (t ) if y(t )  1  Decrease
• 4 examples of linear control functions
– Multiplicative Increase/Multiplicative Decrease
– Additive Increase/Additive Decrease
– Additive Increase/Multiplicative Decrease
– Additive Increase/ Additive Decrease
Linear Control (2)
• Multiplicative Increase/Multiplicative
Decrease
bI xi (t ) if y(t )  0  Increase,
xi (t  1)  
bD xi (t ) if y(t )  1  Decrease
• Additive Increase/Additive Decrease
 aI  xi (t ) if y(t )  0  Increase ,
xi (t  1)  
aD  xi (t ) if y(t )  1  Decrease
• Additive Increase/Multiplicative Decrease
a  xi (t ) if y(t )  0  Increase,
xi (t  1)   I
 bD xi (t ) if y(t )  1  Decrease
• Multiplicative Increase/ Additive Decrease
bI xi (t ) if y(t )  0  Increase ,
xi (t  1)  
aD  xi (t ) if y(t )  1  Decrease
Criteria for Selecting Controls
• Efficiency
– Closeness of the total load on the resource to the
knee point
• Fairness
– Users have the equal share of bandwidth
2
– Fairness  ( xi )
n( xi )
2
• Distributedness
– Knowledge of the state of the system
• Convergence
– The speed with which the system approaches the
goal state from any starting state
Responsiveness and Smoothness
of Binary Feedback System
• Equlibrium with oscillates around the
optimal state
Vector Representation of the Dynamics
( x1  x2 ) 2
Fairness 
2
2
2( x1  x2 )
Example of Multiplicative Increase/
Multiplicative Decrease Function
Example of Additive Increase/
Multiplicative Decrease Function
Convergence to Efficiency
• Negative feedback
–
y (t )  0   xi (t  1)  xi (t ),
y(t )  1   xi (t  1)  xi (t ).
– So
naI  (bI  1) xi (t )  0 n and  xi (t ),
naD  (bD  1) xi (t )  0 n and  xi (t ).
– Or
naI
,
 xi (t )
naD
bD  1 
 xi (t )
bI  1 
Convergence to Fairness (1)
where c=a/b
(6)
c>0
Convergence to Fairness (2)
• c>0 implies:
–
aI
aD
 0 and
0
bI
bD
(8)
or
aI
a
 0 and D  0
bI
bD
(9)
• Furthermore, combined with (3) we have:
–
aI  0, bI  0,
aD  0, 0  bD  1
(10)
Distributedness
• Having no knowledge other than the
feedback y(t)
• Each user tries to satisfy the negative
feedback condition by itself
1) xxii((tt)10) xxii((tt)) 
i0,,
– ayI(t) (bI0
(11)
ayD(
t )(bD1 
 1)xii (t )1)0xxi (it()t )i.0.
– Implies (10) to be
aI  0, bI  1,
aD  0, 0  bD  1
(12)
Truncated Case
•
•
Important Results
• Proposition 1: In order to satisfy the
requirements of distributed convergence to
efficiency and fairness without truncation, the
linear increase policy should always have an
additive component, and optionally it may have
a multiplicative component with the coefficient
no less than one.
• Proposition 2: For the linear controls with
truncation, the increase and decrease policies
can each have both additive and multiplicative
components, satisfying the constrains in
Equations (16)
Vectorial Representation of
Feasible conditions
Optimizing the Control Schemes
• Optimal convergence to Efficiency
– Tradeoff of time to convergent to efficiency te,
with the oscillation size, se.
• Optimal convergence to Fairness
Optimal convergence to Efficiency
•
• Given initial state X(0), the time to reach Xgoal is:
Optimal convergence to Fairness
• Equation (7) shows faireness function is monotonically
increasing function of c=a/b.
• So larger values of a and smaller values b give quicker
convergence to fairness.
• In strict linear control, aD=0 => fairness remains the
same at every decrease step
• For increase, smaller bI results in quicker convergence to
fairness => bI =1 to get the quickest convergence to
fairness
• Proposition 3: For both feasibility and optimal
convergence to fairness, the increase policy should be
additive and the decrease policy should be multiplicative.
Practical Considerations
•
•
•
•
•
Non-linear controls
Delay feedback
Utility of increased bits of feedback
Guess the current number of users n
Impact of asynchronous operation
Conclusion
• We examined the user increase/decrease policies under
the constrain of binary signal feedback
• We formulated a set of conditions that any
increase/decrease policy should satisfy to ensure
convergence to efficiency and fair state in a distributed
manner
– We show the decrease must be multiplicative to ensure that at
every step the fairness either increases or stays the same
– We explain the conditions using a vector representation
• We show that additive increase with multiplicative
decrease is the optimal policy for convergence to
fairness