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
Benchmark is performed incorrectly while transport is enabled and the count of publisher is big (such as 200). #688
Comments
After checking, the problem is related to cyclonedds. (Fastdds doesn't have this issue) The error is output at here And here set maximum number of thread. And seem that this setting cannot be changed by external config file. Now cyclonedds is default RMW. So it is better to describe this limitation for the user. |
this is a constraint in the same process space? if i am not mistaken...i agree that it would be nice to have this description at somewhere, but i guess it is unlikely to create more than 100 threads in the same process space especially on edge iot devices. (i think it is likely for enterprise applications for server service.) |
Yes.
Yeah. Agree. |
@Barry-Xu-2018 I don't understand why you assumed that the benchmark is the source of error. You can have only 128 threads in CycloneDDS, 11 or so of which are internally used. Yes, the benchmark runs each publisher in a separate thread, which is very uncommon in the actual use cases. We are aware of that. You can modify benchmarks to support thread pooling, a thing we planned but had no time to do. Could you modify the issue description accordingly? |
While finding this problem, I create this bug issue.
I will close this bug issue since the cause isn't from rosbag2. |
Description
Benchmark is performed incorrectly while transport is enabled and the count of publisher is big (such as 200).
Expected Behavior
Benchmark is performed correctly while transport is enabled and the count of publisher is big (such as 200).
Actual Behavior
Benchmark is performed incorrectly
Get below error:
And execution is terminated.
To Reproduce
benchmark config file --- 'test.yaml'
producers config file --- '10k_300inst_100hz.yaml'
Perform benchmark
System (please complete the following information)
Additional context
In my environment, If
publishers_count
is set to less than 119 (such as 118), the benchmark can work well.From 119, the above error will occur.
The text was updated successfully, but these errors were encountered: