ROS 2 DDS implementations: Cyclone DDS vs Fast DDS
Quote362 words
Compares the two DDS transports under ROS 2: Cyclone for low-core embedded robots (15-20% lower latency) and Fast DDS for multi-core, large systems (30-40% higher throughput). Notes commercial Connext for regulated industries.
Key claims
Cyclone uses 180MB RAM at 500 nodes vs 520MB for Fast DDS
Survey split: 62% Cyclone, 35% Fast DDS, 3% Connext
Cyclone binary is 47KB vs 2.1MB
It's the weekend and it's time to dive deep into Robotics technology.
On the menu today?
DDS (Data Distribution Service) implementations used by ROS 2, a.k.a. Cyclone DDS and Fast DDS.
So WTF is this?
DDS is the message transport layer ROS 2 runs on. It's a publish-subscribe protocol that handles node discovery, message routing, and QoS enforcement between robot processes.
ROS 2 doesn't implement DDS itself, it uses existing DDS vendors through an abstraction layer called rmw (ROS middleware interface).
Today we have 2 dominant implementations:
Cyclone DDS (Eclipse Foundation)
➤ Default in ROS 2 since Galactic (2021)
➤ 47KB compiled binary size
➤ Single-threaded reactor pattern
➤ Written in C
Fast DDS (eProsima)
➤ Default before 2021
➤ 2.1MB compiled binary size
➤ Multi-threaded, thread-per-connection model
➤ Written in C++
Performance differences that matter:
➤ Cyclone DDS provides 15-20% lower latency on single-core embedded systems (tested on Raspberry Pi 4, 1KB messages, 1000 msg/s)
➤ Fast DDS provides 30-40% higher throughput on multi-core systems with >10 nodes (tested on x86, 8 cores, 10KB messages)
Memory footprint gap widens under load - Cyclone uses 180MB RAM at 500 nodes, Fast DDS uses 520MB
Both of them are usable today
Cyclone DDS suits embedded robots with <4 cores, battery-powered mobile robots (lower CPU usage = longer runtime) and simple topologies (<50 nodes)
BMW uses Cyclone DDS in their assembly line robots - predictable latency matters more than peak throughput on their deterministic networks
Fast DDS suits multi-robot systems (>10 robots sharing same network), complex perception pipelines (LIDAR + cameras + fusion nodes), discovery across subnets (better multicast handling)
NASA's VIPER rover uses Fast DDS - they need the discovery reliability when switching between different ground station networks
➤ The third option: Connext DDS
RTI Connext is the commercial implementation. Used in military drones (MQ-9 Reaper), medical robots (da Vinci surgical system), industrial safety-critical systems. 2-3x higher licensing cost ($12K-45K/year depending on deployment), but includes formal verification tools and certified safety profiles (ISO 26262, DO-178C)
Most ROS 2 projects use Cyclone (62%) or Fast DDS (35%), per 2024 ROS survey of 4,100 responses. Connext captures the remaining 3% - all in regulated industries.
QUOTING @zerokn0wledge_
𝗥𝗢𝗦 𝟮 (𝗥𝗼𝗯𝗼𝘁 𝗢𝗽𝗲𝗿𝗮𝘁𝗶𝗻𝗴 𝗦𝘆𝘀𝘁𝗲𝗺 𝟮) 𝗢𝘃𝗲𝗿𝘃𝗶𝗲𝘄 ROS 2 is middleware for building robot software. It handles message-passing between processes, node discovery, and data serialization - the infrastructure layer so you don't write TCP sockets yourself. Key difference from ROS 1? ROS 1 u
𝗥𝗢𝗦 𝟮 (𝗥𝗼𝗯𝗼𝘁 𝗢𝗽𝗲𝗿𝗮𝘁𝗶𝗻𝗴 𝗦𝘆𝘀𝘁𝗲𝗺 𝟮) 𝗢𝘃𝗲𝗿𝘃𝗶𝗲𝘄 ROS 2 is middleware for building robot software. It handles message-passing between processes, node discovery, and data serialization - the infrastructure layer so you don't write TCP sockets yourself. Key difference from ROS 1? ROS 1 u
1 image on X