[Iccrg] Re: Appropriate rate given corruption

Shivkumar Kalyanaraman shivkuma at ecse.rpi.edu
Tue Aug 28 23:44:00 BST 2007


Lachlan, Michael,

When we designed LT-TCP, we viewed erasure loss
differently from congestion loss/ECN marks. An erasure loss essentially
reduces the capacity of the link. The process of adding FEC (whether at
the link layer to mask it or transport layer to add reliability) is a
"coding" function. So if the erasure rate of a channel with nominal bit
rate C is p, then the shannon capacity of that erasure channel is C(1-p).

Now think of a network with new links (indexed by j) where the link
capacities are replaced with Cj(1-pj). Kelly's theory can then be applied
to this revised network to define a notion of fairness. The special
case of TCP-friendliness would be the case when  all users
picked the same "TCP-friendly utility function" ...

However the TCP throughput formula could mix up matters.
By adding the aggregate loss rate (erasure + congestion) and using the TCP
formula leads to a significantly lower equilibrium rate for a flow on a
lossy channel -- since one would be mixing the effects of reliability &
congestion.

Fairness seems to be appropriate at the level of congestion control (i.e.
equilibrium rates relative to allowed utility functions). However, a
scheme that offers superior reliability due to better coding (eg: hybrid
ARQ/FEC) should not be considered unfair compared to a scheme that uses
all the same congestion detection/response mechanisms but uses a less
effective reliability strategy (eg: window ARQ/SACK etc).

We view this as a matter of disentangling the effects of congestion
control and reliability. TCP friendliness that includes the effect of
reliability would mean that TCP SACK would be unfriendly to TCP Reno
(just to make the point... granted that there are both congestion
control/reliability differences in these schemes).

best
-Shiv
===
Shivkumar Kalyanaraman
Professor, Dept of ECSE, Rensselaer Polytechnic Institute (RPI)
110, 8th Street, Room JEC 6003, Troy NY 12180-3590
Ph: 518 276 8979   Fax: 518 276 4403
WWW: http://www.ecse.rpi.edu/Homepages/shivkuma
Google: "Shiv RPI"


On Tue, 28 Aug 2007, Lachlan Andrew wrote:

> 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
>
> _______________________________________________
> Iccrg mailing list
> Iccrg at cs.ucl.ac.uk
> http://oakham.cs.ucl.ac.uk/mailman/listinfo/iccrg
>




More information about the Iccrg mailing list