From: Robert McMahon <rjmcmahon@rjmcmahon.com>
To: Sebastian Moeller <moeller0@gmx.de>
Cc: "Rodney W. Grimes" <starlink@gndrsh.dnsmgr.net>,
Rpm <rpm@lists.bufferbloat.net>,
mike.reynolds@netforecast.com,"David P. Reed"
<dpreed@deepplum.com>, libreqos <libreqos@lists.bufferbloat.net>,
Dave Taht via Starlink <starlink@lists.bufferbloat.net>,
bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Rpm] [Starlink] Researchers Seeking Probe Volunteers in USA
Date: Thu, 12 Jan 2023 09:49:59 -0800 [thread overview]
Message-ID: <752678c9-9fdf-4abe-9915-564e3989f4d8@rjmcmahon.com> (raw)
In-Reply-To: <44D8ADEB-8F89-4477-BCBD-C597A888A83E@gmx.de>
[-- Attachment #1: Type: text/plain, Size: 10817 bytes --]
Hi Sebastien,
You make a good point. What I did was issue a warning if the tool found it was being CPU limited vs i/o limited. This indicates the i/o test likely is inaccurate from an i/o perspective, and the results are suspect. It does this crudely by comparing the cpu thread doing stats against the traffic threads doing i/o, which thread is waiting on the others. There is no attempt to assess the cpu load itself. So it's designed with a singular purpose of making sure i/o threads only block on syscalls of write and read.
I probably should revisit this both in design and implementation. Thanks for bringing it up and all input is truly appreciated.
Bob
On Jan 12, 2023, 12:14 AM, at 12:14 AM, Sebastian Moeller <moeller0@gmx.de> wrote:
>Hi Bob,
>
>
>> On Jan 11, 2023, at 21:09, rjmcmahon <rjmcmahon@rjmcmahon.com> wrote:
>>
>> Iperf 2 is designed to measure network i/o. Note: It doesn't have to
>move large amounts of data. It can support data profiles that don't
>drive TCP's CCA as an example.
>>
>> Two things I've been asked for and avoided:
>>
>> 1) Integrate clock sync into iperf's test traffic
>
> [SM] This I understand, measurement conditions can be unsuited for
>tight time synchronization...
>
>
>> 2) Measure and output CPU usages
>
> [SM] This one puzzles me, as far as I understand the only way to
>properly diagnose network issues is to rule out other things like CPU
>overload that can have symptoms similar to network issues. As an
>example, the cake qdisc will if CPU cycles become tight first increases
>its internal queueing and jitter (not consciously, it is just an
>observation that once cake does not get access to the CPU as timely as
>it wants, queuing latency and variability increases) and then later
>also shows reduced throughput, so similar things that can happen along
>an e2e network path for completely different reasons, e.g. lower level
>retransmissions or a variable rate link. So i would think that checking
>the CPU load at least coarse would be within the scope of network
>testing tools, no?
>
>Regards
> Sebastian
>
>
>
>
>> I think both of these are outside the scope of a tool designed to
>test network i/o over sockets, rather these should be developed &
>validated independently of a network i/o tool.
>>
>> Clock error really isn't about amount/frequency of traffic but rather
>getting a periodic high-quality reference. I tend to use GPS pulse per
>second to lock the local system oscillator to. As David says, most
>every modern handheld computer has the GPS chips to do this already. So
>to me it seems more of a policy choice between data center operators
>and device mfgs and less of a technical issue.
>>
>> Bob
>>> Hello,
>>> Yall can call me crazy if you want.. but... see below [RWG]
>>>> Hi Bib,
>>>> > On Jan 9, 2023, at 20:13, rjmcmahon via Starlink
><starlink@lists.bufferbloat.net> wrote:
>>>> >
>>>> > My biggest barrier is the lack of clock sync by the devices, i.e.
>very limited support for PTP in data centers and in end devices. This
>limits the ability to measure one way delays (OWD) and most assume that
>OWD is 1/2 and RTT which typically is a mistake. We know this
>intuitively with airplane flight times or even car commute times where
>the one way time is not 1/2 a round trip time. Google maps & directions
>provide a time estimate for the one way link. It doesn't compute a
>round trip and divide by two.
>>>> >
>>>> > For those that can get clock sync working, the iperf 2
>--trip-times options is useful.
>>>> [SM] +1; and yet even with unsynchronized clocks one can try to
>measure how latency changes under load and that can be done per
>direction. Sure this is far inferior to real reliably measured OWDs,
>but if life/the internet deals you lemons....
>>> [RWG] iperf2/iperf3, etc are already moving large amounts of data
>>> back and forth, for that matter any rate test, why not abuse some of
>>> that data and add the fundemental NTP clock sync data and
>>> bidirectionally pass each others concept of "current time". IIRC
>(its
>>> been 25 years since I worked on NTP at this level) you *should* be
>>> able to get a fairly accurate clock delta between each end, and then
>>> use that info and time stamps in the data stream to compute OWD's.
>>> You need to put 4 time stamps in the packet, and with that you can
>>> compute "offset".
>>>> >
>>>> > --trip-times
>>>> > enable the measurement of end to end write to read latencies
>(client and server clocks must be synchronized)
>>> [RWG] --clock-skew
>>> enable the measurement of the wall clock difference between sender
>and receiver
>>>> [SM] Sweet!
>>>> Regards
>>>> Sebastian
>>>> >
>>>> > Bob
>>>> >> I have many kvetches about the new latency under load tests
>being
>>>> >> designed and distributed over the past year. I am delighted!
>that they
>>>> >> are happening, but most really need third party evaluation, and
>>>> >> calibration, and a solid explanation of what network pathologies
>they
>>>> >> do and don't cover. Also a RED team attitude towards them, as
>well as
>>>> >> thinking hard about what you are not measuring (operations
>research).
>>>> >> I actually rather love the new cloudflare speedtest, because it
>tests
>>>> >> a single TCP connection, rather than dozens, and at the same
>time folk
>>>> >> are complaining that it doesn't find the actual "speed!". yet...
>the
>>>> >> test itself more closely emulates a user experience than
>speedtest.net
>>>> >> does. I am personally pretty convinced that the fewer numbers of
>flows
>>>> >> that a web page opens improves the likelihood of a good user
>>>> >> experience, but lack data on it.
>>>> >> To try to tackle the evaluation and calibration part, I've
>reached out
>>>> >> to all the new test designers in the hope that we could get
>together
>>>> >> and produce a report of what each new test is actually doing.
>I've
>>>> >> tweeted, linked in, emailed, and spammed every measurement list
>I know
>>>> >> of, and only to some response, please reach out to other test
>designer
>>>> >> folks and have them join the rpm email list?
>>>> >> My principal kvetches in the new tests so far are:
>>>> >> 0) None of the tests last long enough.
>>>> >> Ideally there should be a mode where they at least run to "time
>of
>>>> >> first loss", or periodically, just run longer than the
>>>> >> industry-stupid^H^H^H^H^H^Hstandard 20 seconds. There be dragons
>>>> >> there! It's really bad science to optimize the internet for 20
>>>> >> seconds. It's like optimizing a car, to handle well, for just 20
>>>> >> seconds.
>>>> >> 1) Not testing up + down + ping at the same time
>>>> >> None of the new tests actually test the same thing that the
>infamous
>>>> >> rrul test does - all the others still test up, then down, and
>ping. It
>>>> >> was/remains my hope that the simpler parts of the flent test
>suite -
>>>> >> such as the tcp_up_squarewave tests, the rrul test, and the
>rtt_fair
>>>> >> tests would provide calibration to the test designers.
>>>> >> we've got zillions of flent results in the archive published
>here:
>>>> >> https://blog.cerowrt.org/post/found_in_flent/
>>>> >> ps. Misinformation about iperf 2 impacts my ability to do this.
>>>> >
>>>> >> The new tests have all added up + ping and down + ping, but not
>up +
>>>> >> down + ping. Why??
>>>> >> The behaviors of what happens in that case are really
>non-intuitive, I
>>>> >> know, but... it's just one more phase to add to any one of those
>new
>>>> >> tests. I'd be deliriously happy if someone(s) new to the field
>>>> >> started doing that, even optionally, and boggled at how it
>defeated
>>>> >> their assumptions.
>>>> >> Among other things that would show...
>>>> >> It's the home router industry's dirty secret than darn few
>"gigabit"
>>>> >> home routers can actually forward in both directions at a
>gigabit. I'd
>>>> >> like to smash that perception thoroughly, but given our starting
>point
>>>> >> is a gigabit router was a "gigabit switch" - and historically
>been
>>>> >> something that couldn't even forward at 200Mbit - we have a long
>way
>>>> >> to go there.
>>>> >> Only in the past year have non-x86 home routers appeared that
>could
>>>> >> actually do a gbit in both directions.
>>>> >> 2) Few are actually testing within-stream latency
>>>> >> Apple's rpm project is making a stab in that direction. It looks
>>>> >> highly likely, that with a little more work, crusader and
>>>> >> go-responsiveness can finally start sampling the tcp RTT, loss
>and
>>>> >> markings, more directly. As for the rest... sampling TCP_INFO on
>>>> >> windows, and Linux, at least, always appeared simple to me, but
>I'm
>>>> >> discovering how hard it is by delving deep into the rust behind
>>>> >> crusader.
>>>> >> the goresponsiveness thing is also IMHO running WAY too many
>streams
>>>> >> at the same time, I guess motivated by an attempt to have the
>test
>>>> >> complete quickly?
>>>> >> B) To try and tackle the validation problem:ps. Misinformation
>about iperf 2 impacts my ability to do this.
>>>> >
>>>> >> In the libreqos.io project we've established a testbed where
>tests can
>>>> >> be plunked through various ISP plan network emulations. It's
>here:
>>>> >> https://payne.taht.net (run bandwidth test for what's currently
>hooked
>>>> >> up)
>>>> >> We could rather use an AS number and at least a ipv4/24 and
>ipv6/48 to
>>>> >> leverage with that, so I don't have to nat the various
>emulations.
>>>> >> (and funding, anyone got funding?) Or, as the code is GPLv2
>licensed,
>>>> >> to see more test designers setup a testbed like this to
>calibrate
>>>> >> their own stuff.
>>>> >> Presently we're able to test:
>>>> >> flent
>>>> >> netperf
>>>> >> iperf2
>>>> >> iperf3
>>>> >> speedtest-cli
>>>> >> crusader
>>>> >> the broadband forum udp based test:
>>>> >> https://github.com/BroadbandForum/obudpst
>>>> >> trexx
>>>> >> There's also a virtual machine setup that we can remotely drive
>a web
>>>> >> browser from (but I didn't want to nat the results to the world)
>to
>>>> >> test other web services.
>>>> >> _______________________________________________
>>>> >> Rpm mailing list
>>>> >> Rpm@lists.bufferbloat.net
>>>> >> https://lists.bufferbloat.net/listinfo/rpm
>>>> > _______________________________________________
>>>> > Starlink mailing list
>>>> > Starlink@lists.bufferbloat.net
>>>> > https://lists.bufferbloat.net/listinfo/starlink
>>>> _______________________________________________
>>>> Starlink mailing list
>>>> Starlink@lists.bufferbloat.net
>>>> https://lists.bufferbloat.net/listinfo/starlink
[-- Attachment #2: Type: text/html, Size: 12665 bytes --]
next prev parent reply other threads:[~2023-01-12 17:50 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.2651.1672779463.1281.starlink@lists.bufferbloat.net>
[not found] ` <1672786712.106922180@apps.rackspace.com>
[not found] ` <F4CA66DA-516C-438A-8D8A-5F172E5DFA75@cable.comcast.com>
2023-01-09 15:26 ` Dave Taht
2023-01-09 17:00 ` Sebastian Moeller
2023-01-09 17:04 ` [Rpm] [LibreQoS] " Jeremy Austin
2023-01-09 18:33 ` Dave Taht
2023-01-09 18:54 ` [Rpm] [EXTERNAL] " Livingood, Jason
2023-01-09 19:19 ` rjmcmahon
2023-01-09 19:56 ` [Rpm] [LibreQoS] " dan
2023-01-09 21:00 ` rjmcmahon
2023-03-13 10:02 ` Sebastian Moeller
2023-03-13 15:08 ` [Rpm] [Starlink] [LibreQoS] [EXTERNAL] " Jeremy Austin
2023-03-13 15:50 ` Sebastian Moeller
2023-03-13 16:06 ` [Rpm] [Bloat] " Dave Taht
2023-03-13 16:19 ` Sebastian Moeller
2023-03-13 16:12 ` [Rpm] " dan
2023-03-13 16:36 ` Sebastian Moeller
2023-03-13 17:26 ` dan
2023-03-13 17:37 ` Jeremy Austin
2023-03-13 18:34 ` Sebastian Moeller
2023-03-13 18:14 ` Sebastian Moeller
2023-03-13 18:42 ` rjmcmahon
2023-03-13 18:51 ` Sebastian Moeller
2023-03-13 19:32 ` rjmcmahon
2023-03-13 20:00 ` Sebastian Moeller
2023-03-13 20:28 ` rjmcmahon
2023-03-14 4:27 ` [Rpm] On FiWi rjmcmahon
2023-03-14 11:10 ` [Rpm] [Starlink] " Mike Puchol
2023-03-14 16:54 ` Robert McMahon
2023-03-14 17:06 ` Robert McMahon
2023-03-14 17:11 ` [Rpm] [Bloat] " Sebastian Moeller
2023-03-14 17:35 ` Robert McMahon
2023-03-14 17:54 ` [Rpm] [LibreQoS] " dan
2023-03-14 18:14 ` Robert McMahon
2023-03-14 19:18 ` dan
2023-03-14 19:30 ` [Rpm] [Bloat] [LibreQoS] " Dave Taht
2023-03-14 20:06 ` rjmcmahon
2023-03-14 19:30 ` [Rpm] [LibreQoS] [Bloat] " rjmcmahon
2023-03-14 23:30 ` [Rpm] [Starlink] [LibreQoS] [Bloat] " Bruce Perens
2023-03-15 0:11 ` Robert McMahon
2023-03-15 5:20 ` Bruce Perens
2023-03-15 16:17 ` Aaron Wood
2023-03-15 17:05 ` Bruce Perens
2023-03-15 17:44 ` rjmcmahon
2023-03-15 19:22 ` [Rpm] [Bloat] [Starlink] [LibreQoS] " David Lang
2023-03-15 17:32 ` [Rpm] [Starlink] [LibreQoS] [Bloat] " rjmcmahon
2023-03-15 17:42 ` dan
2023-03-15 19:33 ` [Rpm] [Bloat] [Starlink] [LibreQoS] " David Lang
2023-03-15 19:39 ` Dave Taht
2023-03-15 21:52 ` David Lang
2023-03-15 22:04 ` Dave Taht
2023-03-15 22:08 ` dan
2023-03-15 17:43 ` Sebastian Moeller
2023-03-15 17:49 ` rjmcmahon
2023-03-15 17:53 ` Dave Taht
2023-03-15 17:59 ` dan
2023-03-15 19:39 ` rjmcmahon
2023-03-17 16:38 ` [Rpm] [Starlink] " Dave Taht
2023-03-17 18:21 ` Mike Puchol
2023-03-17 19:01 ` Sebastian Moeller
2023-03-17 19:19 ` rjmcmahon
2023-03-17 20:37 ` Bruce Perens
2023-03-17 20:57 ` rjmcmahon
2023-03-17 22:50 ` Bruce Perens
2023-03-18 18:18 ` rjmcmahon
2023-03-18 19:57 ` [Rpm] [LibreQoS] " dan
2023-03-18 20:40 ` rjmcmahon
2023-03-19 10:26 ` [Rpm] [Starlink] [LibreQoS] " Michael Richardson
2023-03-19 21:00 ` [Rpm] On metrics rjmcmahon
2023-03-20 0:26 ` dan
2023-03-20 3:03 ` [Rpm] [Starlink] " David Lang
2023-03-20 20:46 ` [Rpm] [Starlink] [LibreQoS] On FiWi Frantisek Borsik
2023-03-20 21:28 ` dan
2023-03-20 21:38 ` Frantisek Borsik
2023-03-20 22:02 ` [Rpm] On FiWi power envelope rjmcmahon
2023-03-20 23:47 ` [Rpm] [Starlink] " Bruce Perens
2023-03-21 0:10 ` [Rpm] [Starlink] [LibreQoS] On FiWi Brandon Butterworth
2023-03-21 5:21 ` Frantisek Borsik
2023-03-21 11:26 ` [Rpm] Annoyed at 5/1 Mbps Rich Brown
2023-03-21 12:29 ` [Rpm] [Starlink] [LibreQoS] On FiWi Brandon Butterworth
2023-03-21 12:30 ` Sebastian Moeller
2023-03-21 17:42 ` rjmcmahon
2023-03-21 18:08 ` rjmcmahon
2023-03-21 18:51 ` Frantisek Borsik
2023-03-21 19:58 ` rjmcmahon
2023-03-21 20:06 ` [Rpm] [Bloat] " David Lang
2023-03-25 19:39 ` [Rpm] On fiber as critical infrastructure w/Comcast chat rjmcmahon
2023-03-25 20:09 ` [Rpm] [Starlink] " Bruce Perens
2023-03-25 20:47 ` rjmcmahon
2023-03-25 20:15 ` [Rpm] [Bloat] " Sebastian Moeller
2023-03-25 20:43 ` rjmcmahon
2023-03-25 21:08 ` [Rpm] [Starlink] " Bruce Perens
2023-03-25 22:04 ` Robert McMahon
2023-03-25 22:50 ` dan
2023-03-25 23:21 ` Robert McMahon
2023-03-25 23:35 ` [Rpm] [Bloat] [Starlink] " David Lang
2023-03-26 0:04 ` Robert McMahon
2023-03-26 0:07 ` Nathan Owens
2023-03-26 0:50 ` Robert McMahon
2023-03-26 8:45 ` Livingood, Jason
2023-03-26 18:54 ` rjmcmahon
2023-03-26 0:28 ` David Lang
2023-03-26 0:57 ` Robert McMahon
2023-03-25 22:57 ` [Rpm] [Starlink] [Bloat] " Bruce Perens
2023-03-25 23:33 ` [Rpm] [Bloat] [Starlink] " David Lang
2023-03-25 23:38 ` [Rpm] [Starlink] [Bloat] " Robert McMahon
2023-03-25 23:20 ` [Rpm] [Bloat] [Starlink] " David Lang
2023-03-26 18:29 ` rjmcmahon
2023-03-26 10:34 ` [Rpm] [Bloat] " Sebastian Moeller
2023-03-26 18:12 ` rjmcmahon
2023-03-26 20:57 ` David Lang
2023-03-25 20:27 ` [Rpm] " rjmcmahon
2023-03-17 23:15 ` [Rpm] [Bloat] [Starlink] On FiWi David Lang
2023-03-13 19:33 ` [Rpm] [Starlink] [LibreQoS] [EXTERNAL] Re: Researchers Seeking Probe Volunteers in USA dan
2023-03-13 19:52 ` Jeremy Austin
2023-03-13 21:00 ` Sebastian Moeller
2023-03-13 21:27 ` dan
2023-03-14 9:11 ` Sebastian Moeller
2023-03-13 20:45 ` Sebastian Moeller
2023-03-13 21:02 ` [Rpm] When do you drop? Always! Dave Taht
2023-03-13 16:04 ` [Rpm] UnderBloat on fiber and wisps Dave Taht
2023-03-13 16:09 ` Sebastian Moeller
2023-01-09 20:49 ` [Rpm] [EXTERNAL] Re: [Starlink] Researchers Seeking Probe Volunteers in USA Dave Taht
2023-01-09 19:13 ` [Rpm] " rjmcmahon
2023-01-09 19:47 ` Sebastian Moeller
2023-01-11 18:32 ` Rodney W. Grimes
2023-01-11 20:01 ` Sebastian Moeller
2023-01-11 21:46 ` Dick Roy
2023-01-12 8:22 ` Sebastian Moeller
2023-01-12 18:02 ` rjmcmahon
2023-01-12 21:34 ` Dick Roy
2023-01-12 20:39 ` Dick Roy
2023-01-13 7:33 ` Sebastian Moeller
2023-01-13 8:26 ` Dick Roy
2023-01-13 7:40 ` rjmcmahon
2023-01-13 8:10 ` Dick Roy
2023-01-15 23:09 ` rjmcmahon
2023-01-11 20:09 ` rjmcmahon
2023-01-12 8:14 ` Sebastian Moeller
2023-01-12 17:49 ` Robert McMahon [this message]
2023-01-12 21:57 ` Dick Roy
2023-01-13 7:44 ` Sebastian Moeller
2023-01-13 8:01 ` Dick Roy
2023-01-09 20:20 ` Dave Taht
2023-01-09 20:46 ` rjmcmahon
2023-01-09 20:59 ` Dave Taht
2023-01-09 21:06 ` rjmcmahon
2023-01-09 21:18 ` rjmcmahon
2023-01-09 21:02 ` Dick Roy
2023-01-10 17:36 ` David P. Reed
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=752678c9-9fdf-4abe-9915-564e3989f4d8@rjmcmahon.com \
--to=rjmcmahon@rjmcmahon.com \
--cc=bloat@lists.bufferbloat.net \
--cc=dpreed@deepplum.com \
--cc=libreqos@lists.bufferbloat.net \
--cc=mike.reynolds@netforecast.com \
--cc=moeller0@gmx.de \
--cc=rpm@lists.bufferbloat.net \
--cc=starlink@gndrsh.dnsmgr.net \
--cc=starlink@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