-
Notifications
You must be signed in to change notification settings - Fork 36
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: Plans to support loaned-messages shared-memory APIs? #175
Comments
Hello @mauropasse, would you mind sharing the benchmarks results with us? Just for curiosity :) |
We haven't prioritized loaned messages, mostly because they are disabled by default in Rolling and Jazzy (as they are currently unsafe to use). At the moment, we don't have a plan to implement them, but it would be great to complete the API in this way. If you are interested in looking into it, we'd be happy to review patches. Otherwise, it will probably be a long-term goal. |
Hi guys! I've been working on a PR ros2/rclcpp#2624 that aims to re-enable the use of loaned messages on rclcpp. It contains a unit test to verify correct memory handling when the last owner of the loaned message is either the:
By correctly memory handling I mean, memory should not be reused until all entities had returned the loans (all messages went ouf scope). The test currently pass with CycloneDDS & FastDDS. I didn't test Zenoh since My question is, supposing that the APIs were implemented, would Zenoh correctly handle the situations described above? Or that would depend actually on the implems on the missing APIs, described here https://design.ros2.org/articles/zero_copy.html Besides that, are there any updates on using |
Hi! I've running some ROS2 benchmarks on
rmw_zenoh
using the iRobot ros2-performance framework, and it looks promising. However I noticed the lack of support for loaned messages APIs like:rmw_zenoh/rmw_zenoh_cpp/src/rmw_zenoh.cpp
Lines 758 to 767 in c76c962
It seems zenoh-c already supports shared memory: eclipse-zenoh/zenoh-c#156, https://zenoh.io/blog/2023-06-05-charmander2/, which should be present in the version used on
rmw_zenoh
.So I'm wondering what's missing to fully implement shared memory on ROS2 systems, and if there is a plan in the roadmap to do so? This feature is key for performant multi-process applications.
The text was updated successfully, but these errors were encountered: