| To: | Injong Rhee <rhee@xxxxxxxxxxxx> |
|---|---|
| Subject: | RE: [RFC] TCP burst control |
| From: | Matt Mathis <mathis@xxxxxxx> |
| Date: | Wed, 7 Jul 2004 11:31:17 -0400 (EDT) |
| Cc: | "'David S. Miller'" <davem@xxxxxxxxxx>, Stephen Hemminger <shemminger@xxxxxxxx>, netdev@xxxxxxxxxxx, rhee@xxxxxxxx, lxu2@xxxxxxxx, John Heffner <jheffner@xxxxxxx>, Jamshid Mahdavi <jmahdavi@xxxxxxxxxxxxx> |
| In-reply-to: | <200407070546.i675kkPf008128@ms-smtp-01-eri0.southeast.rr.com> |
| References: | <200407070546.i675kkPf008128@ms-smtp-01-eri0.southeast.rr.com> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
|
Yes, Injong is correct about the problem with Rate Having. I haven't looked at
his fix to see if I agree with it, but let me summarize the problem that we
never finished (and prevented us from formally publishing it). Basicly if the sender is under fluctuating resource stress such that awnd (the actual window) is frequently less than cwnd (remember this was written BEFORE cwnd validation.) then a loss that is detected when awnd is at a minimum sets cwnd to an unreasonably small value that has nothing to do with the actual state of the network. Since we also set ssthresh down to cwnd, this takes "forever" to recover. The real killer is if the application is periodicly bursty, such as copying from older unbuffered disks or timesharing systems running other compute bound applications (normal for supercomputers). Under these conditions TCP suffers from frequent idle intervals, each restarting with a full window burst (pre-cwnd validation!). If the burst was just slightly larger than the network pipe size, then the packets at the end of the burst are most at risk of being dropped. When the ACKs for subsequent packets arrive and the loss is detected, awnd will be nearly zero, resulting in nearly zero cwnd and ssthresh...... We were in the heat of investigating solutions to this and other related problems (there are multiple potential solutions), when we realized that autotuning is orders of magnitude more important (at least to our users). As the code points out there are other corner cases that we missed, such as reordering and such. In principle I would like to come back to congestion control work, revisit FACK-RH and fold in all of the new stuff such as cwnd validation and window moderation. (BTW I would not be surprised if these algorithms don't play nicely with rate halving - each was designed and tested without considering the effects of the others). Thanks, --MM-- ------------------------------------------- Matt Mathis http://www.psc.edu/~mathis Work:412.268.3319 Home/Cell:412.654.7529 ------------------------------------------- Evil is defined by mortals who think they know "The Truth" and forcibly apply it to others. On Wed, 7 Jul 2004, Injong Rhee wrote:
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] fix compiler warnings in mv64340_eth, Christoph Hellwig |
|---|---|
| Next by Date: | Re: bk16 changes to cbq, Alexey Kuznetsov |
| Previous by Thread: | RE: [RFC] TCP burst control, Injong Rhee |
| Next by Thread: | RE: [RFC] TCP burst control, Injong Rhee |
| Indexes: | [Date] [Thread] [Top] [All Lists] |