Shared Memory Message System for Vehicle Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current inter-process communication (IPC) systems in vehicle software systems, such as those used in autonomous vehicles, introduce latency and overhead due to kernel interactions, which is critical for real-time operations, especially in busy environments where immediate control actions are necessary for safety.
Innovation Solution
A shared memory message system is implemented, where nodes can write and read messages directly to and from message buffers without kernel interaction, using a topic registry to store message locations and frequencies, allowing concurrent read and write operations and reducing kernel load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If IPC system with publish and subscribe semantics is used for node communication, then modularity and stability are improved, but latency increases and real-time responsiveness deteriorates
Solution Approach 1:
The patent extracts the kernel interaction component from the message communication path by implementing shared memory buffers that allow direct user-space access. Publisher nodes write messages directly to shared memory buffers and subscriber nodes read messages directly from these buffers without kernel mediation, eliminating context switches and kernel processing overhead while maintaining the publish-subscribe architecture for modularity
Solution Approach 2:
The patent introduces shared memory buffers as intermediaries between publisher and subscriber nodes. These buffers serve as a communication medium that enables direct data transfer between processes without requiring kernel involvement, thus reducing latency while preserving the decoupled architecture
2Adaptability or versatility
If multiple subscribers subscribe to a topic, then information consumption coverage is improved, but system overhead increases due to multiple communication paths requiring kernel interaction
Solution Approach 1:
The patent merges multiple communication paths into a single shared memory buffer per topic. Instead of establishing separate kernel-mediated communication channels for each subscriber, all subscribers access the same shared memory buffer directly, eliminating redundant kernel interactions and reducing system overhead while supporting multiple subscribers
3Reliability
If pipe-based IPC mechanism is used for message transfer, then message routing and delivery are improved, but processing overhead increases due to copying, context switches, and kernel interaction
Solution Approach 1:
The patent removes the kernel-mediated copying mechanism from the message transfer path. Messages are written once to shared memory buffers by publishers and read directly by subscribers without being copied through kernel space, eliminating the publisher-to-kernel and kernel-to-subscriber copying overhead while maintaining reliable message delivery through memory protection mechanisms
Data Source
AI summary
A shared memory message system for communication between modules configured to perform a function related to controlling a vehicle in a computer system on the vehicle. The system may include a plurality of modules each representative as a node, the plurality of modules collectively representative as a plurality of nodes, each node a publisher node and/or a subscriber node, a topic registry having message storage location information, message buffers configured to store published messages, and a communication bus coupled to the topic registry, the message buffers, and the plurality of nodes. The communication bus is configured such that publisher node messages are stored in a message buffer and associated storage location information is stored in the topic registry without going through the kernel of the computer system, and such that subscriber nodes can read messages from a message buffer without going through the computer system kernel.


