Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing both up and down simultaneously would be a nice option #81

Open
dtaht opened this issue Aug 19, 2022 · 2 comments
Open

Testing both up and down simultaneously would be a nice option #81

dtaht opened this issue Aug 19, 2022 · 2 comments

Comments

@dtaht
Copy link

dtaht commented Aug 19, 2022

Only the flent rrul test attempts to test both up and down at the same time. Testing either up or down in series is genuinely useful, but most networks do not actually have everyone downloading, only, and then uploading only, but a mix of the two.

So being able to optionally fire off a test in both directions at the same time would be quite revealing as to what happens to many researchers in the field.

@robertodauria
Copy link
Contributor

Thoughts from a "what happens to the data downstream" point of view:

  • Currently each measurement uses a single TCP flow, for which the server generates a UUID that's also the "primary key" to identify a measurement in BigQuery => 1 measurement = 1 TCP flow = 1 BigQuery row
  • If we just change the client to connect to both the /download and /upload endpoints at the same time, there will be two separate TCP flows and two BQ rows, that we need to identify as a "single measurement" of a different type somehow
  • Throughput and latency will likely be very different if up+down happen at the same time, and these results will end up in the same BQ table as the "upload only" and "download only" results, without a clear way to identify/filter them

I suspect this isn't something we can implement at the client level, but would require to design an extension to the ndt7 protocol and that M-Lab treats the archival data differently in the pipeline.

Coincidentally, we are working on a multi-stream testing protocol these days and the problem of grouping several TCP flows under a single "measurement" entity is one that we are going to solve. This new protocol will basically support what you are proposing here from day one.

@dtaht
Copy link
Author

dtaht commented Aug 27, 2022

Yes, it would end up having to be a different test type, so as to keep your data straight.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants