Serial Timeline Simulation for Deterministic Distributed Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed processing systems execute asynchronously, leading to non-deterministic behavior, which complicates simulation testing and problem identification due to variability in node execution sequences and inter-process communication latencies.

Innovation Solution

The system replaces complex multi-threaded nodes with smaller nodelets that can operate in single-threaded or multi-threaded modes, scheduling them to execute in serial timeframes and using a simulated clock for deterministic processing, ensuring consistent output across simulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed processing systems execute asynchronously with multi-threaded nodes, then processing speed and productivity are improved, but non-deterministic behavior and variability in execution sequences occur, complicating simulation testing

Engineering Contradiction:
Improveprocessing speedVSAvoiddeterminism
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically switches between asynchronous multi-threaded execution for real-time processing and synchronous single-threaded execution for simulation testing. The nodelets can operate in different execution modes depending on whether they are processing actual sensor data or simulated data, allowing the system to optimize for both speed and determinism in different contexts.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The distributed processing system is segmented into independent nodelets that can be individually scheduled and executed. Each nodelet represents a discrete functional unit that can be processed in a deterministic sequence during simulation while maintaining the capability for concurrent execution during real-time operation.

Inventive Principle:
Principle #1Segmentation

2Productivity

If distributed processing systems execute asynchronously with inter-process communication, then processing capability is improved, but latency variability and communication overhead occur, affecting simulation accuracy

Engineering Contradiction:
Improveprocessing capabilityVSAvoidlatency variability
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Multiple nodelets are merged into a single process context for simulation execution, eliminating inter-process communication overhead and latency variability. The nodelets share the same address space and execution environment, allowing data to be passed directly without the overhead of inter-process messaging mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system creates a copy of the distributed processing architecture that runs in a controlled simulation environment. This copy replicates the functional behavior of the real system but operates with deterministic timing by using a simulated clock and single-threaded execution, allowing accurate modeling without real-world latency variability.

Inventive Principle:
Principle #26Copying

3Productivity

If complex multi-threaded nodes are used, then processing power is improved, but system complexity and difficulty in identifying problems increase

Engineering Contradiction:
Improveprocessing powerVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Complex multi-threaded nodes are segmented into smaller, independent nodelets with single-threaded execution. Each nodelet performs a specific function and can be independently scheduled, tested, and debugged. This segmentation reduces the complexity of individual execution units while maintaining the overall processing power through coordinated execution of multiple nodelets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A task scheduler acts as an intermediary between the segmented nodelets and the execution environment. The scheduler manages the execution sequence, handles data passing between nodelets, and coordinates their operation to achieve the processing power of multi-threaded systems while maintaining the simplicity and determinism of single-threaded execution during simulation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11480964B2Distributed system execution using a serial timeline
Publication Date: 2022.10.25 BEIJING VOYAGER TECH CO LTD
  • US11480964B2 patent drawing
  • US11480964B2 patent drawing
  • US11480964B2 patent drawing

AI summary

Systems and methods are provided for the deterministic simulation of distributed systems, such as vehicle-based processing systems. A distributed system may be represented as a plurality of subsystems or “nodelets” executing with a single process of a computing device during a simulation. A task scheduler can schedule the nodelets to execute separately, on a single thread, in serially-occurring frames. In some embodiments, only one nodelet is permitted to execute during any given frame, and therefore only one nodelet is permitted to execute at any given time.