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

[FEA]Add support to callback-group executor as a proof of finer control of realtime profile. #86

Open
ZhenshengLee opened this issue Sep 9, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@ZhenshengLee
Copy link

ZhenshengLee commented Sep 9, 2021

Is your feature request related to a problem? Please describe.
This is a great demo to show possibility of setting realtime profile to ros2 nodes and get a better realtime performance.
But currently, a realtime profile is set on all threads or all callback threads of a node, there is no way to set realtime profile to a certain callback thread.

Describe the solution you'd like
callback-group executor is a method to assign realtime profile in the granularity of callback thread, see this article for details.
the example is available is in ros2/examples

So this demo could add this feature to nodes as a proof of finer control of realtime profile of a thread.

Thanks.

@carlossvg carlossvg self-assigned this Feb 5, 2022
@carlossvg
Copy link
Contributor

Hi @ZhenshengLee,

Sorry for the late reply and thanks for the suggestion.

callback-group executor is a method to assign realtime profile in the granularity of callback thread, see this article for details.
the example is available is in ros2/examples

This is something we are considering. Actually, I started a big refactoring using callback groups and wait-set-based loops in this PR https://github.com/ros2-realtime-demo/pendulum/pull/82/files. I think I can do this in smaller steps and create an intermediate PR using callbacks in different callback groups. What do you think?

@carlossvg carlossvg added the enhancement New feature or request label Feb 5, 2022
@ZhenshengLee
Copy link
Author

As the current v0.1 arch is about multi-process-node with StaticSingleThreadedExecutor by a node, I don't see it necessary to add the executor-level-cbg.

But I would like to keep it open.

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

No branches or pull requests

2 participants