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 SCHED DEADLINE realtime control policy. #87

Open
ZhenshengLee opened this issue Sep 13, 2021 · 1 comment
Open
Assignees
Labels
enhancement New feature or request

Comments

@ZhenshengLee
Copy link

Is your feature request related to a problem? Please describe.

there
are only two viable choices: either use a classic POSIX
fixed-priority scheduler (i.e., the SCHED FIFO or SCHED RR
policies), or rely on Linux’s more recent reservation-based
SCHED DEADLINE scheduler. We chose the latter.

Compared to the fixed-priority option, SCHED DEADLINE
provides two main advantages: analyzability and containment.
Most importantly, its convenient analyzability stems from
the fact that Casini et al.’s response-time analysis for ROS
processing chains

from the paper Automatic Latency Management for ROS 2: Benefits, Challenges, and Open Problems

We can see the advantages of using SCHED DEADLINE policy to control the realtime profile of a thread of ROS2 application.

And currently It is the FIFO policy that is in use in this pendulum demo

if (set_this_thread_priority(process_priority, SCHED_FIFO)) {

Describe the solution you'd like
add deadline sched functions to pendulum_utilities package.

@carlossvg
Copy link
Contributor

@ZhenshengLee My understanding is that this wouldn't be as simple as adding this policy to set_this_thread_priority, this would require some changes in the application too, isn't it? I will try to reserve some time to evaluate how easy would be to implement this. Please post here any additional resources or examples you are aware. Thanks!

@carlossvg carlossvg self-assigned this Feb 5, 2022
@carlossvg carlossvg added the enhancement New feature or request label Feb 5, 2022
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