RE: minimal sending rate in the case of tfrc for small packetsand its faster restart variant

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Arjuna,

Part of the justification for faster restart is that the path has
already been proven to support a higher rate (by earlier transmissions),
and we're just trying to return to that.  That justification doesn't
exist for slow start.

But let me see if I understand your scenario.  An application reaches
its desired throughput before first packet loss and therefore never
leaves the slow start phase.  I'd say that this is a fairly normal
situation with media streams -- the user has chosen a codec that's
likely to not congest the network in the absence of competing flows --
although the presence of any TCP flow would probably disrupt that.
After some period at this rate with no packet loss the application goes
idle long enough for the nofeedback timer to expire.  This would seem to
be a fairly likely situation for silence-suppressed voice.

I'm not sure what happens then (no time to reread the spec and figure it
out, sorry).  I would expect the nofeedback timer to cause the
connection to leave slow start, but I'm not sure what the resulting max
transmit rate would be.  Normally it'd be half the rate in the last RTT,
but that was zero in this case, since the app went idle.  Sounds worth
investigating...

Tom P.

> -----Original Message-----
> From: Arjuna Sathiaseelan [mailto:arjuna.sathiaseelan@xxxxxxxxx]
> Sent: Friday, May 05, 2006 3:29 AM
> To: h.balan@xxxxxxxxxxxx
> Cc: gorry@xxxxxxxxxxxxxx; dccp@xxxxxxxx
> Subject: Re:  minimal sending rate in the case of tfrc for small
> packetsand its faster restart variant
> 
> I would like to add something here..Its a doubt..
> 
> I am wondering what happens where there is an idle period during slow
> start where the nofeedback timer has expired - with p = 0. Faster
> restart wouldnt work with the given algorithm - since it doesnt make
> any changes to the existing TFRC slow start algorithm. Shouldnt faster
> restart proposal modify the slowstart part of the algorithm as well?
> Please do correct me if I am wrong. Thanks :)
> 
>  If p > 0,
>        Calculate X_calc using the TCP throughput equation.
>        X_recv_limit := 2*X_recv.
>        If X_recv_limit < X_fast_max,
>           X_recv_limit := min(4*X_recv, X_fast_max).
>        X := max(min(X_calc, X_recv_limit), s/t_mbi).
>     Else
>        If (t_now - tld >= R)
>           X := max(min(2*X, 2*X_recv), s/R);
>           tld := now.
> 
> 
> -Arjuna
> 
> On 5/2/06, h.balan@xxxxxxxxxxxx <h.balan@xxxxxxxxxxxx> wrote:
> > We are sending interactive voice traffic over CCID 3(RFC4342) (also
> > its variant for small packets draft-ietf-dccp-tfrc-voip-05.txt and
> > the variant for small packets with with faster restart draft-ietf-
> > dccp-tfrc-faster-restart-00.txt), trying to observe the impact of
> > the protocol on the end-to-end quality. Since the codec uses
> > silence suppresion, our traffic contains periods of data
> > transmission alternating with periods of idleness, and due to the
> > fact that we experience frequent slow start (we can only double our
> > transmission rate during one RTT), the minimal rate of TFRC is an
> > important factor affecting the transmission quality.
> > We kindly ask you for some clarifications regarding the way in
> > which the rate is set in the case of TFRC for small packets and its
> > faster restart variant.
> >
> > RFC 3448, section 4.3 states:
> > "If (p > 0)
> >           Calculate X_calc using the TCP throughput equation.
> >           X = max(min(X_calc, 2*X_recv), s/t_mbi);
> >       Else
> >           If (t_now - tld >= R)
> >               X = max(min(2*X, 2*X_recv), s/R);
> >               tld = t_now;"
> > while draft-ietf-dccp-tfrc-voip-05.txt requires the nominal packet
> > size s to 1460 bytes;
> >
> > Question 1) Should s=1460 bytes be used in the factors s/t_mbi and
> > s/R ? If so, should they be corrected by a factor s_true / (s_true
> > + H) accounting for the header size?
> > The difference between the two methods is significant in the case
> > of VoIP packets, reaching over an order of magnitude.
> >
> > draft-ietf-dccp-tfrc-faster-restart-00.txt states:
> > "This document suggests a relatively simple approach to this
problem.
> > Some protocols using TFRC [CCID 3 PROFILE] already specify that the
> > allowed sending rate is never reduced below the RFC-3390 sending
> > rate of four packets per RTT during an idle period.  Faster Restart
> > specifies that the allowed sending rate is never reduced below eight
> > packets per RTT, for small packets."
> >
> > Question 2) Is the rate of eight packets per RTT the minimal rate
> > of the protocol even in periods of non-idleness? Relating to the
> > previous question, should the averaged packet size or the nominal
> > packet size of 1460 bytes be used in the calculation of the rate?
> >
> > In case the answer to the previous question is affirmative, should
> > the rate calculation at the end of section 3. become:
> > "If p > 0,
> >     Calculate X_calc using the TCP throughput equation.
> >     X_recv_limit := 2*X_recv.
> >     If X_recv_limit < X_fast_max,
> >        X_recv_limit := min(4*X_recv, X_fast_max).
> >     X := max(min(X_calc, X_recv_limit), 8*s/R). <= changed minimal
> > rate
> >  Else
> >     If (t_now - tld >= R)
> >        X := max(min(2*X, 2*X_recv), 8*s/R); <= changed minimal rate
> >        tld := now."
> >
> > Changing the minimal rate from s/t_mbi to 8*s/R while in congestion
> > avoidance mode shortens the time needed to reach the codec's
> > nominal transmission rate by log_4(8*t_mbi/R) RTTs ~= 6 RTTs for a
> > connection with 50ms round trip.
> >
> > Vlad Balan
> >
> >
> >
> 
> 
> --
> Regards,
> Arjuna
> 
> Postdoctoral Researcher
> Engineering Research Lab,
> Department of Engineering,
> University of Aberdeen




[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux