Skip to content

Conversation

@MatthiasKillat
Copy link
Contributor

@MatthiasKillat MatthiasKillat commented Apr 17, 2021

Signed-off-by: Matthias Killat [email protected]

Add a brief description how to enable shared memory support. The purpose is to enable a ROS2 user to activate the Shared Memory feature in her applications when using rmw_cyclonedds.

Unfortunately there is no (simple) example yet in the ROS default examples where Shared Memory is actually used (at least none that I am aware of). However, it is fairly straightforward how the talker and listener example needs to be adapted to demonstrate use of shared memory support (essentially just use a fixed size data type, i.e. not a string). This is briefly sketched as well as a list of current restrictions.

Most of the important restrictions should be covered but some of them might change slightly (e.g. QoS requirements) and the document will need updates in this case.

Closes #304

@MatthiasKillat MatthiasKillat force-pushed the shared-memory-support-documentation branch from 4b644dc to 68042be Compare April 17, 2021 21:07
@MatthiasKillat MatthiasKillat changed the title added shared memory support usage description Added shared memory support usage description Apr 17, 2021
@MatthiasKillat MatthiasKillat force-pushed the shared-memory-support-documentation branch from 68042be to 7896f15 Compare April 17, 2021 21:11
@MatthiasKillat MatthiasKillat force-pushed the shared-memory-support-documentation branch from bded37d to b6fbcbc Compare May 12, 2021 11:22
@MatthiasKillat
Copy link
Contributor Author

MatthiasKillat commented May 12, 2021

I corrected some minor inaccuracies and also added a description how to use the iceoryx introspection to verify whether shared memory is actually used. The introspection works for this purpose but is not build by default, it will likely be updated in the future. It is still useful to get a deeper look into system performance and therefore I added it here.

I think this will be very useful to have in the Galactic release and even if there is always room for improvement we should merge the document to master and to galactic soon after.

I had colleagues trying it and they found it useful to get started, so it should be in a decent state.

@eboasson @clalancette Let me know what you think how we can proceed here.

@MatthiasKillat MatthiasKillat force-pushed the shared-memory-support-documentation branch 4 times, most recently from dcd159c to c970b93 Compare May 12, 2021 12:57
@MatthiasKillat
Copy link
Contributor Author

@eboasson @clalancette @ivanpauno Just a quick reminder that we would like to get this into the patch 1 of ROS 2 Galactic as far as I know so we should get this merged to master. Feel free to give feedback and I will fix the issues.

We are already in the process of internally verifying that the patch will not break anything. @eboasson checked this on ARM64 and found no issues. @dkroenke, others and myself will do so for other platforms. Since this is just a text document it cannot invalidate the tests @eboasson already did.

Copy link
Member

@ivanpauno ivanpauno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@MatthiasKillat
Copy link
Contributor Author

@dkroenke @ivanpauno I corrected the mentioned issues and we should be good to go.

@MatthiasKillat MatthiasKillat force-pushed the shared-memory-support-documentation branch from 572e8fe to 0a6c4db Compare May 27, 2021 11:02
@budrus
Copy link

budrus commented Jun 15, 2021

@MatthiasKillat @ivanpauno @clalancette @eboasson As this is the shared memory user guide, it would be cool to get this merged so I do not have to send links to a PR. What is missing to have progress here?

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One nit, but looks OK to me. I'm going to go ahead and fix that nit, then merge this.

Co-authored-by: Chris Lalancette <[email protected]>
@eboasson
Copy link
Collaborator

@clalancette this seems to have dropped off the radar. I'll merge it now, but I don't know if that alone is enough to include it in the patch release.

@eboasson eboasson merged commit 837778e into ros2:master Jun 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

User Documentation of Shared Memory transport feature

7 participants