From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
To: dccp@vger.kernel.org
Subject: Re: RTT measurement, CCID3 implementability
Date: Tue, 17 Apr 2007 11:07:40 +0000 [thread overview]
Message-ID: <200704171207.40680@strip-the-willow> (raw)
In-Reply-To: <46229A62.9010805@cs.ucla.edu>
| - The DCCP specification does not require RTT measurements on every packet
| exchange.
|
| - It should be possible to use coarse grained timestamps (even jiffies) for
| most packets, with finer grained timestamps used on occasion, to improve the
| current estimate; for example, getting the time of day once per RTT.
This is not easily possible without at the same time revising the spec. If you e.g.
allow jiffie-based round-trip times, then you will need to set the minimum RTT value
to 1 jiffie, since otherwise divide-by-zero will be likely.
A further complication of jiffies is that the algorithm will have to work even when
some unsuspecting user selects HZ\x100. That however makes the error in RTT measurement
unbearably large - 10 milliseconds is in the order of a WAN connection within the same
country (see Perkin's slides below).
| - Gerrit has come to strong conclusions about the "implementability" of CCID3.
| The evidence is supposedly here:
|
| http://www.erg.abdn.ac.uk/users/gerrit/dccp/docs/packet_scheduling/
| http://www.erg.abdn.ac.uk/users/gerrit/dccp/docs/impact_of_tx_queue_lenghts/
|
You are mis-quoting. There is nothing in the pages about implementability of CCID3.
The pages show merely that with the given specification and given scheduling the present
implementation operates like a non-congestion controlled raw socket above ca. 12 Mbits/sec.
Which means that on 100Mbit ethernet it is 88% useless; on Gigabit ethernet it is 98.8% useless.
Furthermore, isolating these measurements by insinuating that they must be somehow wrong is not
really a good idea: you will meet the same problems in the user-space implementation of TFRC by
Perkins et al ( http://www3.ietf.org/proceedings/06jul/slides/dccp-13.pdf ):
* "Difficult to accurately schedule packets" (page 5)
* "Timing inaccuracy in sender and receiver poses a _significant_ challenge to stable
TFRC implementation" (page 6)
* again the problem with shorter RTTs:
"Have found stability difficult to achieve with RTT < 10-20 ms" (page 8)
=> The joke is on page 9 which assumes that a "Kernel implementation of TFRC is likely
more accurate" :)
| It's worth looking at these pages once again; the conclusions are far from the
| evidence. A subset of strategies that have not been considered:
You are free to conduct your own measurements.
| = Other methods of scheduling packet transmissions at sub-timer
| granularity, other than hrtimers. For example, in response to ack arrival
| (would be helpful at low RTTs, where acks arrive quickly; in fact, if this was
| helpful, one might even have the CCID3 receiver send more acks than the
| minimum required by the spec). Or in a kernel tasklet that might be scheduled
| only when a DCCP connection wants to send at high rates.
|
These may work, but would require further experimentation and testing; meaning
probably multiple experimental code revisions.
| Many of these have been mentioned at least once in previous emails, and
| summarily dismissed. Time will tell. It took months for "use the
| request/response exchange for an RTT measurement" to filter into the
| implementation, whereupon it was, as a predicted, a useful simplification.
Again the quoting is not fair. The "use the request/response exchange for an RTT measurement"
came up when a patch had just been completed to achieve compliance with existing
RFC 3448/4342. At that instance, the erratum suddenly came up, obsoleting the patch:
http://www.mail-archive.com/dccp@vger.kernel.org/msg00848.html
It is not that the erratum is bad, but it shows the whole point - the protocol
is not momentarily implementable -at least here- as if it were in a recipe book.
There were other occurrences where the specification changes overtook the code.
It may be wiser and time-saving to move it to an experimental tree, concentrate fully on
the outstanding issues, before submitting a half-finished implementation to the stable
mainline kernel. This would also increase your freedom to experiment and test.
| - On 4 October 2006 I sent mail to the other DCCP coauthors wondering whether
| "a rate as the basic unit of congestion control ...is just too much of a pain
| in the ass to implement". We will keep thinking about this, and there are
| alternatives to rate-based CC. As yet it is too early to tell.
Thanks for sharing that with us so early.
| On the other hand, had we been implementing a modern TCP, I bet Gerrit would declare
| TCP unimplementable.
How about a bit more fairness in your argumentation, Dr. Kohler :)
next prev parent reply other threads:[~2007-04-17 11:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-15 21:34 RTT measurement, CCID3 implementability Eddie Kohler
2007-04-17 11:07 ` Gerrit Renker [this message]
2007-04-17 13:42 ` Eddie Kohler
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=200704171207.40680@strip-the-willow \
--to=gerrit@erg.abdn.ac.uk \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox