Re: [art] [tcpm] Artart last call review of draft-ietf-tcpm-rfc8312bis-14

Vidhi Goel <vidhi_goel@apple.com> Fri, 13 January 2023 04:16 UTC

Return-Path: <vidhi_goel@apple.com>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 314AAC14792D; Thu, 12 Jan 2023 20:16:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OsArshERuegx; Thu, 12 Jan 2023 20:16:15 -0800 (PST)
Received: from ma1-aaemail-dr-lapp01.apple.com (ma1-aaemail-dr-lapp01.apple.com [17.171.2.60]) (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 854A8C1522A0; Thu, 12 Jan 2023 20:16:15 -0800 (PST)
Received: from pps.filterd (ma1-aaemail-dr-lapp01.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp01.apple.com (8.16.0.42/8.16.0.42) with SMTP id 30D4GDmh002987; Thu, 12 Jan 2023 20:16:13 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=FvFwdD7UsvmIxOABM0Mo+UmWzJmT33VwVevX3xZfy0E=; b=LpJantKhop5ffHkvJAEF4fwAI6ybEJ7EIBmSVhwWYco8Jxy0Z06/hI1WwFEMQ0jlxr9R cS1hUh8DZ1Fy0xEUauSvgBN/LBXTiWZuMcyt2y2LDAGUEIThVxFr9bIr8KIkVTE0BNWs fDWNJoUjSFYfgYBkBanVRe005QfwX27AYmlZ4Jb3KFW74mxlvw3+KqVOHA6QRSci+mxP sYCL1vSyHz3MTQN9TE6g8Zps0w/N+HD7hu/l3tCO3y/BOY0GtexE3effSBkyEQMhVPhq YYjQ3AfOy+XohHMoCi/Mq1qmOt6fHoIfxfkPCq6cOQNEhd5te5n3jLtIj8fcbpF/2RF6 CA==
Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by ma1-aaemail-dr-lapp01.apple.com with ESMTP id 3my8966wkh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 12 Jan 2023 20:16:13 -0800
Received: from rn-mailsvcp-policy-lapp01.rno.apple.com (rn-mailsvcp-policy-lapp01.rno.apple.com [17.179.253.18]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.20.20220923 64bit (built Sep 23 2022)) with ESMTPS id <0ROE00SE5P70ODD0@rn-mailsvcp-mta-lapp03.rno.apple.com>; Thu, 12 Jan 2023 20:16:12 -0800 (PST)
Received: from process_milters-daemon.rn-mailsvcp-policy-lapp01.rno.apple.com by rn-mailsvcp-policy-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.20.20220923 64bit (built Sep 23 2022)) id <0ROE01000OP3OV00@rn-mailsvcp-policy-lapp01.rno.apple.com>; Thu, 12 Jan 2023 20:16:12 -0800 (PST)
X-Va-A:
X-Va-T-CD: c9a8c62612683e94e666e58a4ad9cc9b
X-Va-E-CD: dd34ae209fcdb364fa0ecc91f8d25743
X-Va-R-CD: db3657d865a02d2ca88f2e4fc49ce52a
X-Va-ID: ce404db9-118a-4715-a1da-2e8e8e98b164
X-Va-CD: 0
X-V-A:
X-V-T-CD: c9a8c62612683e94e666e58a4ad9cc9b
X-V-E-CD: dd34ae209fcdb364fa0ecc91f8d25743
X-V-R-CD: db3657d865a02d2ca88f2e4fc49ce52a
X-V-ID: 7cb83eb1-48fe-4a6e-ad22-e891f97acf71
X-V-CD: 0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.545, 18.0.923 definitions=2023-01-12_14:2023-01-12, 2023-01-12 signatures=0
Received: from smtpclient.apple (unknown [17.234.103.78]) by rn-mailsvcp-policy-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.20.20220923 64bit (built Sep 23 2022)) with ESMTPSA id <0ROE00K3VP6Z8600@rn-mailsvcp-policy-lapp01.rno.apple.com>; Thu, 12 Jan 2023 20:16:12 -0800 (PST)
From: Vidhi Goel <vidhi_goel@apple.com>
Message-id: <3756EC8E-6238-443D-B52D-FE17F4E42CAE@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_617C9502-733F-4405-97A5-1AF2B13BBA94"
MIME-version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\))
Date: Thu, 12 Jan 2023 20:16:11 -0800
In-reply-to: <167296549915.18484.7638717920673299264@ietfa.amsl.com>
Cc: art@ietf.org, draft-ietf-tcpm-rfc8312bis.all@ietf.org, last-call@ietf.org, tcpm@ietf.org
To: Spencer Dawkins <spencerdawkins.ietf@gmail.com>
References: <167296549915.18484.7638717920673299264@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3696.80.82.1.1)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.545, 18.0.923 definitions=2023-01-12_14:2023-01-12, 2023-01-12 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/mzZzPavGHOZNexpB6bzmlltmS1s>
Subject: Re: [art] [tcpm] Artart last call review of draft-ietf-tcpm-rfc8312bis-14
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 13 Jan 2023 04:16:17 -0000

