Re: [tcpm] Poll for CUBIC RFC updates

Christian Huitema <huitema@huitema.net> Tue, 17 November 2020 19:41 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 430363A1588 for <tcpm@ietfa.amsl.com>; Tue, 17 Nov 2020 11:41:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Level:
X-Spam-Status: No, score=-1.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=unavailable 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 kmpLfB8iaS14 for <tcpm@ietfa.amsl.com>; Tue, 17 Nov 2020 11:41:17 -0800 (PST)
Received: from mx43-out1.antispamcloud.com (mx43-out1.antispamcloud.com [138.201.61.189]) (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 8EF9E3A1595 for <tcpm@ietf.org>; Tue, 17 Nov 2020 11:41:17 -0800 (PST)
Received: from xse143.mail2web.com ([66.113.196.143] helo=xse.mail2web.com) by mx13.antispamcloud.com with esmtp (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1kf6qf-0005a6-TC for tcpm@ietf.org; Tue, 17 Nov 2020 20:41:11 +0100
Received: from xsmtp21.mail2web.com (unknown [10.100.68.60]) by xse.mail2web.com (Postfix) with ESMTPS id 4CbGWz0FvPz2lTQ for <tcpm@ietf.org>; Tue, 17 Nov 2020 11:41:03 -0800 (PST)
Received: from [10.5.2.15] (helo=xmail05.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 1kf6qc-0004ep-TM for tcpm@ietf.org; Tue, 17 Nov 2020 11:41:02 -0800
Received: (qmail 16105 invoked from network); 17 Nov 2020 19:41:02 -0000
Received: from unknown (HELO [192.168.1.103]) (Authenticated-user:_huitema@huitema.net@[172.58.43.45]) (envelope-sender <huitema@huitema.net>) by xmail05.myhosting.com (qmail-ldap-1.03) with ESMTPA for <tcpm@ietf.org>; 17 Nov 2020 19:41:02 -0000
To: Yuchung Cheng <ycheng=40google.com@dmarc.ietf.org>, "Scheffenegger, Richard" <rs.ietf@gmx.at>
Cc: Vidhi Goel <vidhi_goel=40apple.com@dmarc.ietf.org>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>
References: <02721B41-690E-4CC2-BC26-223EDA4BFA45@apple.com> <b8726c1c-c38a-4583-f250-fe8ac466155e@gmx.at> <CAK6E8=eSiH_iNgOFMRXjQ_0yBCgXDqMd4gxbqzSARgHWRiv5OA@mail.gmail.com>
From: Christian Huitema <huitema@huitema.net>
Message-ID: <daae2adb-eb0a-e24a-14fd-00855e1486b2@huitema.net>
Date: Tue, 17 Nov 2020 11:41:02 -0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.3
MIME-Version: 1.0
In-Reply-To: <CAK6E8=eSiH_iNgOFMRXjQ_0yBCgXDqMd4gxbqzSARgHWRiv5OA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-Originating-IP: 66.113.196.143
X-Spampanel-Domain: xsmtpout.mail2web.com
X-Spampanel-Username: 66.113.196.143/32
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=66.113.196.143/32@xsmtpout.mail2web.com
X-Spampanel-Outgoing-Class: unsure
X-Spampanel-Outgoing-Evidence: Combined (0.15)
X-Recommended-Action: accept
X-Filter-ID: Mvzo4OR0dZXEDF/gcnlw0cThwnZT+ODcFyeCwCHoUjupSDasLI4SayDByyq9LIhVUZbR67CQ7/vm /hHDJU4RXkTNWdUk1Ol2OGx3IfrIJKywOmJyM1qr8uRnWBrbSAGDPMbZapeW47ess9aQHBKcoLgN zB/4Jkrw1eDLcif59ftMwqPalDEHeRFUVbPHbSjkU7Tmz6iKnkQL9gqsxD347235Nhqq+/HvroPq 8GSPg+5hmwN8D4LrepG7AX8WNwY8PLhBThvdgyPN49yzDQzRHY6jSvfpO+1kZkomjtjB6X5Q5Q9f RUeIpTIC2ySfqvnqLwoxlgatmaBb0rBiK9xbkDrUqzcKIief90MVLZY9LbIZh9+IQ1oS9LBn3VIP 95Jz7ujRlJ9wSMlhvaudJXZ9EIBG/qaR+8r9SKFMmPJLf850OvZYsmoVQuOIhwKLK6IKBNB4LZ0v UHHKTzJX7b1JhLSQQ4vSj0QEim26t/Moy0UPX5E73H1QfrH/5kkrV/Cr0bm2vWdo8usP65i82q1C dZgGrpL44wdx9eXqjQjbvUopOMQJvQ/Ck3iiU+4DQAj3fuQgzT3K9JUHTNiGwfwAmxx/Wk8McinP JEkgAVrOMpacjGLPDGJdOe4i3f4PkPX9cQAgjUq0xsmHmKfJV7oVg2pPsO2a9YK0ZMeLL6baim4M 7OYFXYdC3tRq275m/U3VF32g17ip7E0k1FBlZj4ChLdCp3Zd9clP8wSiJZWbJCj+xRrjVmRxpGtS cvUmgj1Lb4oCRWJNnW/6AGTatscsYl2jZAOanSBpz6Rja2u/0jKpLh8hxKVgQEBahnMCJUbumhJa XJp6Dyip+Pa027T+3/ysta6u1iHEyuS7GD1uvcruwMFbs9NDYQONehnXkUbcJOYIJd4MvQ0Nf4Ec bvHO1diDanHV9KirFAIIecsyj+YNTo81GR+jDXFsz/ZQnbbTizvwlZsrbltGiZoUh+c+5pFVgpT1 b21uZVckGp0ccOa2XhkGbmsUNPNkere1WheNsVXmhO8BzADiszcWR9bz/SDtF09JpSbuuCeiIDK0 C/0=
X-Report-Abuse-To: spam@quarantine11.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/9g_3_VFiiMK-qfY74NIjjnX0ir0>
Subject: Re: [tcpm] Poll for CUBIC RFC updates
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: Tue, 17 Nov 2020 19:41:19 -0000

On 11/17/2020 9:50 AM, Yuchung Cheng wrote:
> On Mon, Nov 16, 2020 at 10:30 PM Scheffenegger, Richard <rs.ietf@gmx.at> wrote:
>> We have been working on improving the FreeBSD Cubic implementation, to
>> bring it up from the originally implemented (early draft) version of
>> Cubic, to a more production ready state which is inline with the adopted
>> RFC version.
>>
>> Having said this, the below changes sound reasonable and I will try to
>> adopt them for FreeBSD.
>>
>> Richard
>>
>>
>> Am 17.11.2020 um 03:08 schrieb Vidhi Goel:
>>> Hello,
>>>
>>> As Lars mentioned earlier, there are a couple of issues/proposals filed
>>> for updating the CUBIC RFC 8312 and are currently under discussion. The
>>> GitHub repo is at https://github.com/NTAP/rfc8312bis.
>>> We would like to gather information on which CUBIC implementations
>>> already or would be ready to adopt these changes.
>>>
>>> 1. Update K definition (Eq. 2) to account for Fast Convergence
>>> Issue link https://github.com/NTAP/rfc8312bis/issues/1
>>> Linux already has this change. Apple's Cubic implementation for both TCP
>>> and QUIC already use this.
>>>
>>> 2. Congestion window TCP friendly region after W_max
>>> Issue link https://github.com/NTAP/rfc8312bis/issues/2
>>> This is a suggestion to improve performance after cwnd > W_max. Apple's
>>> Cubic implementation for both TCP and QUIC already use this.
> I'd recommend replacing the modelled TCP Reno window approach in
> section 4.2 with an AIMD emulation (Linux's approach).
I second that. That's exactly what I ended up doing when implementing
Cubic from the RFC, and realizing that the emulation approach was very
hard to make work correctly.
>
> In our experience, TCP-friendly regions are the predominant mode of
> (Linux) Cubic for any regular Internet connection. IOW Cubic is often
> "Reno" unless the loss rate is abysmal. The modelled approach is based
> on a simple bulk transfer where modern network applications are mostly
> structured traffic (burst, idle, repeat). Under such traffic
> structures the model has two issues:
>
> The model assumes cwnd overshoot causes losses that are repaired in
> one round of fast recovery. In reality, the losses are often due to
> bursts to short messages, causing more rounds and even timeouts to
> repair. So the overall loss rate "p" tends to be higher than the ideal
> model, causing the model to underestimate the window (hence runs in a
> more conservative Reno). Instead Linux's approach is to simply emulate
> Reno AIMD based on the number of packets per ACK. This also avoids
> square-root operation.

That, and another issue caused by the use of RTT estimates in the RENO
modelled presented in the RFC. If there is jitter on the network, the
RTT estimates are going to fluctuate quite a bit, and the modelling will
amplify those fluctuations.

-- Christian Huitema