Subject: [tcpm] CUBIC hystart entering CA

From: hiren panchasara <[email-masked]>
Date: Tue, 3 Oct 2017 08:15:20 -0700

Looking for some help in understanding how to set cwnd when hystart
moves connection into CA mode.

Draft says:
   In the case when CUBIC runs the hybrid slow start [HR08], it may exit
   the first slow start without incurring any packet loss and thus W_max
   is undefined.  In this special case, CUBIC switches to congestion
   avoidance and increases its congestion window size using Eq. 1 where
   K is set to 0 and W_max is set to the window size when CUBIC just
   exits the slow start.

Now, t = time since last congestion event. Which is essentially total
time the connection is alive as it hasn't seen any loss yet. i.e. can be
large.

W_cubic(t) = C*(t-K)^3 + W_max (Eq. 1)

What I am observing is, this equation yields quite large window and
I believe at this point cwnd is set to that value as we follow cubic
cwnd growth as opposed to tcp-friendly region.

This basically makes cwnd pretty large and moves connection into loss
much quicker defeating the purpose of hystart.

Is this a correct analysis or am I missing something obvious?

Cheers,
Hiren

---

From: Lisong Xu <[email-masked]>
Date: Tue, 3 Oct 2017 10:56:15 -0500

Dear Hiren,

In this case, t is the time interval since the time it exits the slow 
start instead of the beginning of the connection.

We will revise the draft to clearly explain it.

Thanks

Lisong

On 10/3/2017 10:15 AM, hiren panchasara wrote:
> _______________________________________________
> tcpm mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/tcpm

---

From: hiren panchasara <[email-masked]>
Date: Tue, 3 Oct 2017 09:11:29 -0700

> start instead of the beginning of the connection.

A ha! That makes sense.
> We will revise the draft to clearly explain it.

Thanks a lot!

While here, I was wondering if following can be clarified a little more
in the draft:

"While most alternative algorithms to Standard TCP uses a convex
increase function where during congestion avoidance the window
increment is always increasing, CUBIC uses both the concave and
convex profiles of a cubic function for window increase."

I guess what's being suggested here is that CUBIC doesn't increment
window with the same *amount* of bytes like most standard TCP?

Anyways, its probably obvious so will leave that up to you. Thanks a lot
for a quick response though. :-)

Cheers,
Hiren

---

From: Lisong Xu <[email-masked]>
Date: Tue, 3 Oct 2017 20:38:55 -0500

Dear Hiren,

I believe your understanding is right that the traditional TCP 
Reno(AIMD) increases its cwnd one segment per RTT, whereas CUBIC 
increases its cwnd using a cubic function instead of a linear function 
(thus different amount of bytes).

Thanks

Lisong