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

[--rate_limit] A stable relative error (~7.5%) observed #125

Closed
doctormin opened this issue Sep 6, 2021 · 11 comments
Closed

[--rate_limit] A stable relative error (~7.5%) observed #125

doctormin opened this issue Sep 6, 2021 · 11 comments

Comments

@doctormin
Copy link

doctormin commented Sep 6, 2021

Hi all:

I'm very interested in your work. And I personally tested --rate_limit using a Python script between two machines in an IB network. The network traffic limits were set ranging from 10MBps to 5000MBps+. Whether it is ib_send_bw,ib_read_bw or ib_write_bw, a stable relative error was observed.
The rate_limit_type is SW.:
image
I wonder what mechanism causes this stable relative error, thanks!

@doctormin
Copy link
Author

@doctormin doctormin changed the title [--rate_limit] A fixed relative error observed [--rate_limit] A stable relative error (~7.5%) observed Sep 6, 2021
@HassanKhadour
Copy link
Contributor

Hi doctormin, thanks for the info!
Can you please help on how to reproduce it ?

@doctormin
Copy link
Author

doctormin commented Nov 10, 2022

Hi Hassan! I am afraid that I can not share the .py script immediately because this test was done by me when I was working for an enterprise (I don't have access to it any more). But I can explain more about what happened in my test script:

  • In a for loop, the arg to --rate_limit was set in range(5, 5750, 5) and ib_send_bw (or other command) was then executed each time
    • then the "actual rate achieved" was got from the terminal output of perftest everytime it finished.

So the script can collect multiple <input: rate_limit>, <output: actual_rate> data pairs. That's how I draw the diagram above.

This relative error was stable and reproducible in my experience when I was working on it. Could it be that the input (args --rate_limit) is throughput and the output of perftest's terminal report is goodput?

@HassanKhadour
Copy link
Contributor

Hi, perftest output is goodput, I'm trying to reproduce this issue but I can't get those relative errors, I can get barely 1.5%~ at maximum

@doctormin
Copy link
Author

doctormin commented Nov 10, 2022

I see, thanks for the information. Maybe the packet size setting will influence the gap between throughput and goodput (but I am not so sure). In my previous test (~7.5% result), I select the very packet size which can make the throughput to be MAX in my testbed (by carrying out -a test first), but I didn't remember the exact value of it. I am sure that I was using the same packet size setting for all my data points in the diagram above.

@HassanKhadour
Copy link
Contributor

Hi @doctormin, We investigated the Issue and soon a fix will be merged.
The problem is in some formula we were dividing integers and therefore the fractions were ignored, now we changed the types of those variables to be "double".
After the Fix the results will be much more accurate.

@doctormin
Copy link
Author

Happy to hear about that :)
Thank you guys for a great job

@HassanKhadour
Copy link
Contributor

Our pleasure!
Please check it if you can
1ef49c4

@HassanKhadour
Copy link
Contributor

Hi @doctormin,
Can you please update us if u checked it?

@doctormin
Copy link
Author

doctormin commented Dec 19, 2022

Hi @HassanKhadour,
I am sorry that I can not check this issue in near future.
Because this issue was discovered when I was an intern in an HPC-related enterprise, and currently I don't have access to an IB cluster any more.

@HassanKhadour
Copy link
Contributor

No worries, thanks for reporting the Issue, Closing

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

No branches or pull requests

2 participants