Re: [ippm] Adoption call for draft-cpaasch-ippm-responsiveness

Christoph Paasch <cpaasch@apple.com> Wed, 05 January 2022 18:52 UTC

Return-Path: <cpaasch@apple.com>
X-Original-To: ippm@ietfa.amsl.com
Delivered-To: ippm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3610B3A0BFF for <ippm@ietfa.amsl.com>; Wed, 5 Jan 2022 10:52:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.672
X-Spam-Level:
X-Spam-Status: No, score=-2.672 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.576, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.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 7BtSiidiZW8p for <ippm@ietfa.amsl.com>; Wed, 5 Jan 2022 10:52:17 -0800 (PST)
Received: from rn-mailsvcp-ppex-lapp44.apple.com (rn-mailsvcp-ppex-lapp44.rno.apple.com [17.179.253.48]) (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 4BE5E3A0BFC for <ippm@ietf.org>; Wed, 5 Jan 2022 10:52:17 -0800 (PST)
Received: from pps.filterd (rn-mailsvcp-ppex-lapp44.rno.apple.com [127.0.0.1]) by rn-mailsvcp-ppex-lapp44.rno.apple.com (8.16.1.2/8.16.1.2) with SMTP id 205IosO0012504; Wed, 5 Jan 2022 10:52:14 -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=wNkz2MtFzB0uWTytP7KuVEsW1F58j201zwzZCK/kXg4=; b=bNwzNmQaH7Fu3pRL4UHcCnht7oyMKTqAdrrjGctsHOI1/ugJsB7GRleM/8pmwwQxbKmp bPyxGWEQBu2do0K4C8mIcjP7rCzBB/gobWPcTf/x1Av+fx4Lv18SQuAe7do0iBgRfz/c 1lvGlaZTN6Qr/z+DCpT1fq/JStp4Po1K+my4rIbq5Zrtwq3RgpTSRfSebW18Q2PhE4PM dHGZWNjvyxbwFvCWy6jqONx0xiJpADZleRp83DN2XWnmi8gMrozc/Jslfsb0if+tRQx3 qJEhFNj7D/AUdJwYQ6zpMGkzbV4hCGhXOwqf83NV/x0ZfevYo6IIhQD7rB6Ar3bL6m2S Ow==
Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by rn-mailsvcp-ppex-lapp44.rno.apple.com with ESMTP id 3dakbdf6va-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Wed, 05 Jan 2022 10:52:14 -0800
Received: from rn-mailsvcp-mmp-lapp03.rno.apple.com (rn-mailsvcp-mmp-lapp03.rno.apple.com [17.179.253.16]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.12.20210903 64bit (built Sep 3 2021)) with ESMTPS id <0R59007IL332GI50@rn-mailsvcp-mta-lapp03.rno.apple.com>; Wed, 05 Jan 2022 10:52:14 -0800 (PST)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp03.rno.apple.com by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.12.20210903 64bit (built Sep 3 2021)) id <0R5900T002WKE200@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Wed, 05 Jan 2022 10:52:14 -0800 (PST)
X-Va-A:
X-Va-T-CD: 1b7e4f4dab179820cbb0a121fe2fe7dc
X-Va-E-CD: de054fff2f5096dfe99f93b89e853049
X-Va-R-CD: 7d741991045d6b2f869f53b80b980cf0
X-Va-CD: 0
X-Va-ID: 0b780c99-be64-4ba9-b525-f99bc6e4bc0c
X-V-A:
X-V-T-CD: 1b7e4f4dab179820cbb0a121fe2fe7dc
X-V-E-CD: de054fff2f5096dfe99f93b89e853049
X-V-R-CD: 7d741991045d6b2f869f53b80b980cf0
X-V-CD: 0
X-V-ID: 28ecdd34-b29e-4f83-95b6-1b05197a3915
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425, 18.0.790 definitions=2022-01-05_05:2022-01-04, 2022-01-05 signatures=0
Received: from smtpclient.apple ([17.192.155.238]) by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.12.20210903 64bit (built Sep 3 2021)) with ESMTPSA id <0R5900ECG331DR00@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Wed, 05 Jan 2022 10:52:13 -0800 (PST)
From: Christoph Paasch <cpaasch@apple.com>
Message-id: <3DC3F6B6-229E-46C6-BD84-2A6A7FE6DD48@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_F3A9A01C-D3F4-4247-A3DB-E65669D54055"
MIME-version: 1.0 (Mac OS X Mail 15.0 \(3693.40.0.1.81\))
Date: Wed, 05 Jan 2022 10:52:13 -0800
In-reply-to: <CA+RyBmU_j9-vR+BnjvhKCDuaWYPZ_Ym96yUJPX0LhGihfsp1ng@mail.gmail.com>
Cc: Marcus Ihlar <marcus.ihlar=40ericsson.com@dmarc.ietf.org>, IETF IPPM WG <ippm@ietf.org>
To: Greg Mirsky <gregimirsky@gmail.com>
References: <AM0PR07MB4131542BCD0A6DE3F82F1E19E26D9@AM0PR07MB4131.eurprd07.prod.outlook.com> <CA+RyBmU_j9-vR+BnjvhKCDuaWYPZ_Ym96yUJPX0LhGihfsp1ng@mail.gmail.com>
X-Mailer: Apple Mail (2.3693.40.0.1.81)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425, 18.0.790 definitions=2022-01-05_05:2022-01-04, 2022-01-05 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/WFBtjMJ9rScSsfWs5w4aIQXrcmo>
Subject: Re: [ippm] Adoption call for draft-cpaasch-ippm-responsiveness
X-BeenThere: ippm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF IP Performance Metrics Working Group <ippm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ippm>, <mailto:ippm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ippm/>
List-Post: <mailto:ippm@ietf.org>
List-Help: <mailto:ippm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ippm>, <mailto:ippm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Jan 2022 18:52:20 -0000