Thank you Spencer for your review.

> Because this is an ARTART review of a TCP-level specification, I don't expect
> to see impacts of an implementation of this version of CUBIC that would be
> visible to an application using TCP, and especially impacts that the
> application could rely on, because CUBIC behavior is likely to depend on what
> competing flows from other applications are present along the path that the
> application is sharing, and no new "knobs" are provided for applications to
> control CUBIC-level decisions.

> Would the authors agree with that characterization? If not, it would be worth
> saying explicitly what applications might notice when moving to this version of
> CUBIC from one of the RENO versions, or from the RFC 8312 version of CUBIC.
With the bugs fixed in rfc8312-bis, CUBIC will utilize the link more efficiently which is the goal of any congestion control algorithm. The impact of such change to applications can include many things, for example, faster completion time, but as you said, it also depends on other competing traffic.
So, yes, I agree that we can’t define a certain behavior on which an application can rely on.

> In the Introduction, I see this text:
> =====>
> This document updates the specification of CUBIC to include algorithmic
> improvements based on the Linux, Windows, and Apple implementations and recent
> academic work. Based on the extensive deployment experience with CUBIC, it also
> moves the specification to the Standards Track, obsoleting [RFC8312]. This
> requires an update to Section 3 of [RFC5681], which limits the aggressiveness
> of Reno TCP implementations. Since CUBIC is occasionally more aggressive than
> the [RFC5681] algorithms, this document updates the first paragraph of Section
> 3 of [RFC5681], replacing it with a normative reference to guideline (1) in
> Section 3 of [RFC5033], which allows for CUBIC's behavior as defined in this
> document. <===== I see the description of how [RFC5681] is being updated, but I
> imagine some readers would appreciate explicit "OLD/NEW" text, so that anyone
> working on a 5681bis document would know what their starting text says, and
> would appreciate the discussion of what documents are being obsoleted and
> updated appearing in its own section, so it would be easier to spot.

Ok. I think Ines Robles was also alluding to this. So, I have added new text to specify this in more detail. Please see https://github.com/NTAP/rfc8312bis/pull/163 <https://github.com/NTAP/rfc8312bis/pull/163>. 

> I see that this document contains text (for example, in Section 3.2. Principle
> 2 for Reno-Friendliness) which continues the terminology from RFC 8312
> referring to "small-BDP networks" and "large-BDP networks" (although these are
> not consistently hyphenated).

Fixed this in the above PR.

>> From a host's perspective, are these more correctly described as "small-BDP
> paths" and "large-BDP paths"? I'm not sure how a host, or even two hosts, would
> know what other paths in the network(s) might have as their BDPs.
Not sure what you mean here. “Paths” and “networks” have been used interchangeably in the document (most likely, in most networking literature), even though a network can consist of many paths. IMO, it is fine to use either.

> Section 3.2's introduction of "bandwidth-delay product", in this text, seemed
> clunky. =====> CUBIC promotes per-flow fairness to Reno. Note that Reno
> performs well over paths with short RTTs and small bandwidths (or small BDPs).
> There is only a scalability problem in networks with long RTTs and large
> bandwidths (or large BDPs). <===== I thought the point here was that it didn't
> matter whether you ended up with a small or large bandwidth-delay product
> because of the RTT or because of the available bandwidth - what matters is
> whether the product of bandwidth and delay is large or small. If that's
> correct, you might reasonably say =====> CUBIC promotes per-flow fairness to
> Reno. Note that Reno performs well over paths with small bandwidth-delay
> products, and only experiences problems when attempting to increase bandwidth
> utilization on paths with large bandwidth-delay products. <=====
> 
> (additionally making the "scalability problem" more explicit)

