[Iccrg] Re: Appropriate rate given corruption

Lachlan Andrew lachlan.andrew at gmail.com
Tue Aug 28 19:46:58 BST 2007


Greetings Michael,

Good.  It seems we're coming to a common understanding.  I'll try to
be more explicit about the assumptions...

Next I claim that:

5. If we use a "tcp friendly" flow control without unnecessary
saw-tooth oscillation (like TFRC) then  p_i = 0  if the link isn't
overloaded (sum of rates < capacity), and  p_i  increases as the
amount of overload increases.

6. Define  U(x) = -(K^2)/x  as a "utility function".    Then  the
response function of TCP is
    D(p) = K/sqrt(p) =  (U')^{-1}(x),
namely the inverse of the derivative of the utility.  (As an aside, if
 x  is the receive rate, this is proportional to how long it takes to
download a file of a given size, and negated since we get more benefit
from shorter download times.)

Combining 1, 2, 5 and 6 gives

7. TFRC solves Kelly's "utility maximization" problem, with the above
utility function, if "utility" is assumed to be derived from the
send   rate, rather than the    receive    rate.

For reference, that utility maximization problem is
    max sum_i U(x_i)    over all rates  x_i  for each flow  i
subject to
    R x <= c
where
   x=(x_i)  is a vector of rates (one per flow)
   c=(c_l) is a vector of capacities (one per link)
   R=(r_{il})  is a "routing matrix", where  r_{il}  is the amount of
traffic flowing over link  l  for each unit of traffic in flow  i.
Without any loss,  r_{il} = 1 if the link is on the path, or 0
otherwise.  If there is loss upstream, then  r_{il}  will be slightly
less than 1 if the link is on the path, but for a givne amount of
loss, there will still be a well-defined "r_{il}" value.

Unless you're familiar with the Kelly/Low framework, it isn't
"obvious" that  7.  is true.  However, checking  Low and Lapsely '99
shows that  6.  is the basic relation that has to hold.

Do you accept all (any :)  of these claims?

Cheers,
Lachlan


For reference, the things we agreed on were:

1. TCP responds with a rate approximately   K/sqrt(p)  where  K  is a
constant dependent on such things as RTT and packet size,  and  p  is
the total loss probability

2. On a path with multiple bottlenecks, with loss rates  p_i,  the
total loss rate is approximately (and not more than) the sum of the p_i.

3. As a result, TCP gives at least the same rate to multi-hop flows
than a hypothetical scheme which gave a rate  K/sqrt(sum p_i) <=
K/sqrt(p)

4. Consider a network only one link  l_0 which
corrupts packets, which transmits fraction  r  of the packets it
receives.  Then each received packet on a flow traversing  l_0
creates as much additional congestion as a flow in a modified network
such that
  (a) there is no loss
  (b) each link  l_i  upstream of  l_0  is replaced by "1/r" links,
each with the same amount of congestion as  l_i  had in the original
network.


-- 
Lachlan Andrew  Dept of Computer Science, Caltech
1200 E California Blvd, Mail Code 256-80, Pasadena CA 91125, USA
Phone: +1 (626) 395-8820    Fax: +1 (626) 568-3603



More information about the Iccrg mailing list