Skip to content
Will Hawkins edited this page Jan 10, 2024 · 35 revisions

Our weekly meeting happens on Wednesdays, 11:00am (Eastern Time).

We would love to have you join us. You can add a reminder to your calendar by using the Weekly Network Quality Community Meeting Internet Calendaring and Scheduling Core Object Specification (ICS) file. The link for the Zoom meeting is in the ICS file and reproduced here for ease of reference:

https://zoom.us/j/93376746932?pwd=d0ozK0kzWUxzYW01YmZSYWtPYWRVUT09

As of 2024, all meeting notes are on hackmd: https://hackmd.io/@hawkinsw/rpm-community-meeting-notes/edit

(Next meeting) September 14, 11:30am EDT

  • We are looking forward to an extra special guest: Dr. John Ousterhout (yes that John Ousterhout) will join us to talk about the Homa transport protocol and his experience implementing it in the Linux Kernel. We are very thankful to have him join us and look forward to an incredible discussion.

June 28 2023, 8:30am PT

  • A very interesting discussion around a blog post from Domos
  • A great follow-up to our on-Slack discussion about Comcast's deployment of L4S (as announced at their corporate website).
  • A great presentation from Felix about validation of LibreSpeed (using Quic)
  • Slides are available here.
  • It looks like LibreSpeed does a very good job measuring the bandwidth in the download case
  • There are some questions about how it measures upload connections (especially with high-RTT connections)
  • We are going to get some additional information from Felix.
  • Will and Bjorn are going to work together to debug the Go Responsiveness implementation

May 31st

Ben Janoff (SamKnows) on their Responsiveness measurementtechnique.

May 10 2023, 8:30

  • Felix : https://uclouvain-my.sharepoint.com/:x:/g/personal/felix_gaudin_student_uclouvain_be/ESjV9myFHyJMuSUVfg6uKVgBj2uajQFoaru7CTRevWEB1Q?e=zIphUq

    • nperf: Will will try to reach out to them.
    • breitbandmessung: Sebastian will provide contacts.
    • openspeedtest: Open-source. We could try to integrate RPM.
    • Christoph & Randall: Add iOS apps into spreadsheet.
  • goresponsiveness vs networkQuality vs Flent @Sebastian

  • draft-ietf Issue #78

    • Issue closed
  • librespeed status

    • Will is almost official maintainer.
  • package-hosting for goresponsiveness

    • Exposing more statistics and using data-structure to maintain historical data on the system.
  • Socket-options - Bob McMahon

    • Create list of socket-options to apply to optimize for bulk-transfer vs optimizing for latency
      • QUICK-ACK (?), NODELAY, NOTSENT_LOWAT for low-latency
  • Give overview of current algorithm

    • Christoph : Schedule 30min for RPM, 30min for Ookla, 30min for Sam, 30min for Bjorn,...
    • Christoph : Link slides on the github wiki.

May 3 2023, 8:30

April 26 2023, 8:30:

  • Introductions
    • Brennen Smith, VP Tech at Ookla
    • Adam - Manager at Apple, monitoring & deploiment tools at Apple
  • librespeed
    • PR is out on github!
    • librespeed maintainer wants to transition maintership to us. Will and Felix could co-maintain.
    • librespeed has 1 server supporting QUIC
  • Felix:
    • analysis on QUIC
    • Bob: To what extend is QUIC important?
      • Brennen: QUIC has a huge deployment. One nice part of QUIC is that it is very easily changeable to network conditions.
      • Interop is a challenge. Quiche (Cloudflare) is the most popular.
      • QUIC low-latency flag ?
        • low latency should be the default. Bulk the opt-in option.
        • @christoph : Check if Cloudflare's NQ end-point supports QUIC ???
    • Brennen: speed.cloudflare is HTTP/1.1 only. Issue is streams vs connections.
    • Felix: To handle the multiplexing, a solution is to use multiple hostnames to avoid coalescing in a single H2 connection.
  • github.com/server: Pull out go-based server into separate repository.
    • Randall's on it
  • Bulk-option
    • Could be an indicator to L2 to max out aggregation
      • indicate to L2 "More is coming and wait for it"
      • WiFi aggregation is more than 128KB
      • Brennen: How would the "bulk-option" on one socket affect the low-latency connection?
        • Do the same as L4S: low-latency queue and "classic/bulk"-queue
    • Aggregate "options" to group a bunch of settings to optimize for "service-class". Bulk sets CC, L4Soff, ... Low-latency sets TCP_NOTSENT_LOWAT, CC, L4Son,...

April 19 2023, 8:30am

  • librespeed
    • Pull-request: Ready to be sent out. Out on Thursday.
  • goresponsiveness
    • Probing on load-generating connection may happen before the load-gen connection is actually ready to multiplex. Fix is ready.
    • Minor formatting issue is being fixed.
    • Next step: Make sure we are fully aligned with the spec.
    • Next step: Odd upload numbers.
    • L4S: When go is running on QUIC, can we enable "L4S" on QUIC connections?
  • draft-ietf-ippm-responsiveness: https://github.com/network-quality/draft-ietf-ippm-responsiveness/issues/78
    • Pushed out to two weeks from now.

