-
Notifications
You must be signed in to change notification settings - Fork 402
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
[question] How to pin iox-roudi process on isolated core #2350
Comments
You can use taskset cmd, such as taskset -c iox-roudi . |
Hi, I am aware of that. However, iox-roudi is not polling the messages, this will not be effective. |
@ocpalo This should be feasible with some effort. Currently, RouDi starts 2 background threads to handle
We could add roudi command line options to define the CPU affinity of each thread with the corresponding priority and the strategy (push notifications or polling in busy loop). Merging those two threads into one thread could be hard since this would require the iceoryx waitset to be able to listen to file descriptor events since thread 1. waits on a unix domain socket and 2. waits on a semaphore inside the current waitset and one cannot wait in one call on a unix domain socket and semaphore at the same time. But for polling and a busy loop it wouldn't be an actual problem ... except for some refactoring. |
Hi @elfenpiff Do you have this feature on your milestones? If you guide me a little, i can try to implement that feature. I am new to this repo but it seems promising. |
No.
I am happy to guide you through it. The interesting files would be
You have here two threads
Implementing this is some effort and before you start I want to hint you to iceoryx2. Currently, our main focus is on the next generation of iceoryx2 which has some significant improvements:
The only feature missing is request response but this will be implemented until the end of this year. If you want to have a future proof solution and also want to benefit from all the new features we are currently developing (including tooling) I would recommend iceoryx2. |
Hi,
I'm planning to use this library for IPC between two processes to achieve the lowest possible latency. I've thoroughly searched the API and documentation for information on pinning iox-roudi to isolated cores, but I couldn't find anything specific.
While it's possible to achieve this using shell commands, I'm unsure about the best way to configure iox-roudi to utilize 100% of the CPU for minimal latency.
Is this functionality supported by the library for my specific use case?
Thanks,
Berke
The text was updated successfully, but these errors were encountered: