Re: [tcpm] Review of draft-ietf-tcpm-alternativebackoff-ecn-05

Naeem Khademi <naeemk@ifi.uio.no> Wed, 14 February 2018 09:16 UTC

Return-Path: <naeemk@ifi.uio.no>
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 CF575126B6D; Wed, 14 Feb 2018 01:16:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.21
X-Spam-Level:
X-Spam-Status: No, score=-3.21 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MANY_SPAN_IN_TEXT=1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 ju2fYJ0XQi-a; Wed, 14 Feb 2018 01:16:00 -0800 (PST)
Received: from mail-out01.uio.no (mail-out01.uio.no [IPv6:2001:700:100:10::50]) (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 9BDA7126E64; Wed, 14 Feb 2018 01:15:59 -0800 (PST)
Received: from mail-mx01.uio.no ([129.240.10.26]) by mail-out01.uio.no with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from <naeemk@ifi.uio.no>) id 1eltAT-0005WX-Ki; Wed, 14 Feb 2018 10:15:57 +0100
Received: from mail-ex13.exprod.uio.no ([129.240.120.75]) by mail-mx01.uio.no with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) (Exim 4.90_1) (envelope-from <naeemk@ifi.uio.no>) id 1eltAQ-0004iK-Ki; Wed, 14 Feb 2018 10:15:57 +0100
Received: from mail-ex01.exprod.uio.no (2001:700:100:52::4) by mail-ex13.exprod.uio.no (2001:700:100:120::75) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Wed, 14 Feb 2018 10:15:51 +0100
Received: from mail-ex01.exprod.uio.no ([fe80::5c5b:6cfb:485b:6990]) by mail-ex01.exprod.uio.no ([fe80::5c5b:6cfb:485b:6990%19]) with mapi id 15.00.1347.000; Wed, 14 Feb 2018 10:15:51 +0100
From: Naeem Khademi <naeemk@ifi.uio.no>
To: "Scharf, Michael (Nokia - DE/Stuttgart)" <michael.scharf@nokia.com>
CC: "draft-ietf-tcpm-alternativebackoff-ecn@ietf.org" <draft-ietf-tcpm-alternativebackoff-ecn@ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>
Thread-Topic: Review of draft-ietf-tcpm-alternativebackoff-ecn-05
Thread-Index: AdOHRCmk6LmPog6RT5iBs2Z7tL2zGQeJ9z6A
Date: Wed, 14 Feb 2018 09:15:51 +0000
Message-ID: <8EC5BA0C-61E0-4304-860F-E3D5D135A031@ifi.uio.no>
References: <AM5PR0701MB25477DB68DEEDCADECDF4C5D931D0@AM5PR0701MB2547.eurprd07.prod.outlook.com>
In-Reply-To: <AM5PR0701MB25477DB68DEEDCADECDF4C5D931D0@AM5PR0701MB2547.eurprd07.prod.outlook.com>
Accept-Language: en-GB, nb-NO, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3445.5.20)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [129.240.169.59]
Content-Type: multipart/alternative; boundary="_000_8EC5BA0C61E04304860FE3D5D135A031ifiuiono_"
MIME-Version: 1.0
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx01.uio.no: 129.240.120.75 is neither permitted nor denied by domain of ifi.uio.no) client-ip=129.240.120.75; envelope-from=naeemk@ifi.uio.no; helo=mail-ex13.exprod.uio.no;
X-UiO-Spam-info: not spam, SpamAssassin (score=-0.7, required=5.0, autolearn=disabled, HTML_MESSAGE=0.001, MANY_SPAN_IN_TEXT=1, RCVD_IN_DNSWL_MED=-2.3, SPF_NEUTRAL=0.652, T_RP_MATCHES_RCVD=-0.01, uiobl=NO, uiouri=NO)
X-UiO-Scanned: C8DC3D3E87F8D46D7F9C0624D8957A935B157992
X-UiOonly: CA6B3B0F75512A1CA61D0AF83EA21FAE163BD8FC
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/OUw4n5XMoKcN7Jx7zSwqL-Bo_XU>
Subject: Re: [tcpm] Review of draft-ietf-tcpm-alternativebackoff-ecn-05
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 14 Feb 2018 09:16:04 -0000

Hi Michael

