Smart Pointers and Shared Memory Synchronisation for Efficient Inter-process Communication in ROS on an Autonomous Vehicle
Costin Iordache, Stephen M. Fendyke, Mike J. Jones, Robert A. Buckley

TL;DR
This paper introduces LOT, a novel shared memory-based IPC mechanism for ROS that significantly reduces overhead, improving real-time data transport efficiency on autonomous vehicles.
Contribution
The paper presents a new shared memory integration for ROS using smart pointers and synchronization primitives, achieving high-performance local IPC comparable to C++ standards.
Findings
LOT performs up to 100 times faster than standard IPC methods.
Benchmark results show significant efficiency gains on autonomous vehicle data loads.
Analysis identifies key performance hotspots in user and kernel space.
Abstract
Despite the stringent requirements of a real-time system, the reliance of the Robot Operating System (ROS) on the loopback network interface imposes a considerable overhead on the transport of high bandwidth data, while the nodelet package, which is an efficient mechanism for intra-process communication, does not address the problem of efficient local inter-process communication (IPC). To remedy this, we propose a novel integration into ROS of smart pointers and synchronisation primitives stored in shared memory. These obey the same semantics and, more importantly, exhibit the same performance as their C++ standard library counterparts, making them preferable to other local IPC mechanisms. We present a series of benchmarks for our mechanism - which we call LOT (Low Overhead Transport) - and use them to assess its performance on realistic data loads based on Five's Autonomous Vehicle…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · IoT and Edge/Fog Computing · Real-Time Systems Scheduling
