Starting v1.10.0, eProsima Fast DDS features a new Interprocess Communication Mechanism (IPC) based on sharing memory across different processes running in the same host: Shared Memory Transport (SHM). This new transport allows software components to interchange data between them without any networking involvement.
This not only improves data delivery performance in terms of throughput and latency significantly, but it also constitutes a suitable transport layer for real-time publish-subscribe applications using DDS.
Designed with high performance requirements in mind, eProsima Fast DDS Shared Memory Transport features:
- High throughput and latency performance in IPC
- Reduction of memory copies
- Cross-platform solution supported in AMD64 Linux, Windows 10 (32 and 64 bits), Mac OSX, aarch64 Linux, QNX
Why use Shared Memory?
The normal data IPC in ROS 2 uses the loopback mechanism of the operating system. While this is good enough for many cases, in the case of large data and multiple subscribers (such a computer vision application), Fast DDS Shared Memory Transport significantly reduces latency and CPU usage while increasing the throughput.
Available Documentation:
- Shared Memory - Fast DDS docs as a form of transport
- Shared Memory - the Github project
- Shared Memory - at the ROSCon 2019 in Macau
More information about the eProsima Shared Memory Transport:
For any questions please contact This email address is being protected from spambots. You need JavaScript enabled to view it.