DDS Zero-Copy Data Distribution for Low-Latency Same-Node Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Data Distribution Service (DDS) systems for real-time applications, the overhead of multiple copies during data sample transmission leads to high latency and memory usage, particularly for large data samples like radar images, causing application failures and non-deterministic behavior.
Innovation Solution
Implementing zero-copy data distribution by allowing a DataWriter to send a reference to a data sample instead of its full content when both the DataWriter and DataReader are on the same node, using shared memory and a new EncapsulationId type, enabling transparent zero-copy transfer without requiring applications to know which DataReaders are co-located.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data samples are serialized and transmitted using standard DDS protocols, then data can be delivered to remote applications, but the CPU overhead for marshalling and multiple copies causes high latency and memory usage
Solution Approach 1:
The patent extracts only the essential identification information (EncapsulationId) from the full data sample and transmits this compact representation instead of the complete serialized data. This allows the system to maintain reliable data delivery while dramatically reducing the transmission overhead and CPU processing requirements, thereby lowering communication latency.
Solution Approach 2:
The patent eliminates unnecessary copying of large data samples by using a reference-based approach. Instead of creating multiple copies of the full data sample during marshalling and transmission, the system transmits a compact EncapsulationId that references the original data, reducing memory usage and processing overhead while maintaining data delivery reliability.
2Adaptability or versatility
If data samples are serialized into network representation, then data can be transmitted over the network, but the marshalling process creates multiple copies leading to high memory usage
Solution Approach 1:
The patent extracts only the critical EncapsulationId field from the full data sample representation. This extracted identifier contains sufficient information to reconstruct or locate the original data sample, enabling network transmission with minimal memory overhead while maintaining compatibility with existing DDS network protocols and infrastructure.
Solution Approach 2:
The patent uses a lightweight, temporary EncapsulationId structure that serves its purpose during transmission and then can be discarded. This disposable reference object replaces the need to maintain multiple expensive copies of large data samples in memory, significantly reducing memory usage while preserving network compatibility.
3Productivity
If multiple copies of data samples are created during transmission, then data can be delivered to multiple DataReaders, but the CPU overhead causes application failures for large data samples
Solution Approach 1:
The patent replaces expensive full data sample copying with cheap EncapsulationId reference copying. Multiple DataReaders can receive references to the same underlying data sample without requiring actual data duplication, thereby maintaining data distribution throughput while eliminating the CPU overhead that causes application failures with large samples.
Solution Approach 2:
The patent fundamentally changes the parameter being transmitted from the full data sample (large size, high processing cost) to a compact EncapsulationId (small size, low processing cost). This parameter transformation maintains the ability to deliver data to multiple readers while reducing CPU overhead to levels that prevent application failures even with very large data samples.
Data Source
AI summary
A method is provided for performing zero-copy distribution of data samples between applications running on the same node in a system using an Object Management Group (OMG) Data Distribution Service (DDS) and/or a Real-Time Publish Subscribe (RTPS) protocol. Further provided is a method for selecting the network representation to communicate with a DataReader in a system using an Object Management Group (OMG) Real-Time Publish Subscribe (RTPS) protocol. Still further provided is the combination of these two methods to communicate transparently using zero-copy within the same node and not using zero-copy for different nodes. Embodiments of this invention lead to a relatively small communication latency that is constant and independent of the data size for applications running within a single node.


