ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Big differences on network traffic generated depending on the DDS implementation used

I was checking some bandwidth metrics on rmf_demos and came across some big differences between bandwidth usage depending on the DDS implementation that I used. These are the measurements of bandwidth on the loopback interface of a run of the office demo in one single host, executing the tasks json file provided in the demo itself:

With fastRTPS:

Average Bandwidth: 59.912703 Kbps
Max Bandwidth: 550.43 Kbps

With CycloneDDS:

Average Bandwidth: 594.39997 Kbps
Max Bandwidth: 961.26 Kbps

I can’t help to wonder why such a big difference. My initial guess is that, since everything runs in on the same host, the Shared Memory Transport feature of fastDDS is avoiding a lot of network traffic… any other clues?

For your reference, if anyone wants to reproduce, I used the latest source version of the rmf_demos and ifstat -ntib lo to log the bandwidth usage.