Thanks a lot for the feedback. We have submitted the -06 version based on your reviews (https://www.ietf.org/internet-drafts/draft-ietf-tcpm-alternativebackoff-ecn-06.txt). Here are some inline responses to your comments:

On Jan 7, 2018, at 12:18 AM, Scharf, Michael (Nokia - DE/Stuttgart) <michael.scharf@nokia.com<mailto:michael.scharf@nokia.com>> wrote:

Authors, all,

I have read draft-ietf-tcpm-alternativebackoff-ecn-05. I found some minor issues that should be easy to fix; in many cases the issues are editorial. Yet, I believe a document update would be useful. See below [ms].

Thanks

Michael (with no hat on)


*******************************

Abstract

   Recent Active Queue Management (AQM) mechanisms allow for burst
   tolerance while enforcing short queues to minimise the time that
   packets spend enqueued at a bottleneck.

[ms] Nit: I am not sure if the term “recent” is really needed. IMHO any AQM, including old vanilla RED, can have this property, if it is properly configured. As a result, I think the sentence would also be correct without the word “recent”. This would somewhat avoid the question (in particular in the abstract) how to handle bottlenecks that use e.g. vanilla RED instead of a “recent” AQM.

NKH: fixed.



1.  Definitions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

[ms] Nit: Maybe the new wording in RFC8174 could be used. As an editorial nit, Section 1 and 2 could be swapped, but the order may be a matter of taste.

NKH: done.



4.1.  Why Use ECN to Vary the Degree of Backoff?

   When packet
   loss is inferred using the retransmission timer and the given packet
   has not yet been resent by way of the retransmission timer (regarded
   as a notification of congestion), Standard TCP sets the ssthresh to
   the maximum of half of the FlightSize and 2*SMSS [RFC5681], which
   causes the TCP congestion control to go back to allowing only a BDP
   of packets in flight -- just sufficient to maintain 100% utilisation
   of the bottleneck on the network path.

[ms] This reference of RFC5681 and eq. (4) therein only mentions the reaction to RTO (Section 3.1 in RFC5681) but omits the use in Fast Retransmit/Fast Recovery (Section 3.2 in RFC5681). Thus, the reference is a bit misleading, since this section actually seems to be about Fast Retransmit/Fast Recovery. And, as a purely editorial remark, I think the sentence is long and hard to parse. I think an alternative wording would be possible along the lines of:

<ms>
   According to [RFC5681], when a TCP sender detects segment loss
   using the retransmission timer and the given segment has not yet been
   resent by way of the retransmission timer, the value of ssthresh must be
   set to no more of the maximum of half of the FlightSize and 2*SMSS. The
   same equation is also used during Fast Retransmit/Fast Recovery
   [RFC5681]. As a result, the TCP congestion control only allows one BDP
   of packets in flight. This is just sufficient to maintain 100% utilisation
   of the bottleneck on the network path.
</ms>

NKH: used the proposed wording.

4.2.  Focus on ECN as Defined in RFC3168

   Some transport protocol mechanisms rely on ECN semantics that differ
   from the original ECN definition [RFC3168] -- for example, Congestion
   Exposure (ConEx) [RFC7713] and Datacenter TCP (DCTCP)
   [I-D.ietf-tcpm-dctcp] need more accurate ECN information than that
   offered by the original feedback method.  Other mechanisms (e.g.,
   [I-D.ietf-tcpm-accurate-ecn]) allow the sender to adjust the rate
   more frequently than once each path RTT.  Use of these mechanisms is
   out of scope for this document.

[ms] I think [I-D.ietf-tcpm-accurate-ecn] specifies a scheme to provide more than one feedback signal per RTT. It is not exactly clear to me what is meant by “adjusting the rate more frequently”. Editorial nits: DCTCP is published as RFC 8257. And I think the subsection title could be repeated in the main text (“This specification focuses on…”).

NKH: the block of text reads as the following now:

   Some transport protocol mechanisms rely on ECN semantics that differ
   from the original ECN definition [RFC3168].  For instance, Accurate
   ECN [I-D.ietf-tcpm-accurate-ecn] permits more frequent and detailed
   feedback.  Use of mechanisms (such as Accurate ECN, Datacenter TCP
   (DCTCP) [RFC8257], or Congestion Exposure (ConEx) [RFC7713]) is out
   of scope for this document.  This specification focuses on ECN as
   defined in [RFC3168].



4.3.  Choice of ABE Multiplier

   ABE decouples the reaction of a TCP sender to inferred packet loss
   and ECN-signalled congestion when in the congestion avoidance phase
   by differentiating the scaling factor used in Equation 4 in
   Section 3.1 of [RFC5681].

[ms] Editorial nit: This sentence seems somewhat broken (“when”?). Maybe an alternative would be:

<ms>
   ABE decouples the reaction of a TCP sender to inferred packet loss
   and ECN-signalled congestion in the congestion avoidance phase.
   To achieve this, ABE uses different the scaling factor in Equation 4 in
   Section 3.1 of [RFC5681].
</ms>

NKH: fixed based on the suggested text.

   beta_{ecn} depends on how the response of a TCP connection to shallow
   AQM marking thresholds is optimised. beta_{loss} reflects the
   preferred response of each congestion control algorithm when faced
   with exhaustion of buffers (of unknown depth) signalled by packet
   loss.  Consequently, for any given TCP congestion control algorithm
   the choice of beta_{ecn} is likely to be algorithm-specific, rather
   than a constant multiple of the algorithm's existing beta_{loss}. The
   recommended beta_{ecn} value in this document is only applicable for
   Standard TCP congestion control.

[ms] In this section one has to reverse-engineer what “recommended beta_{ecn} value in this document” means. Why not make this explicit? In addition, with some editorial reordering this section could be easier to read, e.g., as follows:

<ms>
  The recommendation in Section 3 in this document corresponds to a value
  of beta_{ecn}=0.8. This recommended beta_{ecn} value is only applicable for
  the standard TCP congestion control [RFC5681]. The selection of
  beta_{ecn} enables tuning the response of a TCP connection to shallow
  AQM marking thresholds. beta_{loss} characterizes the response of a
  congestion control algorithm to packet loss, i.e., exhaustion of buffers
  (of unknown depth). Different values for beta_{loss} have been suggested
 for TCP congestion control algorithms.  Consequently, beta_{ecn} is likely
  to be an algorithm-specific parameter rather than a constant multiple
  of the algorithm's existing beta_{loss}.
</ms>

NKH: inserted the proposed text.



5.  ABE Requirements

[ms] Edorial nit: An alternative title would maybe “ABE Deployment Requirements”.

NKH: done.


   If the method is only deployed by some senders, and not by others,
   the senders that use this method can gain some advantage, possibly at
   the expense of other flows that do not use this updated method.
   Because this advantage applies only to ECN-marked packets and not to
   packet loss indications, in the worst case (e.g., an ABE-compliant
   TCP sender using beta_{ecn} = 1.0) the ECN-Capable bottleneck will
   still fall back to dropping packets, and the result is no different
   than if the TCP sender was using traditional loss-based congestion
   control.

[ms] beta_{ecn} = 1.0 can imply that a TCP sender does not react *at all* to ECN marks, right? If so, I would suggest to reword this section in order to avoid the expression “ABE-compliant” for the case beta_{ecn} = 1.0. For instance, the second sentence could be reworded to something like  “Because this advantage applies only to ECN-marked packets and not to packet loss indications, an ECN-Capable bottleneck will still fall back to dropping packets if an TCP sender using ABE is too aggressive, and the result is no different…”

NKH: changed to the proposed text.


   ABE also makes one congestion-response each RTT that congestion is
   signalled, and therefore there is no response to loss within the same
   round-trip time, since ABE has already made a reduction of the
   congestion window. ABE will however respond for each round-trip time
   that congestion continues to be signaled.

[ms] Editorial nit: These sentences are hard to parse.

NKH: changed it to the following. Hope it reads better now:

   ABE also responds to congestion once per RTT, and therefore it does
   not respond to further loss within the same RTT, since ABE has
   already reduced the congestion window.  If congestion persists after
   such reduction, ABE continues to reduce the congestion window in each
   consecutive RTT.


   The result of this Internet experiment will include an investigation
   of cases such as the ones listed above, and be reported by
   presentation to the TCPM WG (or IESG) or an implementation report at
   the end of the experiment.

[ms] I am not sure if we really need this paragraph on process details, e.g., whether there will be a presentation. To me, it would be sufficient just to identify what cases and issues need to be investigated as part of the experiment. For what it is worth, as individual contributor, I think a TCPM presentation summarizing the outcome of the experiment would be sufficient for such a short document. But unless e.g. the IESG insists in such wording, I don’t see a need to specify the process inside the document.

NKH: changed the text to the following:

   The result of this Internet experiment ought to include an
   investigation of the implications of experiencing an ECN-CE mark
   followed by loss within the same RTT.  At the end of the experiment,
   this will be reported to the TCPM WG (or IESG).

Cheers,
Naeem