Subject: [tcpm] About Cubic when slow start exits with no loss

From: Le Boudec Jean-Yves <[email-masked]>
Date: Thu, 14 Sep 2017 18:23:26 +0200

Hi,

in draft-ietf-tcpm-cubic-05, I see that slow start is assumed, but I did 
not find what Cubic does if slow start ends with no loss. I guess 
congestion avoidance is entered, but then how does Cubic computes W_max 
and K when congestion avoidance is entered following slow start with no 
loss ? It seems reasonable to have K=0 and W_max set to a very large 
value, right ?  Did I miss anything ?

JY

---

From: Lisong Xu <[email-masked]>
Date: Thu, 14 Sep 2017 13:10:21 -0500

Dear Jean-Yves,

Yes, if the first slow start ends with no loss, Cubic enters congestion 
avoidance. In this case, both K (i.e., bic_K) and W_max (i.e., 
bic_last_max_cwnd) are still their initial values (i.e., 0), and the 
origin of the cubic function (i.e.,bic_origin_point) is set to the 
current congestion window size (i.e., cwnd). In addition, in this case, 
Cubic maintains a minimum cwnd increase speed of 5% per RTT (line 
308-309 at 
http://elixir.free-electrons.com/linux/latest/source/net/ipv4/tcp_cubic.c).

Thanks
Lisong

On 9/14/2017 11:23 AM, Le Boudec Jean-Yves wrote:
>
> Hi,
>
> in draft-ietf-tcpm-cubic-05, I see that slow start is assumed, but I 
> did not find what Cubic does if slow start ends with no loss. I guess 
> congestion avoidance is entered, but then how does Cubic computes 
> W_max and K when congestion avoidance is entered following slow start 
> with no loss ? It seems reasonable to have K=0 and W_max set to a very 
> large value, right ?  Did I miss anything ?
>
> JY
>
>
>
> _______________________________________________
> tcpm mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/tcpm

---

From: Le Boudec Jean-Yves <[email-masked]>
Date: Fri, 15 Sep 2017 08:57:19 +0200

Dear Lisong

thanks for the pointer. Shouldn't that be also described in the ID ?

Best, JY

On 14.09.2017 20:10, Lisong Xu wrote:
>
> Dear Jean-Yves,
>
> Yes, if the first slow start ends with no loss, Cubic enters 
> congestion avoidance. In this case, both K (i.e., bic_K) and W_max 
> (i.e., bic_last_max_cwnd) are still their initial values (i.e., 0), 
> and the origin of the cubic function (i.e.,bic_origin_point) is set to 
> the current congestion window size (i.e., cwnd). In addition, in this 
> case, Cubic maintains a minimum cwnd increase speed of 5% per RTT 
> (line 308-309 at 
>> with no loss ? It seems reasonable to have K=0 and W_max set to a 
>> very large value, right ?  Did I miss anything ?
>>
>> JY
>>
>>
>>

---

From: Michael Welzl <[email-masked]>
Date: Fri, 15 Sep 2017 09:44:07 +0200

Hi,

I give a +1 to this request: I remember searching an answer to the same question, long (actually a few years) ago - I looked at the (old) I-D, found nothing, and gave up after a bit of Linux code reading, at that time.

I should have remembered to request this being added when the Cubic draft was picked up again - indeed this is an important thing to add, IMO.

Cheers,
Michael

> On Sep 15, 2017, at 8:57 AM, Le Boudec Jean-Yves <[email-masked]> wrote:
> 
> Dear Lisong
> 
>> Yes, if the first slow start ends with no loss, Cubic enters congestion avoidance. In this case, both K (i.e., bic_K) and W_max (i.e., bic_last_max_cwnd) are still their initial values (i.e., 0), and the origin of the cubic function (i.e.,bic_origin_point) is set to the current congestion window size (i.e., cwnd). In addition, in this case, Cubic maintains a minimum cwnd increase speed of 5% per RTT (line 308-309 at http://elixir.free-electrons.com/linux/latest/source/net/ipv4/tcp_cubic.c <http://elixir.free-electrons.com/linux/latest/source/net/ipv4/tcp_cubic.c>).
>> Thanks
>> Lisong
>> 
>>> in draft-ietf-tcpm-cubic-05, I see that slow start is assumed, but I did not find what Cubic does if slow start ends with no loss. I guess congestion avoidance is entered, but then how does Cubic computes W_max and K when congestion avoidance is entered following slow start with no loss ? It seems reasonable to have K=0 and W_max set to a very large value, right ?  Did I miss anything ?
>>> 
>>> JY
>>> 
>>> 
>>> [email-masked] <mailto:[email-masked]>
>>> https://www.ietf.org/mailman/listinfo/tcpm <https://www.ietf.org/mailman/listinfo/tcpm>
>> 
>

---

From: Yoshifumi Nishida <[email-masked]>
Date: Fri, 15 Sep 2017 02:26:53 -0700

I also agree. I believe it won't affect our consensus on the draft as it is
a small additional tip.
Although the doc already has been requested for publication several days
ago, I prefer adding it to the draft if there's no problem for the
procedure.
I hope we still have a little time before IESG starts reviewing it.

Thanks,
--
Yoshi

On Fri, Sep 15, 2017 at 12:44 AM, Michael Welzl <[email-masked]> wrote:
> Hi,
>
> I give a +1 to this request: I remember searching an answer to the same
> question, long (actually a few years) ago - I looked at the (old) I-D,
found
> nothing, and gave up after a bit of Linux code reading, at that time.
>
> I should have remembered to request this being added when the Cubic draft
> was picked up again - indeed this is an important thing to add, IMO.
>
> Cheers,
> Michael
>
>
>
origin
> of the cubic function (i.e.,bic_origin_point) is set to the current
> congestion window size (i.e., cwnd). In addition, in this case, Cubic
> maintains a minimum cwnd increase speed of 5% per RTT (line 308-309 at
not
> find what Cubic does if slow start ends with no loss. I guess congestion
> avoidance is entered, but then how does Cubic computes W_max and K when
> congestion avoidance is entered following slow start with no loss ? It
seems
> reasonable to have K=0 and W_max set to a very large value, right ?  Did I
> miss anything ?
>
> JY
>
>
>

---

From: Lisong Xu <[email-masked]>
Date: Fri, 15 Sep 2017 08:50:32 -0500

Thank you all. We will add it to the draft in one or two days.

Thanks

Lisong

On 9/15/2017 4:26 AM, Yoshifumi Nishida wrote:
> I also agree. I believe it won't affect our consensus on the draft as 
> it is a small additional tip.
> Although the doc already has been requested for publication several 
> days ago, I prefer adding it to the draft if there's no problem for 
> the procedure.
> On Fri, Sep 15, 2017 at 12:44 AM, Michael Welzl <[email-masked] 
> <mailto:[email-masked]>> wrote:
> > Hi,
> >
> > question, long (actually a few years) ago - I looked at the (old) 
> I-D, found
> > On Sep 15, 2017, at 8:57 AM, Le Boudec Jean-Yves
> > <[email-masked] <mailto:[email-masked]>> wrote:
> >
> > Dear Lisong
> >
> http://elixir.free-electrons.com/linux/latest/source/net/ipv4/tcp_cubic.c 
> <http://elixir.free-electrons.com/linux/latest/source/net/ipv4/tcp_cubic.c>).
> >
> > Thanks
> > Lisong
> >
> did not
> > congestion avoidance is entered following slow start with no loss ? 
> It seems
> <https://www.ietf.org/mailman/listinfo/tcpm>
> >
> >
> >
> <https://www.ietf.org/mailman/listinfo/tcpm>
> >
> >
> >
> <https://www.ietf.org/mailman/listinfo/tcpm>
> >
>
>
>