General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Kathleen Nichols <nichols@pollere.net>
To: Matt Mathis <mattmathis@google.com>,
	Jonathan Morton <chromatix99@gmail.com>
Cc: Randall Meyer <rrm@apple.com>, Omer Shapira <oesh@apple.com>,
	bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] Credit and/or collaboration on a responsiveness metric?
Date: Tue, 6 Jul 2021 14:56:17 -0700	[thread overview]
Message-ID: <18b021f6-1f2e-1653-01dd-283f9882a17a@pollere.net> (raw)
In-Reply-To: <CAH56bmCkq296sNRFJYa8BirDJzB1eYAthnbC_UtagsshOKG9kg@mail.gmail.com>


In coming up with metrics, I would really encourage you to think about
making use of tdigest to gather statistics in some of your on-line
measurement. I'm not sure users see "average" behavior. I mean if
someone is getting great latency numbers most of the time, with a small
percentage of unacceptable values, I don't think their meeting is seeing
that "average" latency as the performance.

	Kathie

On 7/6/21 12:04 PM, Matt Mathis via Bloat wrote:
> (Adding other Apple developers back in)
> Jonathan, you didn't even go in the direction I was expecting.   My
> fragmentary ideas:
> 
> Round counting (the underlying primitive) can be measured or estimated
> in several different ways at different layers:
> TCP/transport layer:
> 
>     From a .pcap, count rounds: data->ACK->data.  easiest in reverse
>     time, but timeouts are hard
>     From polled smoothed RTT (TCP_INFO or Web100): SUM
>     (poll_interval/SRTT) is an estimate of the number of elapsed rounds
>     - The SRTT algorithm has been quite stable for  decades
>     - This algorithm could be applied to ~ 4 Billion MLab traces,
>     collected over the last 11 years but are not exposed in the current
>     data processing pipeline (my current project)
> 
> transport ABI (untested idea);
> 
>     Use instrumented minimal TCP or QUIC applications (e.g. chargen,
>     echo and discard) to count rounds
>     For WFID, this would also include the socket buffer backlog, and how
>     intelligently the kernel manages buffer space
> 
> library:
> 
>     Use ping messages in http, websockets and other "application" protocols
> 
>     This also includes the library buffers and their management
> 
> 
> Note that (rounds per second) * (throughput) is network power
> 
> Also the number of rounds "consumed" by an application can be measured.
> 
> I will see everybody on Dave's call.
> 
> 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.
> 
> 
> On Tue, Jul 6, 2021 at 1:48 AM Jonathan Morton <chromatix99@gmail.com
> <mailto:chromatix99@gmail.com>> wrote:
> 
>     > On 6 Jul, 2021, at 2:21 am, Matt Mathis <mattmathis@google.com
>     <mailto:mattmathis@google.com>> wrote:
>     >
>     > The rounds based responsiveness metric is awesome!   There are
>     several slightly different versions, with slightly different
>     properties....
>     >
>     > I would like to write a little paper (probably for the IAB
>     workshop), but don't want to short change anybody else's credit, or
>     worse, scoop somebody else's work in progress.   I don't really know
>     if I am retracing somebody else's steps, or on a parallel but
>     different path (more likely).   I would be really sad to publish
>     something and then find out later that I trashed some PhD students'
>     thesis....
> 
>     It's possible that I had some small influence in originating it,
>     although Dave did most of the corporate marketing.
> 
>     My idea was simply to express delays and latencies as a frequency,
>     in Hz, so that "bigger numbers are better", rather than always in
>     milliseconds, where "smaller numbers are better".  The advantage of
>     Hz is that you can directly compare it to framerates of video or
>     gameplay.
> 
>     Conversely, an advantage of "rounds per minute" is that you don't
>     need to deal with fractions or rounding for relatively modest and
>     common levels of bloat, where latencies of 1-5 seconds are typical.
> 
>     I'm not overly concerned with taking credit for it, though.  It's a
>     reasonably obvious idea to anyone who takes a genuine interest in
>     this field, and other people did most of the hard work.
> 
>     > Please let me know if you know of anybody else working in this
>     space, of any publications that might be in progress or if people
>     might be interested in another collaborator.
> 
>     There are two distinct types of latency that RPM can be used to
>     measure, and I have written a short Internet Draft describing the
>     distinction:
> 
>            
>     https://www.ietf.org/archive/id/draft-morton-tsvwg-interflow-intraflow-delays-00.html
>     <https://www.ietf.org/archive/id/draft-morton-tsvwg-interflow-intraflow-delays-00.html>
> 
>     Briefly, "inter-flow delays" (or BFID) are what you measure with an
>     independent latency-measuring flow, and "intra-flow delays" (or
>     WFID) are what you measure by inserting latency probes into an
>     existing flow (whether at the protocol level with HTTP2, or by
>     extracting it from existing application activity).  The two
>     typically differ when the path bottleneck has a flow-isolating
>     queue, or when the application flow experiences loss and
>     retransmission recovery.
> 
>     I think both measures are important in different contexts.  An
>     individual application may be concerned with its own intra-flow
>     delay, as that determines how quickly it can respond to changes in
>     network conditions or user intent.  Network engineers should be
>     concerned with inter-flow delays, as those determine what effect a
>     bulk application load has on other, more latency-sensitive
>     applications.  The two are also optimally controlled by different
>     mechanisms - FQ versus AQM - which is why the combination of the two
>     is so powerful.
> 
>     Feel free to use material from the above with appropriate attribution.
> 
>      - Jonathan Morton
> 
> 
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
> 


  reply	other threads:[~2021-07-06 21:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-05 23:21 Matt Mathis
2021-07-06  0:09 ` Dave Taht
2021-07-06  8:48 ` Jonathan Morton
2021-07-06 14:46   ` Michael Richardson
2021-07-07  8:00     ` Sebastian Moeller
2021-07-06 19:04   ` Matt Mathis
2021-07-06 21:56     ` Kathleen Nichols [this message]
2021-07-06 16:28 ` Christoph Paasch

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/bloat.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=18b021f6-1f2e-1653-01dd-283f9882a17a@pollere.net \
    --to=nichols@pollere.net \
    --cc=bloat@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=mattmathis@google.com \
    --cc=oesh@apple.com \
    --cc=rrm@apple.com \
    /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