Tuesday, September 15, 2009

Congestion Control for High Bandwidth-Delay Product Networks

Summary

This paper presents a new protocol that explicitly tracks the degree of congestion in the network and reacts accordingly. The authors observe that regardless of queuing scheme, TCP becomes oscillatory and prone to instability when facing high delay-bandwith products. Moreover, with current high bandwidth links, TCP "might waste thousands of RTTs ramping up to full utilization following a burst of congestion." The proposed solution is to have routers inform senders about the degree of congestion at the bottleneck.

The protocol adds an additional congestion header containing the current cwnd and rtt values on all outgoing packets. Routers along the path can set a feedback parameter that instructs the sender to change the cwnd size. Each router in the path can override previous feedback with a stricter requirement thus the bottleneck link will dictate the changes. Finally, the receiver must forward this congestion header in the ACK.

The specific feedback values are computed in two steps. First, the "efficiency controller" computes the window size that would use all available link bandwidth. Next, the "fairness controller" allocates this window to individual flows to preserve fairness. This is done using the Additive Increase Multiplicative Decrease algorithm.

The authors evaluate this protocol through a theoretical stability analysis and a simulation based empirical analysis. The results show that XCP significantly out performs TCP in both high bandwidth and high delay environments.

Thoughts

This paper presents a very precise solution for the congestion problem, relying on explicit signals rather than implicit packet drops. This sounds like a great idea that should be put to use. It also solves the problem in wireless networks of determining if packets were dropped due to congestion or interference.

No comments:

Post a Comment