revolutions per minute - a new metric for measuring responsiveness
 help / color / mirror / Atom feed
From: Matt Mathis <mattmathis@google.com>
To: Rpm <rpm@lists.bufferbloat.net>
Subject: [Rpm] Outch! I found a problem with responsiveness
Date: Mon, 4 Oct 2021 16:23:15 -0700	[thread overview]
Message-ID: <CAH56bmDzUFkVzcy_rXM2XMWu=FcR8M0vco8Wp3q5EY305QRfLw@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1897 bytes --]

It has a super Heisenberg problem, to the point where it  is unlikely to
have much predictive value under conditions that are different from the
measurement itself.    The problem comes from the unbound specification for
"under load" and the impact of the varying drop/mark rate changing the
number of rounds needed to complete a transaction, such as a page load.

For modern TCP on an otherwise unloaded link with any minimally correct
queue management (including drop tail), the page load time is insensitive
to the details of the queue management.    There will be a little bit of
link idle in the first few RTT (early slowstart), and then under a huge
range of conditions for both the web page and the AQM, TCP will maintain at
least a short queue at the bottleneck with zero idle, up until the last
segment is delivered,   TCP will also avoid sending any duplicate data, so
the total data sent will be determined by the total number of bytes in the
page, and the total elapsed time, by the page size and link rate (plus the
idle from startup).

If AQM is used to increase the responsiveness, the losses or ECN marks will
cause the browser to take additional RTTs to load the page.  If there is no
cross traffic, these two effects (more rounds at higher RPM) will exactly
counterbalance each other.

This is perhaps why there are BB deniers: for many simple tasks it has zero
impact.

A concrete definition for "under load" should help to compare metrics
between implementations, but may not help predicting application
performance.
(Note there is a similar issue for base RTT).

Thanks,
--MM--
The best way to predict the future is to create it.  - Alan Kay

We must not tolerate intolerance;
       however our response must be carefully measured:
            too strong would be hypocritical and risks spiraling out of
control;
            too weak risks being mistaken for tacit approval.

[-- Attachment #2: Type: text/html, Size: 2337 bytes --]

             reply	other threads:[~2021-10-04 23:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-04 23:23 Matt Mathis [this message]
2021-10-04 23:36 ` [Rpm] RPM open meeting tuesdays 9:30-10:30 Dave Taht
2021-10-05 15:47   ` Matt Mathis
2021-10-11 20:52   ` Christoph Paasch
2021-10-05 16:18 ` [Rpm] Outch! I found a problem with responsiveness Christoph Paasch
2021-10-05 21:43   ` Simon Leinen
2021-10-11 21:01     ` Christoph Paasch
2021-10-12  7:11       ` Sebastian Moeller
2021-10-05 17:26 ` Stuart Cheshire
2021-10-05 22:01   ` Matt Mathis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/rpm.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH56bmDzUFkVzcy_rXM2XMWu=FcR8M0vco8Wp3q5EY305QRfLw@mail.gmail.com' \
    --to=mattmathis@google.com \
    --cc=rpm@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox