From: Eddie Kohler <kohler@cs.ucla.edu>
To: dccp@vger.kernel.org
Subject: Re: [PATCH 2/25]: Avoid accumulation of large send credit
Date: Fri, 13 Apr 2007 23:43:40 +0000 [thread overview]
Message-ID: <462015AC.10909@cs.ucla.edu> (raw)
In-Reply-To: <200703211844.12007@strip-the-willow>
Hi David,
This might work, but I'd need to work it through.
The fact is that ALL TCP-like algorithms have rates that are inversely
proportional to the RTT. But in TCP and windowed protocols this happens
naturally due to ack clocking. In CCID3, there's no ack clocking. Acks
arrive much more seldom -- down to once per RTT, rather than once per 2
packets. Thus the RTT measurement is EXPLICITLY fed in to the throughput
equation. In TCP the RTT measurement mostly just feeds in to the RTO, which
is why the protocol's behavior is less sensitive to the measurement.
DCCP *MIGHT* work just fine with the inflated RTT measurements (i.e. the RTT
including IP processing) but there is yet another gerrit missive to work
through to see how real that complaint is.
A less aggressive version of "turn off RTT for LANs" would be simply to
subtract an estimate of the IP<->card path's cost from the measured coarse
RTT. This would fix the problem. If you used a stable minimum estimate, the
RTT would naturally "inflate" when the host was busy, which as Ian points out
is what we actually want. How to obtain an estimate? Probably anything would
do, including something derived at boot time from BogoMIPS.
-*-
As for coarse-grained timers, does DCCP CCID3 *only* send packets at timer
granularity? This would differ from TCP which sends packets as acks arrive.
It should be relatively easy in CCID3 to likewise try to send packets as acks
arrive. There are fewer acks, of course, but still on LANs where RTT <<
timer_granularity this would reduce burstiness. (All assuming CCID3 doesn't
do this already.)
Eddie
David Miller wrote:
> From: Eddie Kohler <kohler@cs.ucla.edu>
> Date: Fri, 13 Apr 2007 13:37:57 -0700
>
>> Gerrit. I know the implementation is broken for high rates. But you are
>> saying that it is impossible to implement CCID3 congestion control at high
>> rates. I am not convinced. Among other things, CCID3's t_gran section gives
>> the implementation EXACTLY the flexibility required to smoothly transition
>> from a purely rate-based, packet-at-a-time sending algorithm to a hybrid
>> algorithm where periodic bursts provide a rate that is on average X.
>>
>> Your examples repeatedly demonstrate that the current implementation is
>> broken. Cool.
>>
>> If you were to just say this was an interim fix it would be easier, but I'd
>> still be confused, since fixing tihs issue does not seem hard. Just limit the
>> accumulated send credit to something greater than 0, such as the RTT.
>
> Eddie, this is an interesting idea, but would you be amicable to the
> suggestion I made in another email? Basically if RTT is extremely
> low, don't do any of this limiting.
>
> What sense is there to doing any of this for very low RTTs? It is
> a very honest question.
>
> If we hit some congestion in a switch on the local network, responding
> to that signal is pointless because the congestion event will pass
> before we even get the feedback showing us that there was congestion
> in the first place.
> -
> To unsubscribe from this list: send the line "unsubscribe dccp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2007-04-13 23:43 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-21 18:44 [PATCH 2/25]: Avoid accumulation of large send credit Gerrit Renker
2007-03-26 2:33 ` Ian McDonald
2007-04-10 17:24 ` Eddie Kohler
2007-04-11 14:50 ` Gerrit Renker
2007-04-11 15:43 ` Eddie Kohler
2007-04-11 22:45 ` Ian McDonald
2007-04-12 11:40 ` Gerrit Renker
2007-04-12 12:55 ` Gerrit Renker
2007-04-12 14:39 ` Eddie Kohler
2007-04-13 18:27 ` Gerrit Renker
2007-04-13 20:37 ` Eddie Kohler
2007-04-13 20:58 ` David Miller
2007-04-13 21:45 ` Ian McDonald
2007-04-13 23:43 ` Eddie Kohler [this message]
2007-04-14 5:51 ` Eddie Kohler
2007-04-15 15:44 ` Gerrit Renker
2007-04-15 15:56 ` Gerrit Renker
2007-04-15 16:23 ` Gerrit Renker
2007-04-15 16:41 ` Gerrit Renker
2007-04-18 16:16 ` [dccp] " Colin Perkins
2007-04-18 16:48 ` Lars Eggert
2007-04-18 18:32 ` vlad.gm
2007-04-18 18:34 ` vlad.gm
2007-04-20 9:45 ` Gerrit Renker
2007-04-20 10:20 ` Ian McDonald
2007-04-20 10:56 ` Colin Perkins
2007-04-20 11:31 ` Gerrit Renker
2007-04-24 22:50 ` Colin Perkins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=462015AC.10909@cs.ucla.edu \
--to=kohler@cs.ucla.edu \
--cc=dccp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.