Simulated Clock Scheduling for Deterministic Distributed Tasks

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 serially within defined 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 concurrency are improved, but execution becomes non-deterministic leading to variability in node execution sequences and communication latencies

Engineering Contradiction:
Improveprocessing speedVSAvoidexecution determinism
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the distributed processing system into discrete simulation frames, where each frame represents a specific time interval with a defined execution sequence. Nodelets (subsystems) are organized into frames based on their execution timing requirements, allowing the system to maintain both concurrency capabilities and deterministic execution order within each frame context.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements periodic simulation frames that execute in a predetermined sequence, creating regular time intervals for processing. Each frame contains specific nodelets scheduled to execute in a determined order, while the overall system maintains periodic frame-based execution that ensures determinism across multiple simulation cycles.

Inventive Principle:
Principle #19Periodic action

2Productivity

If conventional distributed systems allow concurrent multi-threaded execution, then system throughput is improved, but race conditions and latency-related issues arise complicating simulation testing

Engineering Contradiction:
Improvesystem throughputVSAvoidexecution control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The simulation frame acts as an intermediary layer between the concurrent multi-threaded nodelets and the deterministic execution requirement. Each frame specifies which nodelets execute in which order, serving as a control mechanism that mediates between the inherent concurrency of multi-threaded execution and the need for deterministic behavior during simulation testing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If node execution sequences vary in distributed systems, then adaptability to different scenarios is improved, but problem identification and testing become difficult due to non-reproducible results

Engineering Contradiction:
Improvescenario flexibilityVSAvoidtesting reproducibility
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The system performs preliminary organization of nodelets into simulation frames before execution, pre-determining the execution sequence for each frame based on the specific simulation scenario. This preliminary structuring allows the same scenario to be reproduced consistently across multiple testing iterations, while different scenarios can still be configured with different frame structures to maintain adaptability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11550623B2Distributed system task management using a simulated clock
Publication Date: 2023.01.10 BEIJING VOYAGER TECH CO LTD
  • US11550623B2 patent drawing
  • US11550623B2 patent drawing
  • US11550623B2 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 simulated clock may be used during execution of the nodelets to mitigate the variability in timestamped data that may be caused by latency or jitter. In some embodiments, all timestamps generated during a given frame of work will be assigned the same time value, regardless of when within the frame the timestamps were generated. A task scheduler can update the value of the simulated clock as execution proceeds through different frames of work.