Review - XCP

From: Ivan Hernandez <ivanxx_at_gmail.com>
Date: Mon, 2 Oct 2006 20:57:51 -0400

Review of the paper "Congestion Control for High Bandwidth-Delay
                     Product Networks"
by Ivan Hernández

This paper presents a complete new approach to congestion control
called eXplicit Control Protocol (XCP). The paper states that TCP and
its associated control congestion mechanisms show a bad performance
(and oscillation problems) when the per-flow product of bandwidth and
latency increases. So far, these control mechanisms use a binary
signal to notify the end-user about congestion, this signal is most of
the time drop a packet. The sender has to wait until a timeout has
expired to recognize the lost of the packet, additionally the signal
does not provide information about how to act in consequence,
therefore the sender decreases the window aggressively.

XCP uses precise congestion information, in this way routers
explicitly tell the sender the state of the congestion and how to
react to it. In order to exchange this information, a XCP packet has a
congestion header with the following information congestion window,
rtt estimate, and feedback. The router will use this information to
calculate congestion information and they will modify the feedback
value as necessary. The sender will adapt its congestion window as a
response to the received feedback.

Additionally, XCP separates the congestion control into two
independent components the Efficiency Controller (EC) and the Fairness
Controller (FC). The EC maximizes link utilization and minimize drop
rate and persistent queues. In order to do these, the ECE calculates
the value of the feedback that the network will provide to the
senders, it is important to notice that the EC does not know which
packets will get the feedback, and therefore, which flows will change
their congestion window. On the other hand, the FC will decide what
portion of the feedback will get each individual packet in order to
achieve fairness; when the feedback is to increase, the FC will
increase all the flows the same, but if the feedback is to decrease,
the FC will decrease each flow proportional to its current throughput.

There are several good things about this solution. There is no
significant CPU overhead in routers to process each arriving
packet. The XCP's parameters are constants independent of the
environment, this will allow XCP to perform nice in a variety of
network configurations without the need of fine tuning. The separation
of the mechanism in two controllers allow to modify any of them
without disturb the design of the other one; additionally, modifying
the FC we can provide differentiated bandwidth allocation. This
approach lacks of the well-known TCP's oscillation problem and almost
does not drop any package.

On the other hand, XCP has some important issues. XCP is not backward
compatible and there is not a clear deployment plan. Both of these
properties are really important, if a solution lacks of they, then the
solution is useless.
Received on Mon Oct 02 2006 - 20:58:04 EDT

This archive was generated by hypermail 2.2.0 : Mon Oct 02 2006 - 21:33:02 EDT