First page Back Continue Last page Overview Text

Notes:


Now we know how UDT increases its sending rate. Let's now check how it decrease its sending rate. Because UDT uses packet loss as the indication of network congestion, it is very important to carefully deal with these packet losses.

There are three special situations to deal with. The first one is the loss synchronization. Once the congestion occurs, all flows may experience packet loss at the same time, therefore they will decrease the sending rate at the same time and then start to increase at the same time. As a consequence, the aggregate throughput has much larger oscillations than the individual flow.

The second situation is those packet losses not caused by network congestion.

We can use a randomization method to remove the loss synchronization. In this figure each dot is a loss event, and the red dot represents the first loss event in a congestion (there can be multiple loss events during one congestion). Suppose the number of loss events in one congestion is M, then we choose a random number between 1 and M, say N. Then every N packets, the sending rate is decreased by 1/9.

To address the non-congestion loss problem, the sending rate is not decreased for the first loss. So if it is a non-congestion loss, then it will not affect UDT. If it is due to congestion, further loss will come if the sending rate is not decreased.

The third situation is packet reordering. To deal with this situation, the loss report can be delayed to check more incoming packets. The length of this delay can be determined by historical data.