All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
To: dccp@vger.kernel.org
Subject: Re: [dccp] Question on resetting nominal send time
Date: Mon, 05 Mar 2007 09:49:49 +0000	[thread overview]
Message-ID: <200703050949.49387@strip-the-willow> (raw)
In-Reply-To: <5640c7e00701161351q19360335mf2862a31596ae94a@mail.gmail.com>

Hi Eddie,

Sorry for the delay in responding.

|  What follows is a first cut at a solution.  Any thoughts from others??
|  
|  If t_ipi is used to schedule transmissions, then the following equation should 
|  be applied each time the application is scheduled:
|  
|      t_ipi := max(t_ipi, t_now - RTT/2)
|  
|  This never lets t_ipi fall more than 1/2 RTT behind the current time.  An 
|  application is still allowed to send packets in a small burst after an idle 
|  period, but the size of that burst is limited to RTT/2 worth of packets.
|  
|  RTT/2 was chosen because senders can send 2*last_receive_rate in any RTT.
|  
|  I am sure that this simple choice has disadvantages, such as little bursts at 
|  the beginnings of idle periods.  One could be more conservative and set e.g.
|  
|       t_ipi := max(t_ipi, t_now - t_gran).
|  
|  But I think RTT/2 might be OK.  Implementation experience would be preferred.
|  
|  This issue is really an implementation issue.  RFC3448 4.6 is not exactly 
|  normative; it discusses one way to achieve a send rate, not a required 
|  implementation.  So in some sense the implementer is free to choose anything 
|  reasonable.

In TFRC t_ipi is always smaller than RTT, so RTT/2 is an upper bound. I think it makes
sense (from an implementation standpoint) to use one full t_ipi as upper bound. This
is similar to your solution in that both values are less than RTT, and both provide
a means to stop large `packet storms'. 
The reason for chosing t_ipi is that the size of the large burst depends on the number
of full t_ipi intervals that fit into the time interval that the receiver is lagging 
behind (can send detailed derivation). But, as said, both choices are similar.

Gerrit

      parent reply	other threads:[~2007-03-05  9:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-16 21:51 Question on resetting nominal send time Ian McDonald
2007-01-19 15:49 ` [dccp] " Gorry Fairhurst
2007-02-08  0:29 ` Eddie Kohler
2007-02-08  0:39 ` Eddie Kohler
2007-03-05  9:49 ` Gerrit Renker [this message]

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