Tag Archives: AIMD

On adding, decreasing and congestion

The paper by Chiu and Jain looks at the problem of congestion avoidance. The paper begins by illustrating the  relationship of network load to both response time and throughput. In this illustration, Chiu and Jain clearly identify the operating regions of concern namely the cliff and the knee point which are important to understanding, preventing and managing congestion. The cliff can be viewed as the point where any further increases in load would have a negative impact on throughput. This is also accompanied by the increase in response time of the network. The knee point on the other hand is the moment were gains in throughput start to taper off as compared to the increase in delay. This can viewed as the  point where performance gradually starts to degrade thus making the knee point the ideal region where the control function must operate in. With this as backdrop, several algorithms were analyzed using efficiency, fairness, distributedness and convergence as metrics. Their analysis show that the decrease policy should be multiplicative.

The paper  mentioned four items for future considerations which I would like to comment on but I will limit it to only the first two items. The first one involves the effects of delayed feedback. For some systems, this might be a problem especially in networks that transport both data and control packets in the same channel. Interestingly for TCP, delayed or even loss ACK packets is feedback in itself. Depending on the current state, TCP is able to adjust its send/congestion window in response to this implicit feedback. Given this environment, the use of the absence of feedback actually fits in nicely as part of the control function of TCP. The second item is about the question of utility of additional bits to carry more information instead of the binary model. Surmising on the matter, I also agree in its role in potentially minimizing the oscillations and thus increasing convergence time. However I also think that like TCP, more feedback information would not necessarily require more “bits”. As a final comment on the paper, I would like to look at the assumption that users would be cooperative or can react to the feedback information. We know that this is not the case for UDP. I would have been curious on how they would have simulated (in the related work) this dynamic given that some sources or users do not react to the feedback information and continue to send data. In terms of fairness, I would assume that UDP would be able  to take advantage of the fact that TCP sessions are throttling back and therefore the service will become unfair to those cooperating users.