How can I reduce the latency of my data?

By default, RTI Connext DDS sends data with very low latency.  However, the latency of your data depends on several factors, including:

  • The latency of your network hardware
  • The congestion on your network
  • The priority of the threads that receive your data

You may not be able to control your network, but one way to reduce the latency of your data is to give higher priority to the threads that are receiving data.  In addition to this, if you are on an OS that supports preemptive, priority-based scheduling, you should take advantage of this.  To increase the priority of your threads, you can set a number between 1 and 99 that RTI Connext DDS will use when creating the receive threads.  The exact value you should use for this priority is OS-dependent.

<participant_qos>
    <receiver_pool>
        <buffer_size> 65536 </buffer_size> 
        <thread> 
            <priority> ?? </priority>
            <mask> REALTIME_PRIORITY | PRIORITY_ENFORCE </mask> 
        </thread> 
    </receiver_pool>
</participant_qos>  

 Note that you may need to run as root to take advantage of preemptive, priority-based scheduling on your OS.

Product: