Re: [tcpm] [EXTERNAL] Re: Introduce RFC 6937 bis (Proportional Rate Reduction) as a tcpm work item? INPUT NEEDED

Yuchung Cheng <ycheng@google.com> Fri, 20 November 2020 20:52 UTC

Return-Path: <ycheng@google.com>
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 A68B83A11AB for <tcpm@ietfa.amsl.com>; Fri, 20 Nov 2020 12:52:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.499
X-Spam-Level:
X-Spam-Status: No, score=-17.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 V3e5GjLiyD8I for <tcpm@ietfa.amsl.com>; Fri, 20 Nov 2020 12:52:36 -0800 (PST)
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B950B3A1196 for <tcpm@ietf.org>; Fri, 20 Nov 2020 12:52:35 -0800 (PST)
Received: by mail-wr1-x433.google.com with SMTP id r17so11602994wrw.1 for <tcpm@ietf.org>; Fri, 20 Nov 2020 12:52:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8HbzU08XINrzkx9PP9FjPLXao6DwNJLVnt18gx/y/aI=; b=RdOxIiBZeUsw8oiW1E5TJ33V0aKw0dQto+mkg8uvM7kJ21Rd7uhXHFLTiLptVQfnbr llW0xEz8n99jVoO+0uu0nVAJ9zsXMG8xxkoVVXT1oi98kmyhQV5ijjpjuODAJIFLGkjA k2e1IMISdtmc8EgkgZl0+Vj+oenMSkp7jffC3L8SJkNsbXTikBvMgWTmTo+FGLAfkbJQ 4osd0TXsMWrgWIgcvlUrMLVC/yfWhcwJonX7fvZwVfoZNDSdTTcK5EbspPMZn8eTSHpB 7s5OMBGcWkmX6/Ks3u082HiuBCVOdG6rBye0yrDZsOGchoj/m/O5RSlvdadfzvYkNQYP SxAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8HbzU08XINrzkx9PP9FjPLXao6DwNJLVnt18gx/y/aI=; b=NarZzyKA4uroWAuyMyDpmSIXhr62Dl5Ke4c3ng8Ig7pClzQibMIFW/NXSZBhja0Aj7 Z1mHOoR6sGXpyTz34V3prcbz6w3mP71DUUVPWcfpu9hYYq0D5UuAkA1Gy2IYt8K08UAi XASw/DQyP3KohJ+DveTumq3D/Mp5TRXpxRuuzwab1i+humVtiM0Ja6mjioueIPx3kXmh TnJJPTogCeeQVcNqSD6EgZip+QnmJlE1LQMp28M3MtMT+pzW9l1ZMP0K1Mp7TJ87pIn9 odEXAso2vEXyEl/L/vguwRoYFQy9xO3Cz2t9yKXN1HB9GycbGDV2sjahw11hunjw+clx fvDA==
X-Gm-Message-State: AOAM53197ngqCh9xveWWFGFb8xuMTJUXEHwpukpBkPLHk84jolRkstvq snT6zSBId867o0LZPNmugDLJFCUiJSLCl62lsfcR1VtdSVU=
X-Google-Smtp-Source: ABdhPJzKwoXU5IiqNsP4fj7YPOd+1nYopZTbP2VQ/LEqpt+1f5TFwBbrTVgFzJTs373qA9dUiRA6vJdbW4pvWgil+jE=
X-Received: by 2002:a5d:6892:: with SMTP id h18mr17922147wru.49.1605905553834; Fri, 20 Nov 2020 12:52:33 -0800 (PST)
MIME-Version: 1.0
References: <CAH56bmCkmtvqTRaEC-AFd-_W1nWeE0JE9SMt=w8E5JoHvvnVtQ@mail.gmail.com> <ba17cdbf-e58f-6b35-0bd6-7c9a86089913@gmx.at> <CAKcm_gMdsHt4-_e0hNZC6Nn-TTz+r6LGYt=Mc8N3nTSo9to3nQ@mail.gmail.com> <885d9aa0-50b2-3101-64b8-7a40f25ca612@erg.abdn.ac.uk> <CAH56bmBxY2qMRMFxoeWhq0bd_eV4W-Mvpc3GFKEKY1ZyuOAW_w@mail.gmail.com> <DM6PR00MB06350BB2986E364D2D8DBBDDB6E09@DM6PR00MB0635.namprd00.prod.outlook.com> <CADVnQykmKQHRDu1LZMQ48bEbJ6zn8itxi67Ve_vszw_EK06ytQ@mail.gmail.com>
In-Reply-To: <CADVnQykmKQHRDu1LZMQ48bEbJ6zn8itxi67Ve_vszw_EK06ytQ@mail.gmail.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Fri, 20 Nov 2020 12:51:55 -0800
Message-ID: <CAK6E8=fhhawNxt==MY5TpQGMix=Wdm_XmpOf4fF=_XSHeFYxjw@mail.gmail.com>
To: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org>
Cc: Praveen Balasubramanian <pravb=40microsoft.com@dmarc.ietf.org>, "mattmathis=40google.com@dmarc.ietf.org" <mattmathis=40google.com@dmarc.ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>, "ianswett=40google.com@dmarc.ietf.org" <ianswett=40google.com@dmarc.ietf.org>, Nandita Dukkipati <nanditad@google.com>
Content-Type: multipart/alternative; boundary="00000000000014dab505b4900681"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/MgmJVSWHPbngIBZZAgqJQ4OLVgc>
Subject: Re: [tcpm] [EXTERNAL] Re: Introduce RFC 6937 bis (Proportional Rate Reduction) as a tcpm work item? INPUT NEEDED
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: Fri, 20 Nov 2020 20:52:40 -0000

