Wednesday, January 20, 2010

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

The primary algorithm used for congestion avoidance on implementing TCP in Berkeley is the additive increase / multiplicative decrease algorithm: additively increase a users load if there is no congestion then multiplicatively decrease load if there is timeout (this means there is congestion). The paper shows why the said algorithm is sufficient enough to control congestion in a computer network.

The analysis consists of many users (n users sharing a network), and 4 criteria to evaluate the algorithm namely efficiency, fairness, distributedness and convergence. The paper models the system in linear controls and it shows how the algorithm converges (distributedly/with or without trunctation) to efficiency and fairness. Furthermore, the paper explains that additive increase / multiplicative decrease offers the least the time of convergence to fairness.

I have three more questions in addition to the author's further questions. First, is the study of the algorithm scalable or still feasible on very large number of users? If the numbers of users suddenly increase exponentially, will the system work? Or even if it works, will the time of convergence (to fairness and efficiency) be still optimal? Second, in relation to the asynchronous operation, the connections in some networks such as mobile and wireless networks always come and go. Almost all have small time connections: a user connects, transfer small amount of data, then closes the connection immediately. Does this algorithm will solve the congestion problem? My last question is about outside interference. In wireless networks, there are many interference (eg. interference from other network) that influence the network. Do these interference affect the congestion?

No comments:

Post a Comment