Hello Greg,

thanks for your comments. Please see inline:

> On Dec 22, 2021, at 11:43 PM, Greg Mirsky <gregimirsky@gmail.com> wrote:
> 
> Dear Marcus, Authors, et al,
> apologies for the belated response.
> I've read the draft and have some comments to share with you:
> as I understand it, the proposed new responsiveness metric is viewed as the single indicator of a bufferbloat condition in a network. As I recall, the discussion at Measuring Network Quality for End-Users workshop and on the mailing list <https://mailarchive.ietf.org/arch/browse/network-quality-workshop/?gbt=1&index=cuW_1lh4DD22V28EvlPFB_NjjZY> indicated, that there’s no consensus on what behaviors, symptoms can reliably signal the bufferbloat.
We are not trying for this responsiveness metric to be "the single indicator of bufferbloat". Bufferbloat can be measured in many different number of ways. And each of these will produce a correct, but a different result. Thus, "bufferbloat" is whatever the methodology tries to detect.

Let me give an example of two methodologies that are both correct but both will produce entirely different numbers :

If we would decide to generate the load by flooding the network with UDP traffic from a specific 4-tuple and measure latency with parallel ICMP pings. Then, on a over-buffered FIFO queue we would measure huge latencies (thus correctly expose bufferbloat), while on a FQ-codel queue we would not measure any bufferbloat.

If on the other hand, the load-generating traffic is changing the source-port for every single UDP-packet, then in both the FIFO-queue and the FQ-codel queue we will measure huge amounts of bufferbloat.

Thus, these two methods both produced correct results but with hugely different numbers in the FQ-codel case. [1]

Now, while both methods measure some variant of bufferbloat, they both don't measure a realistic usage of the network.


That is why the "Responsiveness under working conditions" tries to clearly specify how the load is generated and how the latency is being measured. And it does not measure "bufferbloat" but it measures "responsiveness under working conditions" based on the methodology that is being used (using HTTP/2 or HTTP/3, multiple flows, ...). It does expose bufferbloat which can happen in the network. It also exposes certain server-side behaviors that can cause (huge amounts of) additional latency - those behaviors are typically not called "bufferbloat".

