Chapter 34 Sending Large Data
This section describes the capabilities offered by Connext to allow sending and receiving large data samples. In this section, “large data” refers to samples with a large serialized size, usually on the order of MBs, such as video frame samples.
The definition of “large data” in this chapter contrasts with other definitions of large data in this manual:
- In 46.1 ASYNCHRONOUS_PUBLISHER QosPolicy (DDS Extension), “large data” is defined as data that cannot be sent as a single packet by a transport. The concept of large data in this section is decoupled from the maximum message size of the underlying transport, although these two things are related: samples with a size in the order of MBs will usually be greater than the underlying transport’s maximum message size.
- In Chapter 20 Sample and Instance Memory Management, “large data” refers to types whose samples have a large maximum serialized size independently of the actual serialized size of the samples sent on the wire. This contrasts with the definition of “large data” in this section, which refers to samples with a large serialized size.
Connext offers the following solutions to optimize the sending and receiving of large data:
- Reducing latency using either or both of the following to reduce the number of copies produced by the middleware; see 34.1 Reducing Latency:
- RTI FlatData™ language binding; see 34.1.4 FlatData Language Binding
- Zero Copy transfer over shared memory; see 34.1.5 Zero Copy Transfer Over Shared Memory
- Reducing bandwidth usage by compressing samples with a set of standard compression algorithms; see 47.3 DATA_REPRESENTATION QosPolicy