April 12 2023, 8:30am

  • librespeed
    • Good data coming in. Almost ready to send out the Pull-Request.
  • goresponsiveness
  • draft-ietf-ippm-responsiveness
    • CPU-saturation problem
      • Ben: Run responsiveness probes all the time. Don't wait for capacity saturation. (Samknows itself does not really run into CPU-issues because the hardware is being tested before shipping).
        • Meaning: As we continuously probe for responsiveness, we don't have the phase-shift between capacity-probing and responsiveness-probing.
      • Will: Now has a 10Gig ethernet port :)
      • Stuart: If the device cannot keep up with the network's abilities, we should try to show this to the user ("this result is not reliable")
        • Ben: Could we find out what the expected rate is? E.g., compare HTTP vs HTTPS.
        • Christoph: We could check for "congestion-signals" and expose a "warning" that says that you may be limited by CPU...
        • Bob: Could do loopback for some kind of "upper-bound". Christoph: Loopback code-path can be significantly different than going out on the network.
  • caddyserver (Christoph to add to list of projects to investigate)

April 5 2023, 8:30am

March 29 2023, 8:30am

  • iperf2
    • Documentation status Bob
  • OpenWRT
    • Bob to check on SF hosting
  • networkQuality human output explanations (question from Bob)
    • Need for breaking out the numbers in different categories so that the result maps better to an actionable result.
  • librespeed - updated to latest draft
    • PR to be sent out soonish
  • How to get propagation delay to better understand its contribution to responsiveness
    • Question is how we could actually measure the "distance". Geographic and hop-count are both only very rough approximations that are both totally wrong.
  • Standard deviation discussion:
    • We should find a way to "learn" the standard deviation of the link so as to provide this as output of an "extended" test.

March 15 2023, 8:30am

  • iperf2
    • Bob to present slide-deck (if we agree)
    • status of wiki documentation
  • draft-IETF-responsiveness
    • trimmed mean: Single-ended
  • ns-3 idea
    • ns-3 DCE go support to allow running responsiveness over go in ns-3
  • librespeed update
    • Implementation almost ready to be sent out as a pull-request
  • Felix update on new implementation
    • ongoing
  • OpenWRT
    • Bob to check on package hosting on SF.

March 1 2023, 8:30am

  • iperf2
    • status of wiki documentation
      • slide-deck with documentation within a week
      • can create documentation based on the slidedeck
      • We could reach out to Rich Brown to see if he is interested in putting text around the slide-deck.
  • librespeed update
    • No update.
  • Felix on new implementation
    • Tool for measuring QUIC connection (picoquic)
    • Several QUIC connections, measuring responsiveness, loss, ... comparing Congestion control algorithms.
    • Estimating bandwidth and then run a test at a fraction of the bandwidth, by limiting at the congestion control layer.
      • first run to estimate full capacity
      • second run, but limiting tput at the cc layer
        • latency is very low when goodput is less than capacity
        • latency is very high when goodput is more than the capacity
    • Using qlog to extract information from the QUIC layer.
    • next goal is to compare QUIC with TCP
  • OpenWRT
    • status on package hosting - Bob to check for next meeting
  • goresponsiveness
  • draft-ietf-ippm-responsiveness (Christoph)
    • Define how many load-generating connections to chose to probe on.
    • stabilizer code in goresponsiveness is the current rev3
    • Number-of-probes issue:
      • in librespeed had to increase interval to 500ms because otherwise there were too many probes and made the browser unresponsiveness
      • Make probing interval and # of probes adaptive.
        • Can we make the probing interval such that probes take no more than X% of the capacity.
  • servers (Randall)
    • updating field-names, go implementation code-reorg (can now auto-create a self-signed cert)
    • should eventually move go-implementation to a separate git repository
    • Randall to document on the wiki (https://github.com/network-quality/community/wiki)

February 22 2023, 8:30am

February 14 2023, 8:30am

  • iperf2 release candidate
  • draft-teigen-ippm-app-quality-metric-reqs
    • Bob: Composability may be a challenge. Within forwarding plane there can be many logic paths.
    • Bjorn: If you are not measuring everything that is happening, composability is lost.
    • Goal of the draft is to have a metric that is well-suited to monitor network that has "real" traffic.
    • mechanism is missing - will be added
    • New version will come before Yokohama. Comments are welcome.
  • librespeed
    • No updates.
  • goresponsiveness
    • Merged rev3 into main.
    • Adding traceroute option.
      • Goal:
        • IP-traceroute to find intermediate IP-addresses.
        • Based on IP-address resolve RPM endpoints (if existing).
        • Then, connect to .well-known to measure.
        • test_endpoint from json will allow to know whether or not we are actually hitting the traceroute'd IP-address.
  • OpenWRT
    • Fighting openwrt build weirdness for goresponsiveness
    • attempted iperf2.1.9 openwrt package. Same header-file issue as Tim. @Bob to check on this.
    • Next openwrt package will be responsiveness server-side.
  • William update on students
    • building crowd-sourced repository for RPM measurements.
    • similar to "downdetector", where people can report their RPM at a specific point-in-time

February 8 2023, 8:30am

Agenda:

  • Introductions
    • Peter Heinzmann: Speedtest benchmarking for Swiss operators.
    • Shotah: System's engineer at Eero. Worked with SamKnows.
  • Update to wiki/...
  • librespeed by Felix Gaudin
    • Load-generation completed. Results look good.
    • work on ping-requests on separate connections
    • ping-requests on load-generating connections. Should check with Cloudflare,... on how they force on load-generating connections.
    • test against default librespeed servers
  • OpenWRT by Will Hawkins
    • manpage ready
    • openwrt package now needs to get submitted to upstream.
    • blocked on rev3 into goresponsivenss. rev3 not blocked on IETF-draft.
    • Will to sub
  • Discuss draft-teigen-ippm-app-quality-metric-reqs by Bjorn Ivar Teigen
    • Bob: Is it server-to-server? It is client-to-server and also trying to capture the different hops in-between
    • Goal: RPM-community to provide feedback and discuss it. Draft is relevant for RPM to diagnose issues (step-by-step) to identify problem-points. Composable metrics allow to do this.