Ok. Fixed this with your suggestion in the above PR.

> Is it correct that Section 4.7. Fast Convergence is (from an IETF
> standards-track perspective) entirely new? I see there's no reference for this
> mechanism, in the same way that (for example) Sections 5.6 and 5.8 include, but
> is there any prior art that might be acknowledged?

It is correct that this section is new as the concept of returning to previous stable state “W_max” is new to Cubic. I don’t know of any related IETF art. Let me know if there is any and I’d be happy to add it.


Thanks,
Vidhi
> On Jan 5, 2023, at 4:38 PM, Spencer Dawkins via Datatracker <noreply@ietf.org> wrote:
> 
> Reviewer: Spencer Dawkins
> Review result: Ready with Nits
> 
> Please let me start by saying that I'm really impressed by the improved clarity
> and organizational structure of this draft, compared to RFC 8312. Nice work.
> 
> Because this is an ARTART review of a TCP-level specification, I don't expect
> to see impacts of an implementation of this version of CUBIC that would be
> visible to an application using TCP, and especially impacts that the
> application could rely on, because CUBIC behavior is likely to depend on what
> competing flows from other applications are present along the path that the
> application is sharing, and no new "knobs" are provided for applications to
> control CUBIC-level decisions.
> 
> Would the authors agree with that characterization? If not, it would be worth
> saying explicitly what applications might notice when moving to this version of
> CUBIC from one of the RENO versions, or from the RFC 8312 version of CUBIC.
> 
> But, beyond that, I did read through the specification, and I found a few
> places where I thought of suggestions that might be improvements. Please do the
> right thing, of course.
> 
> In the Introduction, I see this text:
> =====>
> This document updates the specification of CUBIC to include algorithmic
> improvements based on the Linux, Windows, and Apple implementations and recent
> academic work. Based on the extensive deployment experience with CUBIC, it also
> moves the specification to the Standards Track, obsoleting [RFC8312]. This
> requires an update to Section 3 of [RFC5681], which limits the aggressiveness
> of Reno TCP implementations. Since CUBIC is occasionally more aggressive than
> the [RFC5681] algorithms, this document updates the first paragraph of Section
> 3 of [RFC5681], replacing it with a normative reference to guideline (1) in
> Section 3 of [RFC5033], which allows for CUBIC's behavior as defined in this
> document. <===== I see the description of how [RFC5681] is being updated, but I
> imagine some readers would appreciate explicit "OLD/NEW" text, so that anyone
> working on a 5681bis document would know what their starting text says, and
> would appreciate the discussion of what documents are being obsoleted and
> updated appearing in its own section, so it would be easier to spot.
> 
> I see that this document contains text (for example, in Section 3.2. Principle
> 2 for Reno-Friendliness) which continues the terminology from RFC 8312
> referring to "small-BDP networks" and "large-BDP networks" (although these are
> not consistently hyphenated).
> 
>> From a host's perspective, are these more correctly described as "small-BDP
> paths" and "large-BDP paths"? I'm not sure how a host, or even two hosts, would
> know what other paths in the network(s) might have as their BDPs.
> 
> Section 3.2's introduction of "bandwidth-delay product", in this text, seemed
> clunky. =====> CUBIC promotes per-flow fairness to Reno. Note that Reno
> performs well over paths with short RTTs and small bandwidths (or small BDPs).
> There is only a scalability problem in networks with long RTTs and large
> bandwidths (or large BDPs). <===== I thought the point here was that it didn't
> matter whether you ended up with a small or large bandwidth-delay product
> because of the RTT or because of the available bandwidth - what matters is
> whether the product of bandwidth and delay is large or small. If that's
> correct, you might reasonably say =====> CUBIC promotes per-flow fairness to
> Reno. Note that Reno performs well over paths with small bandwidth-delay
> products, and only experiences problems when attempting to increase bandwidth
> utilization on paths with large bandwidth-delay products. <=====
> 
> (additionally making the "scalability problem" more explicit)
> 
> Is it correct that Section 4.7. Fast Convergence is (from an IETF
> standards-track perspective) entirely new? I see there's no reference for this
> mechanism, in the same way that (for example) Sections 5.6 and 5.8 include, but
> is there any prior art that might be acknowledged?
> 
> 
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm