Re: [ippm] Adoption call for draft-cpaasch-ippm-responsiveness
"MORTON JR., AL" <acmorton@att.com> Fri, 17 December 2021 23:51 UTC
Return-Path: <acmorton@att.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 89AF13A0CAB; Fri, 17 Dec 2021 15:51:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 3.201
X-Spam-Level: ***
X-Spam-Status: No, score=3.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, GB_SUMOF=5, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=att.onmicrosoft.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 Lyrj7R11GA-8; Fri, 17 Dec 2021 15:50:59 -0800 (PST)
Received: from mx0b-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (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 9F6963A0CAA; Fri, 17 Dec 2021 15:50:58 -0800 (PST)
Received: from pps.filterd (m0288868.ppops.net [127.0.0.1]) by m0288868.ppops.net-00191d01. (8.16.1.2/8.16.1.2) with SMTP id 1BHMNFWe029431; Fri, 17 Dec 2021 18:50:56 -0500
Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0288868.ppops.net-00191d01. with ESMTP id 3d0ee5d909-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 17 Dec 2021 18:50:55 -0500
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 1BHNosIg025777; Fri, 17 Dec 2021 18:50:55 -0500
Received: from zlp27127.vci.att.com (zlp27127.vci.att.com [135.66.87.31]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 1BHNoppA025731 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 17 Dec 2021 18:50:52 -0500
Received: from zlp27127.vci.att.com (zlp27127.vci.att.com [127.0.0.1]) by zlp27127.vci.att.com (Service) with ESMTP id ADEEF4009E89; Fri, 17 Dec 2021 23:50:51 +0000 (GMT)
Received: from MISOUT7MSGEX2BB.ITServices.sbc.com (unknown [135.66.184.223]) by zlp27127.vci.att.com (Service) with ESMTP id 7852F4009E7E; Fri, 17 Dec 2021 23:50:51 +0000 (GMT)
Received: from MISOUT7MSGED1BA.ITServices.sbc.com (135.66.184.213) by MISOUT7MSGEX2BB.ITServices.sbc.com (135.66.184.223) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Fri, 17 Dec 2021 18:50:50 -0500
Received: from MISOUT7MSGETA03.tmg.ad.att.com (144.160.12.222) by MISOUT7MSGED1BA.ITServices.sbc.com (135.66.184.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17 via Frontend Transport; Fri, 17 Dec 2021 18:50:50 -0500
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.49) by edgeso3.exch.att.com (144.160.12.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.17; Fri, 17 Dec 2021 18:50:50 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZWGN43HylKtFiYbjIg7uw4wa1BfgEb6YBFHBXrfzFKgzhCkJJb6/1ZVG3jQ6yq1PBHX20z0kYinrDfn8fYk52JHFg54tqy+MHEDQv5vcny9d0cuHCQ5r7ncW8zCcXkquJDlCl8/72pp06m1JVGnaUjVtfLYZY1KiorspByzYXwjxdVfM6r65VIXSQH9rxaRegQV5CnA/UMm7bEmlVRCyRPfLs8TD5M+TcAlfjPlBiD11SRJKaz/9FLpEay5AaIGWOfGAfeFocZqqoGUgj7NObZwVCWA2Ii44eTBRNZDAdyewzw+rLI5z5c0mUjVuXonmiYMzv5MXD5tI3tOnS4KUeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iof79DnlKKiCFkyZeGJeRvznESi7O4C+acoXzDrSaCQ=; b=MmqMeKXYtptDNA3n4Nd0OrM4e0dDT4Xh95mXnYNa4MBuVRi18CrWTDuDgPq2mzlKFh+LVY03ywAQlpN+3LKV0PlXFSCMUgqBEKqPNuVevwpYjsMbT8GlefftV5Jg7d1D2A0NKyLJHjunaBhdYmMd76yVp5ZuGVf8XqbLaYgaye7hFjI04XYN8Lm+EbU2MldbU8UoadZYqXfvvrVR5YHecUf3c6axDihdzEORuVPfs9n5o23gkRoZtlU8o7NJfYkBTR1PSoMP0GpigPLiCXjvMhiQkBO4VUORkD7wXYO61a5YIizhlYSkIGS+HPEy9COy4KGsw+cEbeU53ugu/3aHfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=att.com; dmarc=pass action=none header.from=att.com; dkim=pass header.d=att.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=att.onmicrosoft.com; s=selector2-att-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iof79DnlKKiCFkyZeGJeRvznESi7O4C+acoXzDrSaCQ=; b=ocH5eVeuztZnWl9A8xyHx01LErbaED+iYIbtC3v3SpIygBoSy57sGrIuxiVA9tX+pBZULGNrR7xtcPCNyOGBuchYmFBGKwc9Ml1c4SaUkVKez73yQ/GG81+RCFHWWbaxDgKk0lKPaWhH97hUMRDzJuL3+mOgrPCPszbvA4zW7bs=
Received: from CH0PR02MB7980.namprd02.prod.outlook.com (2603:10b6:610:105::17) by CH0PR02MB8009.namprd02.prod.outlook.com (2603:10b6:610:106::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Fri, 17 Dec 2021 23:50:47 +0000
Received: from CH0PR02MB7980.namprd02.prod.outlook.com ([fe80::a032:e38:2c60:766]) by CH0PR02MB7980.namprd02.prod.outlook.com ([fe80::a032:e38:2c60:766%6]) with mapi id 15.20.4801.017; Fri, 17 Dec 2021 23:50:47 +0000
From: "MORTON JR., AL" <acmorton@att.com>
To: Marcus Ihlar <marcus.ihlar=40ericsson.com@dmarc.ietf.org>, "ippm@ietf.org" <ippm@ietf.org>
CC: Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org>
Thread-Topic: Adoption call for draft-cpaasch-ippm-responsiveness
Thread-Index: AdfquNUJKsdYHHTaTOi3VLkEWROGkgItCssg
Date: Fri, 17 Dec 2021 23:50:47 +0000
Message-ID: <CH0PR02MB79802EEBC038D7136449D06FD3789@CH0PR02MB7980.namprd02.prod.outlook.com>
References: <AM0PR07MB4131542BCD0A6DE3F82F1E19E26D9@AM0PR07MB4131.eurprd07.prod.outlook.com>
In-Reply-To: <AM0PR07MB4131542BCD0A6DE3F82F1E19E26D9@AM0PR07MB4131.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4127fa94-20d9-4cbe-d00d-08d9c1b80c76
x-ms-traffictypediagnostic: CH0PR02MB8009:EE_
x-microsoft-antispam-prvs: <CH0PR02MB80096DDC352E140A11AA8FFCD3789@CH0PR02MB8009.namprd02.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: WQQwmQd1YigNiYkYN+4mZFjq7jO0ROLbfvg8pPoqGYjzZ7ZSjDcnc4ooShAQW3vDQ1i0BcD3kMGBXfbRZMA0Yq0BMJFdRaxcyTmMYgajMtAcpJPCN/NdtP/KEO3CBXUStLe/21vKLxQ0odEM+u17NSrXN09qp/eS6NtJE3/OIB4Pn6SjSEXFwAmAkNuOIQPVs7MHmFh5lGTyXbUTBvCgTWLtyqIBkEdnqQc9jFVSiLsYlaIEC5SFZwLOYIWXJYyVU7e0GQOyHCTFOK6lM29+WBe298n565RkcfJ2V9Ld/qdZglP4k1dZLetSO/vzyLDJ6RVg449/nA3rapjRsYzkYKQ7hyjGC8r+VhJn3w5vqT4Xj/5PAFjzvzhou1nTc9YZExDtC/aYqjq4nUCPPSAxvy7dxb/3FQZLoyC8zQmYohEzjpkFvdlxD4k/6JF6gtXCXjrGi+1TuIBcG0l4labE+q+uJeNGvKQSX/ST+vuer9+sAhuCS2O0zOf1TffJv0QBsR9JUkjU0KeLN+ee0ytPRHh4vB7N/1HlW2XGpsrOPVyFtDMmkTQIw4eFzAGyVwyGUhOa9TLdWVf7XzUZI/opRY9zHuHeOKuoBpSiaZDI2hlrNeDHiqNo/jriPQY+22ULK5ydcvQmXEbdmgeFoztIJeWYyxA+sSb+i1ss98ZR9625Q71K0PhEyEeuOz3y+IqBSP5R/yEHCkMrcT6na2mZHEAB0EGyfHnPW+xgNaj45c2Ssu7MlDuusktzi7ZHyl6Mx6glwKmxCf3aDnKFPscbKfCENr0FUl/560mXJXOwZlxx9dXeX/p7QUqJvcw/eP2ukWNajzUs0hmiK65FwXUkqQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR02MB7980.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(55016003)(122000001)(508600001)(6506007)(86362001)(66574015)(5660300002)(38100700002)(316002)(53546011)(71200400001)(186003)(966005)(26005)(33656002)(38070700005)(83380400001)(52536014)(76116006)(9686003)(2906002)(82202003)(8936002)(8676002)(82960400001)(30864003)(66446008)(66556008)(166002)(64756008)(66946007)(66476007)(7696005)(4326008)(110136005)(559001)(579004); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: WAj2wq2xE4bQI4nDp5JbAfnYkD84Y2fj3wVKCQyBRawbYaDMRMsdffaibdkTUD7qfjxaSLqUD2jzyo0zvy+n4xlXKM53yqF009+eB/hhwqF6svt4/CRh54gkUrVM0rwN0rq5i7TALTIjkEUvX12PlPVhYSE16nat+oI9PyM3O56qOHN2wUL5qcO8PQkCBbMjomH0R9b9TOQcOXwJM/iHEwgswoaRmGO/8B0YPpbl1yuakTwylDwhmJUEoLcFQlqPxuK2o+M4YyQsa/Gi0+FN1DzBLpKNr8UwzGSUbko42+R9ZF6JyFEeL4jg5airxz/SNiBjQf3RZX6f/wZw5sRbs5gcqShgnWXhz04Rr6GHzHvgmCXmzJVWF7zB7KKANi8amZku+hkNHafi0harkvBZXzvX0JFWTr/1xbULg3/N67+p0NIDuh3e4jjRxSkrkXsTgR754zJlfSuxsrY4g90CP8wgTqx0N+9M2KPgCJdcqk45TsrXRdh1YRvu3w3E4oVnBjpTjviTNeoN8rkyElTxumgMF/77oWwbWSFDWPzUPt9CyHxhNQRxEwbhwM5c2y/Qf/hVXzxEwYYuDWL3WhkirTa/ua9Cvp9kXyuDWwBJLl2sqALPV+1SpFEt6EDMA3pc4reZQB2yxpM31JmLTz6HLAnJIhFhof3oNzUAqtbACMtWr2/YFl7UYyX/RkLps8fTNEjhkusJwUopFJWOGKY9HtjOGgYVRuM1Mlc9rwFT8opJCpY6MTQcWLcaP2fQ+ixryJduJYVZuyOImOhmGpstqLmJg6uSsjm6qSjrg/KEyxKW2xXl60pQ6QZXLCBE0b+vwtDpeYzInr84mRLteB8UTdWWU5wHRe/WE0P3U1on705TQlQYaxEpAgsJfvmqwnQOp8iOPCRE3frlJmDmM6tCO3nKbjaolFHUHdV5OXpggHKGCrZIJnbWsuwoBeCGtpz9v/Hkc3gWU1vdw7F4nGVHHyeqYWYiJjMl5QjpcSZLso4RQJ+xnJmOH3Lfyp84iquilr9a3737RGeXPShU0BCp+B/5ZsPvlXr9QJxV339W1hp5zDYDbZoK4JyWVamZyd9U4R5ZhIplik7cdQkL7CW/fKq3JfsOAU29El+IQQGx9Si4C7ONefHeXXpGibfjAraL8WizQPbEN0o3q+Im9lf+RYpqNMeRsPbaOWQZUIuLy/9Yah7uhWp3w3voHiqnEIWYjuQFhDwYaiRL8vgIcVTevdJv4dgnKrA8OpewW5QGysVEYZ5wi08lADdVIy2knF4v4GV2XBg+81fH9LflxCArbgG06G62JS5rAvgJDc/xAeuZV3deTS781Twe3JztFRu5Z89AC0AL6O1wKPCLQ16V4Tz10e1JMkCiCPxn7SeL/lmJE1jH7rD6Tvsb4BOMCybpnjuhArqFKb5mbVMT83StKxq4AANw8UzYP1GpMFoz9Y+cyKmJ8J4+Ci6evCb+NxHC7F1IEFXsKsxLKTxWSdGdxztoBzf+pMOwbeUGjKOy5tMmI9oEmwo4phfiHVpoCcr7CWC6qcJ2CJ3oeoRPZdAjvg==
Content-Type: multipart/alternative; boundary="_000_CH0PR02MB79802EEBC038D7136449D06FD3789CH0PR02MB7980namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH0PR02MB7980.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4127fa94-20d9-4cbe-d00d-08d9c1b80c76
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2021 23:50:47.5798 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: e741d71c-c6b6-47b0-803c-0f3b32b07556
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: amShjbk0yuzXqoXZN3I+kctkSuh6yoHA20fIxaM3WaqB2gn5Hyi80tsvfAS2xv0s
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR02MB8009
X-OriginatorOrg: att.com
X-TM-SNTS-SMTP: 20A84D7EB972BFAC3B527C828610F0522F0111E06606E36BDEC38B9E867F9F282
X-Proofpoint-ORIG-GUID: tRDM6df4w3cYTqxTZ4mvR3Ih1xdIEYmw
X-Proofpoint-GUID: tRDM6df4w3cYTqxTZ4mvR3Ih1xdIEYmw
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513 definitions=2021-12-17_10,2021-12-16_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 clxscore=1011 bulkscore=0 phishscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 lowpriorityscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2112170131
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/m-Ws315GUsctIDt9a3uD_BxiXVs>
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: Fri, 17 Dec 2021 23:51:04 -0000
Hi authors and ippm-chairs,
Thanks for writing this-up!
I took one pass through, and have the following comments during Adoption call for draft-cpaasch-ippm-responsiveness:
TL;DR:
Many previously undefined terms were used here, and a more direct description using the term "saturation" seems possible, IMO. IPPM has used a template for metric drafts, and use of the hierarchy of singleton, sample, and statistic metrics from RFC 2330 will help with clarity/answer many of my questions.
regards (I'm off-line for a while now, so enjoy the holidays),
Al
>From the Abstract:
This document specifies the "RPM Test" for measuring responsiveness.
It uses common protocols and mechanisms to measure user experience
especially when the network is fully loaded ("responsiveness under
working conditions".) The measurement is expressed as "Round-trips
Per Minute" (RPM) and should be included with throughput (up and
down) and idle latency as critical indicators of network quality.
"fully loaded" and "working conditions" aren't necessarily the same, to me. I'll be looking for better definitions.
3<https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01#section-3>. Goals
The algorithm described here defines an RPM Test that serves as a
good proxy for user experience. This means:
1. Today's Internet traffic primarily uses HTTP/2 over TLS. Thus,
the algorithm should use that protocol.
As a side note: other types of traffic are gaining in popularity
(HTTP/3) and/or <???? UDP ???> are already being used widely (RTP).
There are many measurement stability challenges when TCP is involved, see section 4 of RFC8337: https://datatracker.ietf.org/doc/html/rfc8337#section-4
RFC8337 intentionally broke the TCP control loop to make measurements in the face of these challenges.
4.1<https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01#section-4.1>. Working Conditions
For the purpose of this methodology, typical "working conditions"
represent a state of the network in which the bottleneck node is
experiencing ingress and egress flows similar to those created by
humans in the typical day-to-day pattern.
While a single HTTP transaction might briefly put a network into
working conditions, making reliable measurements requires maintaining
the state over sufficient time.
The algorithm must also detect when the network is in a persistent
working condition, also called "saturation".
Desired properties of "working condition":
o Should not waste traffic, since the person may be paying for it
o Should finish within a short time to avoid impacting other people
on the same network, to avoid varying network conditions, and not
try the person's patience.
These seem like reasonable goals for the traffic that loads the network.
New terms needing definition were introduced:
"persistent working condition = saturation",
which is different from
"ingress and egress flows similar to those created by humans in the typical day-to-day pattern"
Later in 4.1.1, terms like "saturate a path" and "fill the pipe" appear, and
The goal of the RPM Test is to keep the network as busy as possible
in a sustained and persistent way. It uses multiple TCP connections
and gradually adds more TCP flows until saturation is reached.
The terms "busy as possible", and "typical day-to-day pattern", or
"saturation" and "working conditions" indicate different load levels to me.
@@@@ Suggestion: I think it would help to simplify the terminology in this draft. You intend to measure a saturated path, so just say that. No "typical", no "working conditions", etc., in these early sections.
The sentence beginning "The goal..." should really appear in Section 3. Goals
Also, you have defined a measurement method in the sentence, "It uses..." above. This method of adding connections has been observed in other measurement systems, but it isn't typical of user traffic, especially when each connection has an ~infinite amount of data to send during the test.
4.1.2<https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01#section-4.1.2>. Parallel vs Sequential Uplink and Downlink
...
To measure responsiveness under working conditions, the algorithm
must saturate both directions.
Bi-directional saturation is really atypical of usage. I don't think the benefit of "more data" pays off.
...
However, a number of caveats come with measuring in parallel:
o Half-duplex links may not permit simultaneous uplink and downlink
traffic. This means the test might not saturate both directions
at once.
o Debuggability of the results becomes harder: During parallel
measurement it is impossible to differentiate whether the observed
latency happens in the uplink or the downlink direction.
o Consequently, the test should have an option for sequential
testing.
@@@@ Suggestion: IMO, tests/results with Downlink saturation OR Uplink saturation would be more straightforward, and can be understood by users (especially those who have tested in the past). Avoid the pitfalls and make Sequential testing the preferred option.
4.1.3<https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01#section-4.1.3>. Reaching saturation
The RPM Test gradually increases the number of TCP connections and
measures "goodput" - the sum of actual data transferred across all
connections in a unit of time. When the goodput stops increasing, it
means that saturation has been reached.
...
Filling buffers at the bottleneck depends on the congestion control
deployed on the sender side. Congestion control algorithms like BBR
may reach high throughput without causing queueing because the
bandwidth detection portion of BBR effectively seeks the bottleneck
capacity.
RPM Test clients and servers should use loss-based congestion
controls like Cubic to fill queues reliably.
With the evolution of Congestion control algorithms seeking to avoid filling buffers, does it make sense to require a full buffer at the bottleneck to achieve saturation?
In fact, the definition above, "When the goodput stops increasing,..." does not require full buffers; it requires maximizing a delivery rate measurement instead.
In 4.1.4, the final steps of the algorithm were not clear to me:
* Else, network reached saturation for the current flow count.
@@@@ This wording implies it to be the final step, but there are further conditions to test.
Maybe this step is "Else, Candidate for stable saturation"?
+ If new flows added and for 4 seconds the moving average
throughput did not change: network reached stable saturation
@@@@ Maybe:
+ If the 4 second moving average of "instantaneous aggregate goodput" with no new
flows added did not change
(defined as: moving average = "previous" moving average +/- 5%),
then the network reached stable saturation
----------------------------------------------------------------------------------------------------
+ Else, add four more flows
@@@ ??? and return to start?
Finally, in 4.1.4, the Note explains:
Note: It is tempting to envision an initial base RTT measurement and
adjust the intervals as a function of that RTT. However, experiments
have shown that this makes the saturation detection extremely
unstable in low RTT environments. In the situation where the
"unloaded" RTT is in the single-digit millisecond range, yet the
network's RTT increases under load to more than a hundred
milliseconds, the intervals become much too low to accurately drive
the algorithm.
Well, TCP senders/control-loops are involved here, and likely play a
role in behavior categorized as "difficult to measure".
By the time we get to
4.2<https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01#section-4.2>. Measuring Responsiveness
Once the network is in a consistent working conditions, the RPM Test
must "probe" the network multiple times to measure its
responsiveness.
Each RPM Test probe measures:
You previously started at least four TCP connections with infinitely large files.
The "create connection" RPM probes establish additional connections, DNS, TCP, etc.
Is each new connection an RPM probe? or is the set of connection tests a single probe?
(later we learn it is the set of
What if one of the set of connections fails/times-out?
I take it that the "load-bearing" connections are driving the path to saturation.
Maybe "load-generating connections" is more clear?
4.2.1<https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01#section-4.2.1>. Aggregating the Measurements
The algorithm produces sets of 5 times for each probe, namely: DNS
handshake, TCP handshake, TLS handshake, HTTP/2 request/response on
separate (idle) connections, HTTP/2 request/response on load bearing
connections. This fine-grained data is useful, but not necessary for
creating a useful metric.
@@@@ So, only ONE of the load-generating connections runs the 1-byte GET ? (it says connections, and there are at least 4) The various handshakes result in 4 RT measurements.
But, do you mean *5 repeated measurement sets*? Each set with:
DNS HS, TCP HS, TLS HS, HTTP/2 idle GET, and the potentially much longer GET on the
load generating connections.
To create a single "Responsiveness" (e.g., RPM) number, this first
iteration of the algorithm gives an equal weight to each of these
values. That is, it sums the five time values for each probe, and
divides by the total number of probes to compute an average probe
duration. The reciprocal of this, normalized to 60 seconds, gives
the Round-trips Per Minute (RPM).
@@@@ I'm missing a step, I think:
Are the "time values for each probe" the sum of handshake or response times for
DNS HS, TCP HS, TLS HS, HTTP/2 idle GET and load generating connections?
The processing doesn't seem to include this preliminary calculation to produce
"five time values".
In Section 5, "no new protocol is defined", but
The client begins the responsiveness measurement by querying for the
JSON configuration. This supplies the URLs for creating the load
bearing connections in the upstream and downstream direction as well
as the small object for the latency measurements.
The client needs to know how the server response will be organized, down to key: value, right?
Some client and server agreements needed...
From: ippm <ippm-bounces@ietf.org> On Behalf Of Marcus Ihlar
Sent: Monday, December 6, 2021 10:53 AM
To: ippm@ietf.org
Subject: [ippm] Adoption call for draft-cpaasch-ippm-responsiveness
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://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-cpaasch-ippm-responsiveness/__;!!BhdT!zI6d5je1i8cafA6NXByD5tvxHFKKPMjYgtM6t2aLUHFPsyPz-XwPFguwa1HS$>
https://datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-cpaasch-ippm-responsiveness-01__;!!BhdT!zI6d5je1i8cafA6NXByD5tvxHFKKPMjYgtM6t2aLUHFPsyPz-XwPFq67PfWg$>
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] Adoption call for draft-cpaasch-ippm-respo… Marcus Ihlar
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… MORTON JR., AL
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Matt Mathis
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Hawkins III, William (hawkinwh)
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Ruediger.Geib
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Greg Mirsky
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Dave Taht
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Greg Mirsky
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Ruediger.Geib
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Greg Mirsky
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Greg Mirsky
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Dave Taht
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… MORTON JR., AL
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… MORTON JR., AL
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Christoph Paasch
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… Marcus Ihlar
- Re: [ippm] Adoption call for draft-cpaasch-ippm-r… MORTON JR., AL