All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eddie Kohler <kohler@cs.ucla.edu>
To: dccp@vger.kernel.org
Subject: RTT measurement, CCID3 implementability
Date: Sun, 15 Apr 2007 21:34:26 +0000	[thread overview]
Message-ID: <46229A62.9010805@cs.ucla.edu> (raw)

- 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.

- Further discussion of precise RTT measurements in the context of DCCP should 
be accompanied by comparisons with NewReno TCP throughput under the same 
experimental conditions.  (I.e., not CBR traffic as in Gerrit's web pages, and 
not TCP BIC or CuBIC or any fancier, nonstandard TCP.)  TFRC aims to obtain 
within a factor of 2 of a TCP NewReno sender's performance under the same 
conditions, and over the long term.  There is no point in abstract 
comparisons.  What does a crappy network card do to NewReno TCP?  I am 
curious; maybe things will look bad for CCID3, maybe they will look less bad.

- 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/

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:

   = Limited Bursts (of more than 2 packets, but less than 10000).

   = 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.

   = Reducing RTT measurements by compensation factors.

   = Accounting for send delay by attaching SKB destructors or similar callbacks.

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.

- 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.  On the other 
hand, had we been implementing a modern TCP, I bet Gerrit would declare TCP 
unimplementable.

Eddie

             reply	other threads:[~2007-04-15 21:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-15 21:34 Eddie Kohler [this message]
2007-04-17 11:07 ` RTT measurement, CCID3 implementability Gerrit Renker
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=46229A62.9010805@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.