Thanks for everybody's reply and support

One additional thing we authors would like more feedback on is ECN. The
current RFC and proposed -bis do not cover ECN handling. However in Linux,
ECN handling uses the same PRR algorithm (aka "CWR" aka "cwnd reduction")
just like fast recovery. In other words, if RFC3168 or DCTCP triggers a
congestion window reduction, PRR takes over to control the transmission
until SND_UNA crosses SND.NXT upon reduction.

This arrangement was inherented from the original Linux rate-halving design
before the PRR was introduced. This paper has details
https://www.cs.helsinki.fi/research/iwtcp/papers/linuxtcp.pdf

Compared to fast recovery, this part of the implementation is far less
tested due to the lack of wide classic-ECN usage on the Internet. It's also
unclear how other PRR implementations have applied to ECN handling like
Linux does. Adding ECN handling in -bis PS makes me uneasy.

On Thu, Nov 19, 2020 at 12:57 PM Neal Cardwell <ncardwell=
40google.com@dmarc.ietf.org> wrote:

> I am very supportive of updating PRR to PS status and adopting this as a
> TCPM work item. I will be happy to review the document as well.
>
> The "Tentative path forward" outlined by Matt sounds good to me.
>
> best,
> neal
>
>
>
>
> On Thu, Nov 19, 2020 at 12:37 PM Praveen Balasubramanian <pravb=
> 40microsoft.com@dmarc.ietf.org> wrote:
>
>> I am supportive of updating PRR to PS status and will review the document.
>>
>>
>>
>> Re. QUIC. The current loss recovery spec for QUIC already refers to PRR
>> as a MAY and has similar other references to TCP RFCs without any
>> additional text for QUIC specific adaptations. The current title of RFC
>> 6937 scopes it to TCP: Proportional Rate Reduction for TCP. I also see
>> about 38 hits for the word TCP in the text.
>>
>>
>>
>> *From:* tcpm <tcpm-bounces@ietf.org> *On Behalf Of * Matt Mathis
>> *Sent:* Thursday, November 19, 2020 8:41 AM
>> *To:* Gorry Fairhurst <gorry@erg.abdn.ac.uk>; Ian Swett <ianswett=
>> 40google.com@dmarc.ietf.org>
>> *Cc:* tcpm@ietf.org Extensions <tcpm@ietf.org>
>> *Subject:* [EXTERNAL] Re: [tcpm] Introduce RFC 6937 bis (Proportional
>> Rate Reduction) as a tcpm work item? INPUT NEEDED
>>
>>
>>
>> If we can get away with a non-normative description of the heuristic,
>> QUIC is no problem at all.    If we need normative descriptions, then TCP
>> and QUIC have to be different, and we need to include normative references
>> to both recovery machines and recovery state variables, which are not in
>> scope for the current doc.
>>
>>
>>
>> I would prefer to stay with a non-normative description of the heuristic,
>> and scrub the rest of the document for language that conflicts with QUIC.
>>
>>
>> Thanks,
>>
>> --MM--
>> The best way to predict the future is to create it.  - Alan Kay
>>
>> We must not tolerate intolerance;
>>
>>        however our response must be carefully measured:
>>
>>             too strong would be hypocritical and risks spiraling out of
>> control;
>>
>>             too weak risks being mistaken for tacit approval.
>>
>>
>>
>>
>>
>> On Thu, Nov 19, 2020 at 6:37 AM Gorry Fairhurst <gorry@erg.abdn.ac.uk>
>> wrote:
>>
>> On 19/11/2020 14:20, Ian Swett wrote:
>>
>> I support this work.
>>
>>
>>
>> One question for authors and the group.  This specification could be
>> applied to QUIC, but my memory is that there are some small changes to
>> adapt it correctly.  Would noting those changes be in scope for this
>> document, a separate document in QUIC, or an exercise left to the reader?
>> I'd be happy to contribute any QUIC specific text if that's helpful.
>>
>>
>>
>> Thanks, Ian
>>
>> I'd hope the differences for QUIC ARE captured in the RFC series. If they
>> are small, it might be possible to add to this draft perhaps?
>>
>> Gorry
>>
>>
>>
>> On Thu, Nov 19, 2020 at 2:43 AM Scheffenegger, Richard <rs.ietf@gmx.at>
>> wrote:
>>
>> As the heuristic is the one major improvement over RFC6937, that is the
>> one area I am especially interested in. Currently working to have PRR in
>> FreeBSD, it would be the best time window to add this heuristig instead
>> of switching between the two variants in a static fashion.
>>
>> I support this and will certainly be reviewing the documents and provide
>> feedback!
>>
>> Richard
>>
>>
>> Am 19.11.2020 um 04:56 schrieb Matt Mathis:
>> > The authors of PRR would like to update PRR to Proposed Standard
>> > status.  This entails introducing a new document as an tcpm work item.
>> >
>> > *Please indicate (non) support and/or comment.*
>> >
>> > For more details see the tcpm meeting materials from IETF 109
>> > minutes:
>> > https://datatracker.ietf.org/meeting/109/materials/minutes-109-tcpm-00
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fmeeting%2F109%2Fmaterials%2Fminutes-109-tcpm-00&data=04%7C01%7Cpravb%40microsoft.com%7Cc95254bcba0f41c14f3608d88ca9eac5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637414008705303486%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GotM4AhjDjqbRs6okuMEeAQxQBUmmuNaFhI7grBtQu4%3D&reserved=0>
>> > slides: https://tools.ietf.org/html/draft-mathis-tcpm-rfc6937bis-00
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-mathis-tcpm-rfc6937bis-00&data=04%7C01%7Cpravb%40microsoft.com%7Cc95254bcba0f41c14f3608d88ca9eac5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637414008705303486%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1I8wixEmKrng%2FqDAzYajQpv85dagIleRdvqCSupoaUQ%3D&reserved=0>
>> >
>> > There were about four "I support this work" remarks at the mic (not
>> > recorded in the minutes), and about as many in the Meetecho chat.
>> >
>> > Abridged IETF/tcpm/PRRbis slides:
>> > --
>> > PRR  recap (RFC6937 experimental)
>> > PRR is a special congestion control effective only during fast recovery
>> >
>> >   * When inflight >= ssthresh, send at loss_beta*rate_before_loss (e.g.
>> >     loss_beta = 0.5 for Reno (aka rate-halving), 0.7 for Cubic)
>> >   * When inflight < ssthresh, send at the same or twice the
>> >     delivery_rate (more later)
>> >   * Used by all congestion control modules in Linux during fast recovery
>> >       o Can be more dominant than the actual C.C. for lossy flows
>> >         that’re in fast recovery constantly (e.g. video streaming
>> >         through policers)
>> >
>> > --
>> > Current Status
>> >
>> >   *
>> >
>> >     PRR is widely deployed
>> >
>> >       o
>> >
>> >         At least three major OSs: Linux, Windows, (NetFlix) BSD
>> >
>> >       o
>> >
>> >         Vast majority of Web traffic for years
>> >
>> >   *
>> >
>> >     No changes to algorithms published in RFC 6937
>> >
>> >       o
>> >
>> >         PRR-CRB - Conservative Reduction Bound - strict packet
>> >         conversion during loss recovery
>> >
>> >       o
>> >
>> >         PRR-SSRB - Slowstart Reduction Bound - one extra segment per ACK
>> >         during loss recovery
>> >
>> >   *
>> >
>> >     2015 Heuristic to dynamically select which reduction bound
>> >
>> >       o
>> >
>> >         Only use PRR-SSRB when making good forward progress
>> >
>> >           +
>> >
>> >             ACKs that advanced snd.una and report no new losses
>> >
>> >       o
>> >
>> >         Resolves some pathological cases with token bucket policers
>> >
>> >           +
>> >
>> >             CC estimates ssthresh before it can possibly measure the
>> >             token rate
>> >
>> >           +
>> >
>> >             The heuristic makes the best of a bad situation
>> >
>> > --
>> > Tentative path forward
>> >
>> >   *
>> >
>> >     Adopt as a tcpm work item
>> >
>> >   *
>> >
>> >     Update the text
>> >
>> >       o
>> >
>> >         Normative RFC 2119 language
>> >
>> >       o
>> >
>> >         Add MAY use the heuristic...
>> >
>> >       o
>> >
>> >         Trim redundant and obsolete language
>> >
>> >           +
>> >
>> >             RFC 6937 repeats itself and is much longer than necessary
>> >
>> >           +
>> >
>> >             Focus on what an implementer needs to know
>> >
>> >           +
>> >
>> >             Use non-normative references to RFC 6937 for prior
>> >             measurement work, etc
>> >
>> > Thanks,
>> > --MM--
>> > The best way to predict the future is to create it.  - Alan Kay
>> >
>> > We must not tolerate intolerance;
>> >         however our response must be carefully measured:
>> >              too strong would be hypocritical and risks spiraling out of
>> > control;
>> >              too weak risks being mistaken for tacit approval.
>> >
>> > _______________________________________________
>> > tcpm mailing list
>> > tcpm@ietf.org
>> > https://www.ietf.org/mailman/listinfo/tcpm
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Ftcpm&data=04%7C01%7Cpravb%40microsoft.com%7Cc95254bcba0f41c14f3608d88ca9eac5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637414008705313440%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=JZsMBF3VehUvHSJfggPYbPco34h9UiTG%2BKbyXU1Bz%2BA%3D&reserved=0>
>> >
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Ftcpm&data=04%7C01%7Cpravb%40microsoft.com%7Cc95254bcba0f41c14f3608d88ca9eac5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637414008705313440%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=JZsMBF3VehUvHSJfggPYbPco34h9UiTG%2BKbyXU1Bz%2BA%3D&reserved=0>
>>
>>
>>
>> _______________________________________________
>>
>> tcpm mailing list
>>
>> tcpm@ietf.org
>>
>> https://www.ietf.org/mailman/listinfo/tcpm <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Ftcpm&data=04%7C01%7Cpravb%40microsoft.com%7Cc95254bcba0f41c14f3608d88ca9eac5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637414008705313440%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=JZsMBF3VehUvHSJfggPYbPco34h9UiTG%2BKbyXU1Bz%2BA%3D&reserved=0>
>>
>>
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Ftcpm&data=04%7C01%7Cpravb%40microsoft.com%7Cc95254bcba0f41c14f3608d88ca9eac5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637414008705323397%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=JXlBlyxDMB2qQUlx%2BY44b7fZfgcj8HaDcEAkfAv7AAI%3D&reserved=0>
>>
>> _______________________________________________
>> 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
>