Subject: Re: FW: ssthressh

From: Janardhan Iyengar <[email-masked]>
Date: Fri, 15 Jul 2005 13:18:21 -0400 (EDT)

Brian,

I think you are missing Randall's and Mark's point. There are two ways in 
which you could maintain cwnds when doing CMT:

(i) use a single cwnd across all destination, OR
(ii) use multiple cwnds, one for each destination.

* If the paths between a sender and a receiver have a shared bottleneck 
link, the sender SHOULD maintain a single cwnd across all destinations, so 
that the aggregate CMT flow gets only a fair share of the bottleneck 
bandwidth. If the sender maintains several (say n) cwnds in the face of a 
shared bottleneck, the sender is stuck being unfair - the flow get n times 
the fair share. This is almost the same as using multiple TCP connections 
to download a single file (almost because with CMT, the RTTs may be 
different).

Try a simple experiment downloading a large file in a single TCP 
connection, then again with multiple TCP connections downloading different 
parts of the same file in parallel. Multiple connections do better, partly 
because they get an unfair share of the bottleneck bandwidth. Mark's 
mention of "much literature" was with regard to this general point, not 
about a comparison of CMT using SCTP against TCP. From the network's 
perspective, CMT with multiple cwnds in the presence of a shared 
bottleneck behaves as parallel TCP connections do.

* If the paths between a sender and a receiver have separate bottleneck 
links, the sender would like to maintain multiple cwnds - one for each 
destination to maximize throughput that the CMT flow would get. Each cwnd 
would try to track available bandwidth to the corresponding destination. 
The sender could choose to use a single cwnd in this situation, but then 
could face severe throughput degradation due to "false sharing" - when one 
cwnd is used to track two bottlenecks, the resultant send rate will be 
limited by the lesser of the two bottleneck bandwidths. For more detail on 
"false sharing", see
http://www-2.cs.cmu.edu/~aditya/papers/ccr-sharing.pdf
OR
http://www-2.cs.cmu.edu/~aditya/papers/icnp03.pdf

A major question in CMT is how does a sender decide whether to use a 
single or multiple cwnds.

If your algo is able to bypass this problem, you may just have nailed the 
problem of shared bottleneck detection with a window-based sender using 
very simple methods. But I do not think that is the case. Let me know if 
you think otherwise.

regards,
jana

On Tue, 12 Jul 2005, Brian F. G. Bidulock wrote:

> Mark,
>
> I was looking for the many papers written on the subject of how
> CMT SCTP is unfair to TCP through bottlenecks.
>
> I take it they do not exist.
>
> --brian
>
> On Tue, 12 Jul 2005, Mark Allman wrote:
>
>>
>>> Well, that's hardly "much literature".
>>
>> I gave you an example.  You can, for instance, look at many of my papers
>> for fairness results.  Many, many papers (by plenty of authors) on
>> congestion control do fairness comparisons and end up illustrating
>> generic congestion control fairness as a matter of course, but not as
>> the real result of interest in the paper (e.g., the paper I cited had
>> nothing to do with the case we're discussing -- it just happened to show
>> stock TCP fairness as part of the scientific process).  However, I have
>> absorbed a fair amount of congestion control literature and know that
>> this fairness result has been arrived at by a broad range of authors and
>> in a range of studies.
>>
>>> RFC2960 congestion control is actually more conservative than TCP
>>> (even TCP+SACK), so I don't think that there is a comparison there.
>>
>> RFC2960 is meant to be quite similar to TCP.  I have seen results that
>> show it more and less aggressive than TCP.  But, it's meant to be
>> roughly the same and I have seen nothing that shows this intent to have
>> turned out drastically wrong.
>>
>> allman
>>
>>
>>
>
>
>
> -- 
> Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
> [email-masked]    ¦ world; the unreasonable one persists in  ¦
> http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
>                        ¦ Therefore  all  progress  depends on the ¦
>                        ¦ unreasonable man. -- George Bernard Shaw ¦
>

---------------------------------------------------------------
Janardhan R. Iyengar           http://www.cis.udel.edu/~iyengar
Protocol Engineering Lab  --   CIS   --  University Of Delaware
---------------------------------------------------------------