0
$\begingroup$

Rosanswers logo

Hello,

If I launch 2 instances of a nodelet what will be the impact on the performance. Let's say the single instance of the nodelet was running at 30Hz. what will happen if multiple instances of the same nodlet was launched through a manager. I have observed a considerable amount of performance drop in the performance when two or more instances of nodelet was launched.

Please clarify me. If there is any performance issue how can I resolve the same.? Is there a way to affinitise the each instance of the nodelet to a specific core.?

Thanks in advance


Originally posted by mkreddy477 on ROS Answers with karma: 58 on 2017-04-20

Post score: 0


Original comments

Comment by Geoff on 2017-04-20:
Because nodelets all run in the same process, they must all run on the same core.

Comment by KenYN on 2020-09-24:
Geoff, there's a thread pool, so multiple instances of a nodelet will run in parallel on a multi-core processor. I regularly do so, and as long as you avoid global variables and don't lock out global resources (CUDA in my case) things will run happily.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I was able to solve the issue to some extent by using ros::MultiThreadedSpinner


Originally posted by mkreddy477 with karma: 58 on 2017-05-01

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.