feat: Thread configuration prototype#1075
Open
smorita-esol wants to merge 7 commits intoros2:rollingfrom
Open
Conversation
This is a prototype implementation of RCL for discussion about the thread configuration feature to receive and apply a set of scheduling parameters for the threads controlled by the ROS 2 executor. Our basic idea is as below. 1. Implement a new class rclcpp::thread and modify rclcpp to use it. This class has the same function set as the std::thread but also additional features to control its thread attributions. 2. Modify the rcl layer to receive a set of scheduling parameters. The parameters are described in YAML format and passed via command line parameters, environment variables, or files. 3. the rclcpp reads the parameters from rcl and applies them to each thread in the thread pool. There have been some discussions about this pull request, as below. [ROS Discourse] https://discourse.ros.org/t/adding-thread-attributes-configuration-in-ros-2-framework/30701 [ROS 2 Real-Time Working Group] ros-realtime/ros-realtime.github.io#18 Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
|
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/adding-thread-attributes-configuration-in-ros-2-framework/30701/2 |
Member
|
See my comment here: ros2/rclcpp#2205 (comment) This seems useful, but we should probably adjust where the code lives and how we extend rcl/rclcpp to accommodate them. |
…he pointing out below. ros2/rclcpp#2205 (comment) Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
Author
|
I've shared the draft version of the REP related to this pull request, as provided below. |
The modification of the interface is to go along with the specification described in the draft REP shared in the thread below. https://discourse.ros.org/t/adding-thread-attributes-configuration-in-ros-2-framework/30701/5 Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
…e update of REP-2017 below. ros-infrastructure/rep#385 Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
…he thread below. ros-infrastructure/rep#385 (comment) Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a prototype implementation of RCL for discussion about the thread configuration feature to receive and apply a set of scheduling parameters for the threads controlled by the ROS 2 executor.
Our basic idea is as below.
There have been some discussions about this pull request, as below.
[ROS Discourse]
https://discourse.ros.org/t/adding-thread-attributes-configuration-in-ros-2-framework/30701
[ROS 2 Real-Time Working Group]
ros-realtime/ros-realtime.github.io#18