Re: [alto] Lars Eggert's Discuss on draft-ietf-alto-performance-metrics-19: (with DISCUSS and COMMENT)
"Y. Richard Yang" <yry@cs.yale.edu> Wed, 01 December 2021 02:27 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 5BAFB3A0839; Tue, 30 Nov 2021 18:27:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.398
X-Spam-Level:
X-Spam-Status: No, score=-1.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 x2VdHd3blZsP; Tue, 30 Nov 2021 18:27:54 -0800 (PST)
Received: from mail-yb1-f181.google.com (mail-yb1-f181.google.com [209.85.219.181]) (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 633283A0837; Tue, 30 Nov 2021 18:27:54 -0800 (PST)
Received: by mail-yb1-f181.google.com with SMTP id d10so58701622ybe.3; Tue, 30 Nov 2021 18:27: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=7xkRiTmdir5vMI9DeSMrLv+3xMtTRYvM2VXJHkyjoS0=; b=N+vZSutFcBKDxEqdlTjnEnTCQsORv16ILFifhsszdmJRALm+RXrZnP2QKGPWI2UlR+ YNqYmZsWrQq23VkIGFO24W4eMBo7VJ/V+CVVAtLtRONJlqV+Mw/tnpU98Uafhq8WMnfl U8+9tjHiLDaU404oDwYdgy9OVwTl4S05bzpgMBIwKdcigLLzyn29BfJ6TLYUw3Xep5Js Jodji/rWWWdCKBidcYqsDnieVIcoy6Bdo+jbPL9fbc585ZfakfmnwDrSiVinGF4dl1Nr C/O/WHVRYdDNqjWDKdHK7ndncIBYqmWul+WjYIAz7cJCIyr1XDApGgyllh1GUiZGAE+i odvQ==
X-Gm-Message-State: AOAM533Lk6UnYG+f2/HFWpTSwBfOHLtVzDVnNJYPrbbsK9xqBJ5iVDmL lhBLxJPNxNqCRqrWTpdwoTNDUEbXtK9/uEwaUznspVae1ls=
X-Google-Smtp-Source: ABdhPJwonDzCJZ5p5FBnvepv+IkBLTuFHZ0A3KYlPcXq5V7BiTTTxz9OODcc1ptUPhf+598EqFrHeedsg34uj1ASKPw=
X-Received: by 2002:a25:5cf:: with SMTP id 198mr3587423ybf.742.1638325673386; Tue, 30 Nov 2021 18:27:53 -0800 (PST)
MIME-Version: 1.0
References: <163819140510.6924.471726558245283548@ietfa.amsl.com> <CANUuoLq5pzaonEyR75Gd_xJuXnV7MpHOg7wFeQ4xEeC0tcwPtA@mail.gmail.com>
In-Reply-To: <CANUuoLq5pzaonEyR75Gd_xJuXnV7MpHOg7wFeQ4xEeC0tcwPtA@mail.gmail.com>
From: "Y. Richard Yang" <yry@cs.yale.edu>
Date: Tue, 30 Nov 2021 21:27:40 -0500
Message-ID: <CANUuoLrg4242PeRo=t5LNadSoRQA-jbKdEhAU0jQp_A9sK+YLw@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="000000000000c9e9e905d20c6b25"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/2dlp9QOpaBRYSlxfcVS5CGcP_2I>
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: Wed, 01 Dec 2021 02:28:00 -0000
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 > >
- [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