Re: [tcpm] [EXTERNAL] Re: Hystart and delay jitter

Christian Huitema <huitema@huitema.net> Mon, 22 March 2021 16:19 UTC

Return-Path: <huitema@huitema.net>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 097433A0BF7 for <tcpm@ietfa.amsl.com>; Mon, 22 Mar 2021 09:19:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.011
X-Spam-Level:
X-Spam-Status: No, score=0.011 tagged_above=-999 required=5 tests=[NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CY192La3_4bi for <tcpm@ietfa.amsl.com>; Mon, 22 Mar 2021 09:19:09 -0700 (PDT)
Received: from mx36-out20.antispamcloud.com (mx36-out20.antispamcloud.com [209.126.121.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 13F073A0BF0 for <tcpm@ietf.org>; Mon, 22 Mar 2021 09:19:09 -0700 (PDT)
Received: from xse108.mail2web.com ([66.113.196.108] helo=xse.mail2web.com) by mx133.antispamcloud.com with esmtp (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1lONGg-000uGM-M1 for tcpm@ietf.org; Mon, 22 Mar 2021 17:19:07 +0100
Received: from xsmtp21.mail2web.com (unknown [10.100.68.60]) by xse.mail2web.com (Postfix) with ESMTPS id 4F40755zSzzBkv for <tcpm@ietf.org>; Mon, 22 Mar 2021 09:18:57 -0700 (PDT)
Received: from [10.5.2.49] (helo=xmail11.myhosting.com) by xsmtp21.mail2web.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1lONGb-0008OM-Mk for tcpm@ietf.org; Mon, 22 Mar 2021 09:18:57 -0700
Received: (qmail 18365 invoked from network); 22 Mar 2021 16:18:57 -0000
Received: from unknown (HELO [192.168.1.104]) (Authenticated-user:_huitema@huitema.net@[172.58.43.146]) (envelope-sender <huitema@huitema.net>) by xmail11.myhosting.com (qmail-ldap-1.03) with ESMTPA for <tcpm@ietf.org>; 22 Mar 2021 16:18:57 -0000
To: Mirja Kuehlewind <mirja.kuehlewind=40ericsson.com@dmarc.ietf.org>, Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>, Praveen Balasubramanian <pravb=40microsoft.com@dmarc.ietf.org>, "ncardwell=40google.com@dmarc.ietf.org" <ncardwell=40google.com@dmarc.ietf.org>
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
References: <376bdc9f-4774-bfc8-1736-6c94fb24953c@huitema.net> <CADVnQymN6UH+XTgdkwdX16TsDTeeTu+S-=O1nVjQFWYbpDT24Q@mail.gmail.com> <CY1PR00MB01700C2168E1B4200BE23B34B6699@CY1PR00MB0170.namprd00.prod.outlook.com> <HE1PR0701MB229938341C5A909CB5664085C2689@HE1PR0701MB2299.eurprd07.prod.outlook.com> <3E80F724-7BCA-4DD2-BBEE-9D9B9E0B02FD@ericsson.com> <A34504B4-ACD0-49D5-AA05-FA918968A0D6@ericsson.com>
From: Christian Huitema <huitema@huitema.net>
Message-ID: <501f463e-3688-ce98-2842-0bb8134c5d27@huitema.net>
Date: Mon, 22 Mar 2021 09:18:56 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1
MIME-Version: 1.0
In-Reply-To: <A34504B4-ACD0-49D5-AA05-FA918968A0D6@ericsson.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US
X-Originating-IP: 66.113.196.108
X-Spampanel-Domain: xsmtpout.mail2web.com
X-Spampanel-Username: 66.113.196.0/24
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=66.113.196.0/24@xsmtpout.mail2web.com
X-Spampanel-Outgoing-Class: ham
X-Spampanel-Outgoing-Evidence: Combined (0.05)
X-Recommended-Action: accept
X-Filter-ID: Pt3MvcO5N4iKaDQ5O6lkdGlMVN6RH8bjRMzItlySaT+Fxaj/wOizz/MKVvL43sQlPUtbdvnXkggZ 3YnVId/Y5jcf0yeVQAvfjHznO7+bT5yjTC8Fov82/EJuxz8FihBPKj/EwzSHE5FGYwwjsNRPCMFZ Mme02s+cf1DY8dZ2COzmD6wdmZPcItWbGe10hXJtXL4FsauCVkDjmcYJdU3yWp7KuHNaaKdg7iBE ZefdsNUFWKwa/wzJUjmazeC7Imca+xnn3Ohf8XY5WZ+f/Kk3UxQ6V51u76v35b1wNe/MvdKAGdwU TZKlze5ERymXAD3v2+J9PgaoF8SQHto3le4zsAApCVB1N/BtJyJqv7YkIyyKggeTQ85o+W6+jEZD z+LhiyQEs+dlGXUJLWZ+Gc08Nmllke3azHdKmySKNUVQl4ntlVxnbS8qIO7oudHyb2T1VQ58xe/l rqiRGalI3YPsxOTrFXToVyBmRCgQVX6zVyFUu8qzeMQP6uTHL0d9UjfY+eX5ZvcELCIKs663F/co VFYFvf25LVONYbYifH5OzZDcG6hsRQZiAIgw+z837AqgX7ewI8e1h7RITgN14BHmGVt/ReJ9Mfhz zmbKTH7wI9GEU1utNskUAORCV2WFZX0jhrJxyKF1H9pcTl8EDZi+w17lLXQUcNAszDsnoUOr0BhV yME5HwZ9DONmRkKkSZcAOI+gTB/pfSlbi1HgG7umZzYYs4qkxKLSV4C340uY5KqGbN7BITAZon7Z Iz1ONK9yUo4/+EUytKrR9Md9I2Rs10AncRHNMJFZjTB4b78aKPdPCC/cRgvQKtcrMMueERx3bvG5 KKaQqYMuRXOpJUs2bNKTGbFymQLYrz9KxI5k1naIaIzNoZzswxuMaWjBAlpw1VDhyfSmA05U1oYl xczXz/Uf9oDBqtClgM5jH/om1Q5UomG0v+rwIiID/kwKc8V5Tj9+FRkaOS/DNjANmb8tO61SbYdY AwdpaVzHW7wHO7YhEWyJzIkwSFAW0Pw8uiKeubcolFl/rX+2ReQklqJDASQX2Id+W5hjJNcdGs0+ iHjXODmj5PX/tZQU3bYnWKpb
X-Report-Abuse-To: spam@quarantine11.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/YRB9zgCdqVcmmGuNa3iGdx-JQRw>
Subject: Re: [tcpm] [EXTERNAL] Re: Hystart and delay jitter
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Mar 2021 16:19:14 -0000

Back to Ingemar's point about delay measurement. In wireless networks, 
we should expect conditions to change when the device moves from cell to 
cell, when the number of devices in the cell changes, or even when the 
client stays in the same cell and moves closer or farther to the base 
station. In Wi-Fi network, I remember presentations showing that the 
quality of the radio signal could change radically if the device just 
moved a couple feet, maybe because it would then catch different 
reflections on walls of the signals sent by the base station. Conditions 
could also change if the device is rotated and the alignment of the 
device's antenna with the base station changes. Or if a big two-legged 
of water moves between device and base station, whether it is a big 
two-legged body or a smaller four-legged body with whiskers.

The congestion control algorithms that we currently use are not 
specifically designed for such changes in network conditions. They make 
hypotheses about min-rtt, max queue sizes, relation between rtt and 
congestion, or relative stability of the bottleneck bandwidth. As 
Ingemar points out, these hypotheses are not true in wireless networks.

If I look at simulations in classic papers, I almost always see networks 
made of static links, with fixed bandwidth and fixed delays. Such 
simulations are not going to point out the issues with wireless 
networks. Are there available link models that incorporate the typical 
behaviors of wireless networks? Better simulations would make the 
problems obvious, and researchers would probably invent some clever way 
of dealing with that. And if such simulation models were widely known, 
peer-reviewers would have something to say about papers based on fixed 
link simulations.

Ingemar, Mirja, can you point us to such to simulation models for 
wireless segments?

-- Christian Huitema

On 3/22/2021 8:17 AM, Mirja Kuehlewind wrote:
> Sorry, I was confused and thought this was a comment on the Cubic work. Would be really good to mention and discuss this in HyStart++ draft. Happy to discuss more if needed!
>
>
> On 22.03.21, 16:12, "tcpm on behalf of Mirja Kuehlewind" <tcpm-bounces@ietf.org on behalf of mirja.kuehlewind=40ericsson.com@dmarc.ietf.org> wrote:
>
>      Yes, we also reported on some problems/bugs in HyStart in maprg two meetings back:
>
>      https://datatracker.ietf.org/meeting/interim-2020-maprg-01/materials/slides-interim-2020-maprg-01-sessa-behavior-of-tcp-cubic-in-low-latency-mobile-radio-networks-00
>
>      This problem, where Slow Start is left wrongly and much too early, is particularly bad in combination with the TCP friendly region in Cubic. However, the actually problems lies in HyStart which is not covered in the Cubic RFC/bis-draft.
>
>
>      On 19.03.21, 10:16, "tcpm on behalf of Ingemar Johansson S" <tcpm-bounces@ietf.org on behalf of ingemar.s.johansson=40ericsson.com@dmarc.ietf.org> wrote:
>
>          Hi
>
>          My finding is that it is a bit problematic to rely on RTT estimates for path
>          capacity especially with cellular access . It was summarized in section 4 in
>          https://tools.ietf.org/html/draft-johansson-cc-for-4g-5g-02 and also
>          presented in
>          https://www.ietf.org/proceedings/96/slides/slides-96-iccrg-1.pdf
>
>          Regards
>          Ingemar
>
>          > -----Original Message-----
>          > From: tcpm <tcpm-bounces@ietf.org> On Behalf Of Praveen
>          > Balasubramanian
>          > Sent: den 18 mars 2021 23:37
>          > To: ncardwell=40google.com@dmarc.ietf.org; Christian Huitema
>          > <huitema@huitema.net>
>          > Cc: tcpm@ietf.org
>          > Subject: Re: [tcpm] [EXTERNAL] Re: Hystart and delay jitter
>          >
>          > Thanks Christian for the suggestions! We will include a discussion on
>          jitter in
>          > the next draft update and also experiment with the min of max function.
>          >
>          > -----Original Message-----
>          > From: tcpm <tcpm-bounces@ietf.org> On Behalf Of Neal Cardwell
>          > Sent: Friday, March 12, 2021 2:18 PM
>          > To: Christian Huitema <huitema@huitema.net>
>          > Cc: tcpm@ietf.org Extensions <tcpm@ietf.org>
>          > Subject: [EXTERNAL] Re: [tcpm] Hystart and delay jitter
>          >
>          > On Fri, Mar 12, 2021 at 4:29 PM Christian Huitema <huitema@huitema.net>
>          > wrote:
>          > >
>          > > Back in November 2019, when adding Cubic and Hystart to my
>          > > implementation of QUIC, I noticed that Hystart was sensitive to delay
>          > > jitter. Hystart detects the buildup of queues by monitoring the RTT.
>          > > Some links experience delay jitter, caused for example by access
>          > > protocol for shared radio links or possibly by link-local ARQ protocols.
>          > > The delay jitter can cause Hystart to make the wrong decision, in two
>          ways:
>          > >
>          > > 1) Delay jitter during a previous period could cause some packets to
>          > > be delivered "faster than usual", causing Hystart to under-estimate
>          > > the min RTT for that period.
>          > >
>          > > 2) Delay jitter during the currently measured period can cause packets
>          > > to be delivered "slower than usual",  causing Hystart to over-estimate
>          > > the min RTT for that period.
>          > >
>          > > The combination of these two issues may cause Hystart to make the
>          > > wrong decisions, and exit slow start at levels well below link capacity.
>          >
>          > Yes, we have found in both our production experience and controlled
>          > experiments that the Hystart-Delay algorithm is very susceptible to
>          spurious
>          > triggering from jitter, particularly in LTE and wifi paths.
>          >
>          > We discussed this a bit in Spring 2017 in the comparison of BBR's
>          bandwidth-
>          > based mechanism for exiting startup, vs Hystart-Delay's delay-based
>          > mechanism:
>          >   https://protect2.fireeye.com/v1/url?k=6c35f204-33aecb47-6c35b29f-
>          > 861fcb972bfc-c8f94340e007b7bd&q=1&e=fd13218f-2e70-4b39-a879-
>          > e9b53c01447d&u=https%3A%2F%2Fnam06.safelinks.protection.outlook.com
>          > %2F%3Furl%3Dhttps%253A%252F%252Fwww.ietf.org%252Fproceedings%25
>          > 2F98%252Fslides%252Fslides-98-iccrg-an-update-on-bbr-congestion-control-
>          > 00.pdf%2523page%253D8%26amp%3Bdata%3D04%257C01%257Cpravb%2540
>          > microsoft.com%257Cbc3399870c0d4105299408d8e5a4cbaa%257C72f988bf86f
>          > 141af91ab2d7cd011db47%257C1%257C0%257C637511843745826011%257CUn
>          > known%257CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBT
>          > iI6Ik1haWwiLCJXVCI6Mn0%253D%257C1000%26amp%3Bsdata%3D6SQWDb1
>          > mFH0cgrayEwiRYeccYvP0dv%252BAJ1eokyJF%252BKs%253D%26amp%3Brese
>          > rved%3D0
>          >
>          > > The draft-ietf-tcpm-hystartplusplus-01 does have some protection
>          > > against the second issue, because currentRoundMinRTT is computed on at
>          > > least N_RTT_SAMPLE. If that number is large enough, computing the min
>          > > over N samples should filter out "slower than usual" anomalies.
>          > > However, the draft does not include a protection against "faster than
>          > usual"
>          > > anomalies happening in the previous period. In my implementation, I
>          > > protected against that by computing a "min of max" function: compute a
>          > > rolling "MAX over N_RTT_SAMPLE", then compute the MIN value of that
>          > > during the reference period, and use that to set the reference value
>          > > "lastRoundMinRTT".
>          > >
>          > > I think it would be good to add a discussion of the effect of jitter
>          > > to the hystart++ draft. In addition, we may also want to mention
>          > > timestamps. The jitter on RTT may be caused by jitter on either
>          > > direction of transmission -- data path or ACK path. The effect of
>          > > jitter on the ACK path can be minimized if time stamps can be used to
>          > > monitor the variation of one-way delays. This is not discussed in the
>          > > current draft. Maybe it should be.
>          >
>          > A discussion of the effect of jitter sounds like a great idea.
>          >
>          > neal
>          >
>          > _______________________________________________
>          > tcpm mailing list
>          > tcpm@ietf.org
>          > https://protect2.fireeye.com/v1/url?k=032901f3-5cb238b0-03294168-
>          > 861fcb972bfc-7a6ccb41bd90a846&q=1&e=fd13218f-2e70-4b39-a879-
>          > e9b53c01447d&u=https%3A%2F%2Fnam06.safelinks.protection.outlook.com
>          > %2F%3Furl%3Dhttps%253A%252F%252Fwww.ietf.org%252Fmailman%252Flis
>          > tinfo%252Ftcpm%26amp%3Bdata%3D04%257C01%257Cpravb%2540microsof
>          > t.com%257Cbc3399870c0d4105299408d8e5a4cbaa%257C72f988bf86f141af91a
>          > b2d7cd011db47%257C1%257C0%257C637511843745826011%257CUnknown%
>          > 257CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1ha
>          > WwiLCJXVCI6Mn0%253D%257C1000%26amp%3Bsdata%3Doqte6wCaTBUvrw
>          > gXVRMcD13YgtspMJyIWMMLlwNuYdY%253D%26amp%3Breserved%3D0
>          >
>          > _______________________________________________
>          > tcpm mailing list
>          > tcpm@ietf.org
>          > https://www.ietf.org/mailman/listinfo/tcpm
>
>      _______________________________________________
>      tcpm mailing list
>      tcpm@ietf.org
>      https://www.ietf.org/mailman/listinfo/tcpm
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm