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

iperf3 multiple streams support implementation #859

Closed
igarny opened this issue Jun 6, 2019 · 9 comments
Closed

iperf3 multiple streams support implementation #859

igarny opened this issue Jun 6, 2019 · 9 comments

Comments

@igarny
Copy link
Collaborator

igarny commented Jun 6, 2019

Hi Mark,

On this page https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/multi-stream-iperf3/ ESnet explain about limitations of the iperf3 in running throughput tests with multiple streams.
At the same time that same page explains how this can be achieved. I have not found a ticket about this issue, hence I am putting this here.
Please check the procedure on the page to see about implementation obstacles.
In GEANT, but I believe also WLCG is interested in a iperf3 support for multiple streams.
Adding here @ToniN Antoine as this popped up on the pS Workshop in London

@laeti-tia
Copy link
Member

laeti-tia commented Jun 6, 2019

Yes, iperf3 is not multi-threaded (this has been discussed in length at esnet/iperf#289 ) so having multiple sessions (client/server pairs) is the only way to do multiple streams.

And yes, with the 100 Gbps hosts and the embedded devices, there seem to be interest to support multiple streams.

@arlake228
Copy link
Collaborator

Just to clarify this issue, what you are asking for is the ability of pScheduler iperf3 tool to have a single run of a task do the following:

  1. start multiple iperf3 servers on different ports of the destination side
  2. Run multiple clients in parallel to the servers on the source side (possibly using the -T label to help distinguish output as detailed in the doc Ivan shared - really just for parsing convenience so may not be needed)

This is NOT a request to support -P since that is already supported with the parallel option. Just noting this so when I quickly look at this issue in the future I remember what it is actually about.

@laeti-tia
Copy link
Member

Yes, correct @arlake228 !

@mfeit-internet2
Copy link
Member

If there's a need for better-performing tools, it would be better to develop better-performing tools outside of pScheduler rather than cooking up weird ways to make pScheduler emulate it. The latter has pitfalls.

@igarny
Copy link
Collaborator Author

igarny commented Jun 24, 2019

Hi Mark,

My reading of your response is:
pScheduler manages the measurement tools with a single approach. It will be an overkill to implement different behavior in pScheduler to have this non trivial model of operation for iperf3 measurements with multiple streams.
It should be the tool itself, that should implement this requested model of operation.
Since iperf3 needs to be executed in a specific manner in order to achieve multi-stream type of measurements, then perhaps a "wrapper" solution is a viable option.
The problem with it would be the sustainable control and operation of iperf3.

  • events handling from iperf3
  • paramaters management of iperf3

If there is ever a solution called iperf3S. Is there a documentation on how to register this tool with pscheduler?

@mfeit-internet2
Copy link
Member

If there is ever a solution called iperf3S. Is there a documentation on how to register this tool with pscheduler?

Same as for anything else that runs throughput tests: write a plugin for it. pScheduler doesn't care what goes on under the hood as long as it gets the expected result.

@mfeit-internet2
Copy link
Member

I'm iceboxing this; we just added a better-performing throughput tool in the form of Ethr.

Or maybe we can just close it.

@igarny
Copy link
Collaborator Author

igarny commented Jul 13, 2021

This is most likely related to #1157

@mfeit-internet2
Copy link
Member

Iperf3 3.16 (#1368) should take care of this.

@github-project-automation github-project-automation bot moved this from Ready to Done in perfSONAR Dec 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

4 participants