[e2e] Is a control theoretic approach sound?
biazsaa at eng.auburn.edu
Mon Jul 28 13:47:25 PDT 2003
I wonder if the control theoretic approach to congestion
control is not fundamentally flawed for best-effort networks (no flow
based fair queueing).
Recently, FAST TCP received some attention as a very efficient transport
protocol. FAST TCP is based (like TCP-Vegas) on the idea that a sender
will get some response from the network when the sender varies
its congestion window size or rate (his load). This response is in general
a variation of some "congestion measure".
This idea is valid if the actions (increase or decrease the load on the
network) of ONE sender strongly impact the variations of the "congestion
measure" of the network.
This idea seems wrong if all (TCP) senders impose similar loads on the
Consider the following analogy: let a cart being pulled by 50 mice.
Suppose that you have no idea about the weight of the cart or the
friction forces due to the road. A control theorist designer
plans to design a distributed cruise control on each mouse where each
mouse reads its speed at non synchronized times and decides to pull
harder and to let go.
The idea of this cruise controller could be the following: observe
the variation of speed as a result of the previous action of the mouse
(pull harder or let go), and decide to pull harder or slow
down: this is what TCP Vegas or FAST TCP do....
The problem with this approach is that the variation in speed is the
result of the actions of all mice, not the action any particular mouse.
It is very unlikely that the system will get to a nice steady state around
a target speed. In other words, the response is independent from the
action of one individual mouse. This explains why the TCP-Vegas new
congestion contrl scheme has no impact in the observed improved
performance (TCP-Vegas revisited by Hengartner et al.). Hengartner showed
that the congestion control avoidance algorithm of TCP vegas had no impact
on TCP-Vegas improvment (some results even show a slight negative impact
Now, suppose that you put an elephant with 50 mice. I bet that designing
the cruise control for the elephant will be quite easy to achieve even if
the mice decide from time to time to go get a nap on the cart: actions of
the elephant have a strong impact. When FAST TCP is with mice, it will
certainly be very efficient and stable.... But how about if ten elephants
join to pull the cart: the actions of a particular elephant do not have
anymore a strong impact on the speed variations...
Are there measurements about multiple FAST TCP sharing a unique
bottleneck? If FAST TCP still stable under these conditions? Is it still
performant as well?
It seems that TCP-Vegas and FAST TCP are fundamentally flawed in this
Recall that Keshav's control theoretical approach is based on the fact
that there is a round robin packet scheduling at the routers. In this
case, the actions of one sender have consequences directly targetted to
Any feedback will be most appreciated. Is there something I am missing?
More information about the end2end-interest