Lock-Free Event Processing for Deterministic Embedded Multicore Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing embedded software engineering for autonomous systems is cumbersome, error-prone, and suboptimal, failing to provide sufficient determinism and efficient data processing for modern multi-core computer applications, particularly in fields like space and robotics.
Innovation Solution
A lock-free parallel data processing method using a smart pointer-based data management and circular batching queue, optimized for embedded systems, which includes cloning data objects, pre-allocating memory, and employing a lock-free event loop to ensure deterministic and efficient data processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional multi-thread approaches are used for parallel data processing in embedded systems, then processing capability is increased, but determinism and reliability deteriorate
Solution Approach 1:
The patent uses data cloning to create independent copies of data objects that can be processed by multiple threads without sharing. Each thread works on its own cloned data object, eliminating race conditions and ensuring deterministic behavior while maintaining parallel processing capability. This resolves the contradiction by allowing high productivity through parallelism without sacrificing reliability through shared memory access.
Solution Approach 2:
The patent segments the data processing task by creating separate data objects for each thread, dividing the workload into independent units. Each thread processes its own cloned data object independently, avoiding interference between threads. This segmentation enables parallel processing (improving productivity) while ensuring each thread executes deterministically (maintaining reliability).
2Power
If multi-core processors are used to increase performance per unit area, then computing capability is improved, but software execution time predictability deteriorates
Solution Approach 1:
By cloning data objects before distributing them to different threads, the patent ensures that each thread receives an independent copy with identical initial state. This eliminates variability caused by shared data access patterns, making execution times predictable across different cores while utilizing multi-core architecture for improved performance density.
Solution Approach 2:
The patent performs data cloning and preparation before thread execution begins. All data objects are cloned and ready before threads start processing, eliminating runtime variability in data acquisition and initialization. This preliminary action ensures consistent execution times across multi-core processors while maintaining high performance per unit area.
3Device complexity
If embedded software engineering practices from two decades ago are used, then system simplicity is maintained, but development efficiency and reliability deteriorate
Solution Approach 1:
The patent introduces data cloning as a simple yet powerful mechanism that modernizes embedded software engineering. This single concept enables thread-safe parallel processing, improves development efficiency through cleaner code, and maintains relative simplicity by avoiding complex synchronization protocols. It resolves the contradiction by providing a straightforward approach to modern software practices that improve productivity without significantly increasing complexity.
Data Source
AI summary
The invention claims a computer-implemented method of lock-free parallel data processing in autonomous embedded systems comprising: one or more producer providing data, a Smart Object Pool, an asynchronous publisher object capable of cloning event objects, a circular batching queue, an event object handler, and a subscriber being arranged for sending the event objects to one or more consumers and for returning the event object to the smart object pool once it determines that no more consumer needs the event.