> It seems that it would be reasonable to first define what is being measured, characterized by the responsiveness metric. Having a document that discusses and defines the bufferbloat would be great.
I agree that there is a lack of definition for what "bufferbloat" really is.

The way we look at "responsiveness under working conditions" is that it measures the latency in conditions that may realistically happen in worst-case scenarios with end-users/implementations that are non-malicious (non-malicious to exclude the UDP-flooding scenario).

Thus, I assume we should make a better job at explaining this. The lack of a formal definition of "bufferbloat" doesn't help and thus we are indeed using this term a bit freely in the current draft. We will improve the Introduction to better set the stage (https://github.com/network-quality/draft-cpaasch-ippm-responsiveness/issues/31 <https://github.com/network-quality/draft-cpaasch-ippm-responsiveness/issues/31>).

> It seems like in the foundation of the methodology described in the draft lies the assumption that without adding new flows the available bandwidth is constant, does not change. While that is mostly the case, there are technologies that behave differently and may change bandwidth because of the outside conditions. Some of these behaviors of links with variable discrete bandwidth are discussed in, for example, RFC 8330 <https://datatracker.ietf.org/doc/rfc8330/> and RFC 8625 <https://datatracker.ietf.org/doc/rfc8625/>.
I'm not sure I entirely understand your comment. But let me explain why we are gradually adding new flows:

1. TCP-implementations have usually a fixed limit for the upper bound of the receive window. In some networks that upper bound is lower than the BDP of the network. Thus, the only way to reach full capacity is by having multiple flows.
2. Having multiple connections allows to quicker achieve full capacity in high-RTT networks and thus speeds up the test-duration.
3. In some networks with "random" packet-loss, congestion-control may come in the way of achieving full capacity. Again, multiple flows will work around that.
> Then, I find the motivation not to use time units to express the responsiveness metric not convincing:
>    "Latency" is a poor measure of responsiveness, since it can be hard
>    for the general public to understand.  The units are unfamiliar
>    ("what is a millisecond?") and counterintuitive ("100 msec - that
>    sounds good - it's only a tenth of a second!").

Can you expand on what exactly is not convincing to you? Do you think that people will mis-understand the metric or that milli-seconds is the right way to communicate responsiveness to the general public?


Thanks a lot,
Christoph

[1] And there are many networks that prioritize ICMP pings, thus we could observe even more different results based on what protocol is used to measure the latency.

> 
> On Mon, Dec 6, 2021 at 7:53 AM Marcus Ihlar <marcus.ihlar=40ericsson.com@dmarc.ietf.org <mailto:40ericsson.com@dmarc.ietf.org>> wrote:
> Hi IPPM,
> 
>  
> 
> This email starts an adoption call for draft-cpaasch-ippm-responsiveness, "Responsiveness under Working Conditions”. This document specifies the “RPM Test” for measuring user experience when the network is fully loaded. The intended status of the document is Experimental.   
> 
>  
> 
> https://datatracker.ietf.org/doc/draft-cpaasch-ippm-responsiveness/ <https://datatracker.ietf.org/doc/draft-cpaasch-ippm-responsiveness/>
> https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01 <https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01>
>  
> 
> This adoption call will last until Monday, December 20. Please review the document, and reply to this email thread to indicate if you think IPPM should adopt this document.
> 
>  
> 
> BR,
> 
> Marcus
> 
>  
> 
> _______________________________________________
> ippm mailing list
> ippm@ietf.org <mailto:ippm@ietf.org>
> https://www.ietf.org/mailman/listinfo/ippm <https://www.ietf.org/mailman/listinfo/ippm>
> _______________________________________________
> ippm mailing list
> ippm@ietf.org
> https://www.ietf.org/mailman/listinfo/ippm