Re: [tsvwg] A review of draft-ietf-tsvwg-l4s-arch-09

Neal Cardwell <ncardwell@google.com> Wed, 23 June 2021 03:49 UTC

Return-Path: <ncardwell@google.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F1FFF3A2718 for <tsvwg@ietfa.amsl.com>; Tue, 22 Jun 2021 20:49:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 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, RCVD_IN_DNSWL_NONE=-0.0001, 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=ham 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 dF83UPxWK7TA for <tsvwg@ietfa.amsl.com>; Tue, 22 Jun 2021 20:48:59 -0700 (PDT)
Received: from mail-vk1-xa32.google.com (mail-vk1-xa32.google.com [IPv6:2607:f8b0:4864:20::a32]) (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 EFCE13A2715 for <tsvwg@ietf.org>; Tue, 22 Jun 2021 20:48:58 -0700 (PDT)
Received: by mail-vk1-xa32.google.com with SMTP id s72so213815vkb.8 for <tsvwg@ietf.org>; Tue, 22 Jun 2021 20:48:58 -0700 (PDT)
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=pfykCP06GOt1IVjc7Pz4jOGSxey/kNAi8CdhvY0D8Uw=; b=O+RP0pSlPYj03ZukbuNVrzbMw0nHWdm6CoNOGWbUVOvJAMKelpTxY0fCo6mpoKboj7 CNAyNXiIB0ppSTooJc2fmBmwDX644uKtr4AiLgojz3YXEi6m7vxgJ60fOJrqWAaNJHqQ sksHXMaUGGw/SonrfYYq6nODBjuqfTLHr2AvbtsmtGr66MZnJ/rQqh4aLjilzakZBM7F +kya8q9AzsoZTUoDLRs6Hqos1h06CatPuMtECoadVBG09RQuI4auwBAjxJh8zN1MQSfg KadXKzrmh/ws6uUssM0CPHSzWO0a9ws5pDg4y0zjkGaNAyLIUw6LUMuUlUPbMhBGQzeY qrog==
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=pfykCP06GOt1IVjc7Pz4jOGSxey/kNAi8CdhvY0D8Uw=; b=ooReC+Bz9sWgbeqg7myzqkYeHBwRxNboNAb+ZfPuJR1i868e2ILDWuDXnub5HuB5h0 samSnomcdT5opaWHTYT9mottD6EjXDLTF2S8Rj/4zsMAREP3HfSMpn2RlpTMdzy7+n+N RdLRw3fnwUG5YNmGGGpebMicavNhofCTWNAnY1AAu24L05ivm4/y1ri7yXaa5jBtluRC 5YdtmKEVKfjUhCR3oMfKHyALlN3qPZZSnyks8ww9EBb+Rkhv8Nd+fQkcn/RZRMfsZ+sP Npxz0hf59OrkGkoMc6wQQMpmm6f7Pn9+E2xwZvN/1JtIErx9AIRdDUKnO4CJ23Ioymkp Y29A==
X-Gm-Message-State: AOAM5336j7gbhCcEjOB8WqylJSEwgmhbYwnwqO6ZohjFEBsjfujRDYpb Rs81UnrYyFola1JAg+9KEMiN6gj+lxsgAJGHEOs3pg==
X-Google-Smtp-Source: ABdhPJwf93QqRSN6QZ6puwpa0nV6quNvzV8d9V6lqcUhZoQyvL4HGbMQud+DGiYzsE9m401genLaGdfTJrCnETzedIk=
X-Received: by 2002:a1f:280e:: with SMTP id o14mr22741325vko.19.1624420136791; Tue, 22 Jun 2021 20:48:56 -0700 (PDT)
MIME-Version: 1.0
References: <AE7135D9-9F44-4D9E-80F4-4D4C98B87D1B@apple.com> <dfd28fb1-f489-6e03-c961-a147749155e6@bobbriscoe.net> <67058C86-BCE2-40E5-9E21-E5F37FE47AF0@apple.com>
In-Reply-To: <67058C86-BCE2-40E5-9E21-E5F37FE47AF0@apple.com>
From: Neal Cardwell <ncardwell@google.com>
Date: Tue, 22 Jun 2021 23:48:39 -0400
Message-ID: <CADVnQy=Yj=WCgEkzpEW0Y=Z_2p2nVEmS1QDrDUuQ9euCeOApQQ@mail.gmail.com>
To: Vidhi Goel <vidhi_goel=40apple.com@dmarc.ietf.org>
Cc: Bob Briscoe <ietf@bobbriscoe.net>, tsvwg IETF list <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000038a5c505c566c957"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/i7E6GXH_HOvtOR8wRIFkUWO77o0>
Subject: Re: [tsvwg] A review of draft-ietf-tsvwg-l4s-arch-09
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Jun 2021 03:49:04 -0000

Thanks, Bob. All of your responses/updates sound good to me as well, for
what it's worth.

Best,
neal


On Tue, Jun 22, 2021 at 11:05 PM Vidhi Goel <vidhi_goel=
40apple.com@dmarc.ietf.org> wrote:

>
> Hi Bob,
>
> Thanks for taking care of my comments so promptly. I am satisfied with all
> your responses.
> I agree that referring to the Linux implementation for BBRv2 would be more
> informative wherever the draft talks about implementation.
>
> Looking forward to read the updated draft.
>
> Thanks,
> Vidhi
>
> On Jun 22, 2021, at 2:15 PM, Bob Briscoe <ietf@bobbriscoe.net> wrote:
>
> Vidhi,
>
> Thank you for this constructive review.
> Inline tagged [BB]...
>
>
> On 22/06/2021 05:02, Vidhi Goel wrote:
>
> Dear L4S authors,
>
> I have a few comments on the architecture draft.
>
> 1. Section 4, Protocols
>
>  >> much more frequent signals--too often to require an equivalent
>     excessive degree of drop from non-ECN flows;
>
> I am a little confused by this statement. Is it saying that the frequent signaling in L4S is too often that it is equivalent to the “drop” signal in case of non-ECN flows? Or does the too often ECN signal requires an a certain degree of drop from non-ECN?
>
> I think it means the former but still bit a confusing to read.
>
>  Similar question about the second bullet, too soon for L4S here means it will result in the same effect as drop for non-ECN, right?
>
>  >> immediately tracking every fluctuation of the queue--too soon
>     to warrant dropping packets from non-ECN flows.
>
>
> [BB] Yes, I admit I was trying to pack too much into the bullets. Does the
> following make better sense?:
>
>    a.                                        ... responded to by hosts.
>        L4S needs networks and hosts to support a more fine-grained
>        meaning for each ECN signal that is less severe than a drop, so
>        that the L4S signals:
>
>        *  can be much more frequent;
>
>        *  can immediately track every fluctuation of the queue.
>
>        A drop is both an impairment and a congestion signal, so while
>        ECN was equivalent to drop, it could not be used too frequently
>        or too immediately without non-ECN flows having to be subjected
>        to an equivalent degree of loss, and therefore excessive
>        impairment.  To enable L4S,...
>
>
>
> 2. Section 4, Network
>
>   >> Then the Classic
>      AQM such as CoDel or PIE is applied to non-ECN or ECT(0) packets,
>      while the shallow threshold is applied to ECT(1) packets, to give
>      sub-millisecond average queue delay.
>
> If the bottleneck with CoDel has both classic and L4S packets in the queue
> at the same time, then a “shallow threshold” for L4S can’t guarantee sub-ms
> queue delay, right?
>
>
> [BB] Yes, we didn't make the modification clear. Is this clearer:
>
>    b.  A scheduler with per-flow queues such as FQ-CoDel or FQ-PIE can
>        be used for L4S by simply modifying the classifiers in the
>        existing design.  For instance within each queue of an FQ-CoDel
>        system, as well as a CoDel AQM, there is typically also ECN
>        marking at an immediate (unsmoothed) shallow threshold to support
>        use in data centres (see Sec.5.2.7 of [RFC8290]).  This can be
>        modified so that the shallow threshold is solely applied to
>        ECT(1) packets.  Then if there is a flow of non-ECN or ECT(0)
>        packets in the per-flow-queue, the Classic AQM such as CoDel or
>        PIE is applied; while if there is a flow of ECT(1) packets in the
>        queue, the shallower threshold is applied to give sub-millisecond
>        average queue delay.  In addition, a mix of ECT(1) and ECT(0) or
>        not-ECT packets (e.g. due to a hash collision or a VPN) can be
>        classified into separate per-flow queues.
>
>
>
>
> 3. Section 4, Hosts
>     >> Also the L4S ECN part of
>
>     BBRv2 [I-D.cardwell-iccrg-bbr-congestion-control <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-l4s-arch-09#ref-I-D.cardwell-iccrg-bbr-congestion-control>] is a scalable
>     congestion control intended for the TCP and QUIC transports,
>     amongst others.
>
> The BBR draft has no mention of L4S ECN so far. Are we expecting an
> updated BBR draft and reference? There is another reference in Section 5.2.
>
>
> [BB] It is in the published implementation, but you're correct that the
> the draft is still at revision -00 from Jul 2017 and describes BBRv1
> without L4S. For now I have referred to the Linux implementation when
> talking specifically about v2, and I have referred to the draft when just
> discussing generally how the delay-based part of BBR works.
>
> 4. Section 5.1
>     >> The consequent smaller amplitude sawteeth
>
>     fit between a very shallow marking threshold and an empty
>     queue, so queue delay variation can be very low, without risk
>     of under-utilization.
>
> Is there a description of what "very shallow marking threshold” means in terms of time or anything else?
> I think it would be good to quantify this term, even if it is approximate.
>
>
> [BB] I've changed to "very shallow (~1 ms) marking threshold"
> This quantification is discussed in much more detail in the AQM spec:
> draft-ietf-tsvwg-aqm-dual-queue-coupled
>
> 5. Section 5 has a lot of redundant info, perhaps it can be shortened. Some of it can be combined with Section 3 - terminology.
>
>
> [BB] I think some of the redundancy is between the Architecture Components
> Section (4) and the Rationale section (5) as well.
> The rationale section is useful to avoid having to justify everything
> earlier on, so everything can be introduced more quickly before going into
> detail in a second pass. But sometimes you feel you have to justify
> something when you first introduce it. I'll try to be more ruthless.
>
> I'm going to have to use old technology (print out the draft and write on
> it by hand), to try to see where there is duplication, and which duplicate
> to keep.
>
>
> 6. Section 5.2
>
>    >> The L4S architecture does not require the IETF to commit to
>
>     one approach over the other, because it supports both, so that
>     the market can decide.
>
> Minor suggestion: s/market/industry
>
>
> [BB] I know that is technically more accurate, because not everything is
> for sale, but "Let the market decide" is a common idiom used across the
> IETF whether or not something is for sale, e.g. RFC5218, RFC6670. If you
> feel strongly, I can change it, but for now I have just pt 'market' in
> quotes.
>
> I would really appreciate if you could re-organize Section 5 as some of the content in that section was previously covered.
> If needed, I can work with you on this.
>
>
>
> [BB] Thanks. I'm starting work on that now. I'll be in touch if I need a
> second opinion on anything, and whatever, I'll run the diffs past you
> before posting.
>
> And thank you for the review. Always useful to get new eyes on a draft to
> see things in plain sight that those of us familiar with a draft no longer
> notice.
>
> Cheers
>
>
> Bob
>
>
>
> Thanks,
>
> Vidhi
>
>
>
> --
> ________________________________________________________________
> Bob Briscoe                               http://bobbriscoe.net/
>
>
>