Re: [alto] Lars Eggert's Discuss on draft-ietf-alto-performance-metrics-19: (with DISCUSS and COMMENT)
"Y. Richard Yang" <yry@cs.yale.edu> Mon, 28 February 2022 20:03 UTC
Return-Path: <yang.r.yang@gmail.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6E1C03A14CD; Mon, 28 Feb 2022 12:03:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.585
X-Spam-Level:
X-Spam-Status: No, score=0.585 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URI_DOTEDU=1.997] autolearn=no 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 QJmXQfN31uU3; Mon, 28 Feb 2022 12:03:09 -0800 (PST)
Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com [209.85.128.173]) (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 0D3BF3A146B; Mon, 28 Feb 2022 12:02:55 -0800 (PST)
Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-2d07ae0b1bfso121428007b3.6; Mon, 28 Feb 2022 12:02:54 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=U9eWBuGPMs3gbjykp/izqdAUPbSpNsvHI9lBD+QC8y0=; b=SLgzdGl1V6MiFsEIV+CIuEJ9J09cd9/BhCq3cShpAri+R3ootOYOH5ez5x3UUppKFF E7DO7YOFeAI6caP2xLV4jA8DdBHXnpNfKdL194u16owRQPqK+Xqex5disyNc5tLD79r3 BzmWDLWrMizDmm7vQF3UHzCqP6L0LouPl6dhCIUU3VJCR6TF1+ZtH6I//OWyV1wLCTcc A+ms9PBKW7bOJDxR7KGpWdCZlUqBwDNDe33L1ucX0xef2oRukNRRw5lE6CJVxWmRX45a cj87c11ho8MJqLiwy9sFCUXZaYn/sjVk3c8FJQP0gWEZrFC8xj4plgTB+bTY5OnxdPMZ iGQg==
X-Gm-Message-State: AOAM530R1KXIq4HLBggJSV4dGky9xj4iNp557bwHrVvGafTDVFmmUsfq /9GeflUZejdT4zT4fwWsNGe4SGPr7PQOFOOIfs/kl4evrHc=
X-Google-Smtp-Source: ABdhPJzmSggc0LMS81TeyIShLJF+QW8O7OqgEe43tBwBe2UusRrfVSvRIkTVTuSC2cf0M4rw66xdx0tZbjT+e5UigDA=
X-Received: by 2002:a81:5710:0:b0:2d6:b987:d358 with SMTP id l16-20020a815710000000b002d6b987d358mr21353615ywb.6.1646078574045; Mon, 28 Feb 2022 12:02:54 -0800 (PST)
MIME-Version: 1.0
References: <163819140510.6924.471726558245283548@ietfa.amsl.com> <CANUuoLq5pzaonEyR75Gd_xJuXnV7MpHOg7wFeQ4xEeC0tcwPtA@mail.gmail.com> <CANUuoLrg4242PeRo=t5LNadSoRQA-jbKdEhAU0jQp_A9sK+YLw@mail.gmail.com>
In-Reply-To: <CANUuoLrg4242PeRo=t5LNadSoRQA-jbKdEhAU0jQp_A9sK+YLw@mail.gmail.com>
From: "Y. Richard Yang" <yry@cs.yale.edu>
Date: Mon, 28 Feb 2022 15:02:42 -0500
Message-ID: <CANUuoLowC4+q_PgT20EjJ1daCMUo8+tes0XJbWyH+F_P0bkJDQ@mail.gmail.com>
To: Lars Eggert <lars@eggert.org>
Cc: The IESG <iesg@ietf.org>, alto-chairs <alto-chairs@ietf.org>, draft-ietf-alto-performance-metrics@ietf.org, IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000adaf7305d9198816"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/rnQ0a5J8S7tkg1Ne_bcVYLOz7Qo>
Subject: Re: [alto] Lars Eggert's Discuss on draft-ietf-alto-performance-metrics-19: (with DISCUSS and COMMENT)
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Feb 2022 20:03:16 -0000
Hi Lars, Thank you for your feedback and we have made changes to the alto performance metrics. The latest version is posted at: https://datatracker.ietf.org/doc/html/draft-ietf-alto-performance-metrics-22 Could you please take a look to see if we have addressed your comments? At a high level, - We tried to clarify where the metrics come from. The related text is on page 5 and 6. - One part which we want you to check is tput. The section is at: https://datatracker.ietf.org/doc/html/draft-ietf-alto-performance-metrics-22#section-4.1 Greatly appreciate the wonderful reviews! Richard On Tue, Nov 30, 2021 at 9:27 PM Y. Richard Yang <yry@cs.yale.edu> wrote: > Hi Lars, > > Just posted an updated version, and a diff from the previous version is > available at: > https://www.ietf.org/rfcdiff?url2=draft-ietf-alto-performance-metrics-20 > > Thanks! > Richard > > On Tue, Nov 30, 2021 at 8:49 PM Y. Richard Yang <yry@cs.yale.edu> wrote: > >> Hi Lars, >> >> Thanks for the review! Please see below. >> >> On Mon, Nov 29, 2021 at 8:10 AM Lars Eggert via Datatracker < >> noreply@ietf.org> wrote: >> >>> Lars Eggert has entered the following ballot position for >>> draft-ietf-alto-performance-metrics-19: Discuss >>> >>> Please refer to >>> https://www.ietf.org/blog/handling-iesg-ballot-positions/ >>> for more information about how to handle DISCUSS and COMMENT positions. >>> >>> The document, along with other ballot positions, can be found here: >>> https://datatracker.ietf.org/doc/draft-ietf-alto-performance-metrics/ >>> >>> >>> >>> ---------------------------------------------------------------------- >>> DISCUSS: >>> ---------------------------------------------------------------------- >>> >>> This document needs to become much more formal about how it defines the >>> metrics it wishes to use with ALTO. This could either be done either by >>> identifying and normatively referencing existing metrics the IETF has >>> defined, >>> or by defining them here. When normatively referencing existing IETF >>> metrics, it >>> would need to explain why their use with ALTO makes sense. >>> >>> At the moment, the document informatively points to a somewhat arbitrary >>> collection of prior IETF metrics (most of which are from IPPM, residual >>> bandwidth from IS-IS TE, but then reservable bandwidth from OSPF TE?). >> >> >> To give some background, the WG derived the list of metrics from RFC 8571 >> (BGP - Link State (BGP-LS) Advertisement of IGP Traffic Engineering >> Performance >> Metric Extensions), focusing on network->application. The list added Hop >> Count >> (exists in original ALTO RFC 7285), Round-trip (to avoid two queries, and >> many apps >> use RTT), and TCP Throughput, and removed Unidirectional Available >> Bandwidth >> and Unidirectional Utilized Bandwidth, to reduce the number of bandwidth >> metrics. >> >> >>> But it >>> only refers to them as "examples", >> >> >> I searched the word "example" and do not see where the document says that >> they >> are examples. It says that "Since different applications may use >> different cost metrics, >> the ALTO base protocol introduces an ALTO Cost Metric Registry (Section >> 14.2 of >> [RFC7285]), as a systematic mechanism to allow different metrics to be >> specified. For >> example, a delay-sensitive application may want to use latency-related >> metrics, and >> a bandwidth-sensitive application may want to use bandwidth-related >> metrics." >> >> Does this paragraph give an impression that the metrics are only >> examples? If so, >> do you suggest removing the "For example" phrase to reduce the impression? >> >> The document does have the sentence " The "Origin Example" column of >> Table >> 1 gives an example RFC that has defined each metric." Here the word >> "example" >> word means one existing work. >> >> >>> without actually defining how exactly they >>> are to be used with ALTO, or - if not those - which actual metrics are >>> supposed >>> to be used. >>> >> >> The document has "... the ALTO base protocol introduces an ALTO Cost >> Metric Registry >> (Section 14.2 of [RFC7285]), as a systematic mechanism to allow different >> metrics >> to be specified. " and "When an ALTO server supports a cost metric >> defined in this document, >> it should announce this metric in its information resource directory >> (IRD) as defined in >> Section 9.2 of [RFC7285]." Does this provide enough on how exactly they >> should be used? >> The function of this document is to satisfy the registry and the use will >> be in the base protocol >> (RFC7285). If there is a specific suggestion, it will be good to have. >> >> >>> Defining a mechanism for exposing metric information to clients isn't >>> really >>> useful unless the content of that information is much more clearly >>> specified. >>> >>> I agree with this statement that information should be specified as >> clearly as >> possible, but at the same time, we need abstraction to reduce the >> complexity. >> One guiding principle in the design is that ALTO information provides >> reasonable guidance, not mathematical precision. >> >> >>> Section 4.1.3. , paragraph 2, discuss: >>> > Intended Semantics: To give the throughput of a TCP congestion- >>> > control conforming flow from the specified source to the specified >>> > destination; see [RFC3649, Section 5.1 of RFC8312] on how TCP >>> > throughput is estimated. The spatial aggregation level is specified >>> > in the query context (e.g., PID to PID, or endpoint to endpoint). >>> >>> A TCP bandwidth estimate can only be meaningfully be derived for bulk TCP >>> transfers >> >> >> Yes. It is intended for bulk transfer. >> >> >>> under a set of pretty strict and simplistic assumptions, making this >>> metric a meaningless at best and misleading at worst, >> >> >> I will say that TCP throughput formula in general has turned out to be >> quite useful. >> >> >> >>> given that the source of >>> this information doesn't know what workload, congestion controller and >>> network >>> conditions the user of this information will use or see. >>> >> >> Network (the source) is in a pretty good position to estimate the >> potential TCP >> throughput. In a high multiplexing setting (small fish in a big pond), >> network can >> have access to estimated loss rate, RTT, and typical packet size to >> compute >> the TCP throughput formula. In a low multiplexing setting (big fish in a >> small pond), >> network can know the set of flows and estimate the bandwidth share. See >> the citation >> of the Prophet work in the document and the G2 work in SIGMETRICS'21 and >> SIGCOMM'21. The congestion controller info is part of the metric (the >> link points >> to standard TCP/Reno). I made some minor edits to clarify. >> >> >>> Also, RFC3649 is an Experimental RFC (from 2003!) and RFC8312 is an >>> Informational RFC. Since this document normatively refers to them, it >>> needs to >>> cite them, and this will cause DOWNREFs for PS document. I would argue >>> that >>> at least RFC3649 is certainly not an appropriate DOWNREF. >>> >>> >> Good suggestion! I added the reference to 3649 from the second paragraph >> of >> Sec. 5.1 of RFC8312 (you are a co-author). It reads "The average >> window sizes of Standard TCP and HSTCP are from [RFC3649]. The >> average window size of CUBIC is calculated using Eq. 6 and the CUBIC >> TCP-friendly region for three different values of C." Our plan, which is >> already suggested >> by Martin but it is my fault to not update yet, is to remove 3649 and use >> RFC8312bis. >> Make sense? >> >> >>> Why define this metric at all? The material you point to is the usual >>> model-based throughput calculation based on RTT and loss rates; a client >>> that >>> intended to predict TCP performance could simply query ALTO for this and >>> perform >>> their own computation, which will likely be more accurate, since the >>> client will >>> hopefully know which congestion controller they will use for the given >>> workload, >>> and what the characteristics of that workload are. >>> >> >> The throughput formula is for a very limited setting, i.e., the small >> fish setting. What >> we found useful is the low multiplexing setting, where the loss rate is >> the output, >> not the input, of the convergence process. It has good use cases. Please >> see >> the Prophet paper and one most recent example is the use cases, such as >> accelerating time-bound constrained flows, in Sec. 3 of >> https://www.reservoir.com/wp-content/uploads/2021/08/G2_QTBS_TR_2021.pdf >> The paper uses max-min fairness but the Internet uses other fairness. >> >> >> >>> ---------------------------------------------------------------------- >>> COMMENT: >>> ---------------------------------------------------------------------- >>> >>> Section 1. , paragraph 6, comment: >>> > The purpose of this document is to ensure proper usage of the >>> > performance metrics defined in Table 1; it does not claim novelty of >>> > the metrics. The "Origin Example" column of Table 1 gives an >>> example >>> > RFC that has defined each metric. >>> >>> I don't understand what the purpose of the "origin example" column is. >>> Most of >>> these point to IPPM metrics, which have a pretty clear and >>> narrowly-defined area >>> of applicability. Since ALTO isn't performing IPPM-style network >>> testing, it's >>> not clear why IPPM metrics are referenced here? >>> >> >> The metrics that this document use are defined in multiple IETF documents >> before. >> The intention of the sentence is to give early work credit. >> >> >>> Section 2.2. , paragraph 23, comment: >>> > If a cost metric string does not have the optional statical operator >>> > string, the statistical operator SHOULD be interpreted as the >>> default >>> > statical operator in the definition of the base metric. If the >>> >>> What is a "statical" operator; I am not familiar with the term and it >>> doesn't >>> seem to appear in other RFCs? (Also occurs elsewhere in this document.) >>> >>> Apology for the typo. statical operator -> statistical operator. They >> are fixed in >> an internal version but we did not upload. >> >> >> >> >>> Section 3.1.4. , paragraph 4, comment: >>> > link statistics. Another example of a source to estimate the delay >>> > is the IPPM framework [RFC2330]. It is RECOMMENDED that the >>> >>> IPPM defines measurement metrics. How would they be a source for >>> estimates? >>> >>> >> The intention was to refer to the measurement methodology in 6.2 of RFC >> 2330, but >> I can see the potential confusion now. How about we change the wording to >> "Another example of a source to estimate the delay is through active >> measurements, >> for example, considering the IETF IPPM framework [RFC2330]." >> >> >>> Section 3.3. , paragraph 1, comment: >>> > 3.3. Cost Metric: Delay Variation (delay-variation) >>> >>> Is this supposed to apply to the one-way or bidirectional delay? >> >> >> This is the current specification: " >> 3.3.3. Intended Semantics and Use >> >> Intended Semantics: To specify spatial and temporal aggregated delay >> variation (also called delay jitter)) with respect to the minimum >> delay observed on the stream over the one-way delay from the >> specified source and destination. The spatial aggregation level is >> specified in the query context (e.g., PID to PID, or endpoint to >> endpoint)." >> >> So it is one way. >> >> Also, delay >>> variation is not independent from path utilization (c.f. bufferbloat), >>> so why is >>> it being reported independently? >>> >> >> Not sure I understand the suggestion. We see reports of jitter >> (e.g., https://cpr.att.com/pdf/se/0001-0003.pdf) reported independently >> (in the sense >> as a single metric, without specifying as conditional >> values/probabilities). >> >> >>> >>> Section 3.5. , paragraph 1, comment: >>> > 3.5. Cost Metric: Loss Rate (lossrate) >>> >>> What is this metric supposed to capture? Loss is generally not >>> independent from >>> network utilization (apart from random corruption loss). So it should be >>> zero >>> for unloaded networks, and depends on utilization otherwise. Also, is >>> this >>> unidirectional or bidirectional loss (wording below is unclear)? >>> >> >> It is meaningful in high multiplexing settings. There can also be an >> load-independent >> (I can see that you may see interference can be load as well) loss rate >> when there are >> wireless links. >> >> It is intended to be unidirectional: "3.5.3. Intended Semantics and Use >> >> Intended Semantics: To specify spatial and temporal aggregated packet >> loss rate from the specified source and the specified destination. >> The spatial aggregation level is specified in the query context >> (e.g., PID to PID, or endpoint to endpoint)." >> >> How about the following change: >> " To specify spatial and temporal aggregated packet >> loss rate from the specified source and the specified destination." >> => >> To specify spatial and temporal aggregated packet >> loss rate, in one way, from the specified source and the specified >> destination." >> >> >> Using lowercase "not" together with an uppercase RFC2119 keyword is not >>> acceptable usage. Found: "MUST not" >>> >>> >> Got it. We have fixed the case: >> "The total length of the cost metric string MUST not exceed 32" >> => >> "The total length of the cost metric string MUST NOT exceed 32" >> >> >>> The document has 6 authors, which exceeds the recommended author limit. I >>> assume the sponsoring AD has agreed that this is appropriate? >>> >>> No reference entries found for: [RFC3649] and [RFC8312]. >>> >>> >> Thanks for pointing it out. It was missing after an update and pointed >> out by >> Martin. It is fixed in the next version which we will upload soon. >> >> >>> Found terminology that should be reviewed for inclusivity; see >>> https://www.rfc-editor.org/part2/#inclusive_language for background and >>> more >>> guidance: >>> >>> * Term "man"; alternatives might be "individual", "people", "person". >>> >>> Hah. You mean change >> "man-in-the-middle (MITM) attacks" >> => >> "person-in-the-middle attacks". >> >> I looked and indeed see PITM ( >> https://en.wikipedia.org/wiki/Man-in-the-middle_attack). >> >> Interesting and fixed. Thanks! >> >> The edits below are great and fixed. Thanks again! >> >> Richard >> >> >> >>> ------------------------------------------------------------------------------- >>> All comments below are about very minor potential issues that you may >>> choose to >>> address in some way - or ignore - as you see fit. Some were flagged by >>> automated tools (via https://github.com/larseggert/ietf-reviewtool), so >>> there >>> will likely be some false positives. There is no need to let me know >>> what you >>> did with these suggestions. >>> >>> "Abstract", paragraph 2, nit: >>> - types of cost metric. Since the ALTO base protocol (RFC 7285) >>> + types of cost metrics. Since the ALTO base protocol (RFC 7285) >>> + + >>> >>> Section 1. , paragraph 2, nit: >>> > ] on registering ALTO cost metrics. Hence it specifies the identifier, >>> the in >>> > ^^^^^ >>> A comma may be missing after the conjunctive/linking adverb "Hence". >>> >>> Section 2.2. , paragraph 2, nit: >>> > of the observations. median: the mid point (i.e., p50) of the >>> observations. >>> > ^^^^^^^^^ >>> This word is normally spelled with a hyphen. >>> >>> "IPPM ", paragraph 2, nit: >>> > Also, delay variation is not independent from path utilization (c.f. >>> buffer >>> > ^^^^^^^^^^^^^^^^ >>> The usual collocation for "independent" is "of", not "from". Did you mean >>> "independent of"? >>> >>> Section 3.3.3. , paragraph 7, nit: >>> > apture? Loss is generally not independent from network utilization >>> (apart fr >>> > ^^^^^^^^^^^^^^^^ >>> The usual collocation for "independent" is "of", not "from". Did you mean >>> "independent of"? >>> >>> Section 3.4.3. , paragraph 6, nit: >>> > imation" method. See Section 3.1.4 on on related discussions such as >>> summing >>> > ^^^^^ >>> Possible typo: you repeated a word. >>> >>> Section 3.5.4. , paragraph 3, nit: >>> > [RFC8312]), it helps to specify as much details as possible on the >>> the cong >>> > ^^^^ >>> Use "many" with countable plural nouns like "details". >>> >>> Section 3.5.4. , paragraph 3, nit: >>> > ify as much details as possible on the the congestion control >>> algorithm used >>> > ^^^^^^^ >>> Two determiners in a row. Choose either "the" or "the". >>> >>> These URLs in the document can probably be converted to HTTPS: >>> * >>> http://www.iana.org/assignments/alto-protocol/alto-protocol.xhtml#cost-metrics >>> >>> >>> >>> _______________________________________________ >>> alto mailing list >>> alto@ietf.org >>> https://www.ietf.org/mailman/listinfo/alto >> >> -- -- ===================================== | Y. Richard Yang <yry@cs.yale.edu> | | Professor of Computer Science | | http://www.cs.yale.edu/~yry/ | =====================================
- [alto] Lars Eggert's Discuss on draft-ietf-alto-p… Lars Eggert via Datatracker
- Re: [alto] Lars Eggert's Discuss on draft-ietf-al… Martin Duke
- Re: [alto] Lars Eggert's Discuss on draft-ietf-al… Y. Richard Yang
- Re: [alto] Lars Eggert's Discuss on draft-ietf-al… Y. Richard Yang
- Re: [alto] Lars Eggert's Discuss on draft-ietf-al… Y. Richard Yang