Distributed Real-Time Task Synchronization via Global Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed real-time systems with multiple computer nodes, ensuring simultaneous and precise execution of tasks across different nodes to achieve optimal reaction time is challenging, particularly in applications like autonomous vehicle sensor data acquisition where sensor tasks must read data at the same time.

Innovation Solution

The method synchronizes tasks using a global time base, where periodic trigger signals start each cycle simultaneously, and tasks write result data to local output memory areas before the cycle end, with time-triggered communication systems transporting results to input areas of requiring tasks by the next cycle, allowing for staggered completion times and flexible task allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tasks are executed in different computer nodes without centralized coordination, then system flexibility and distribution are improved, but task synchronization precision deteriorates

Engineering Contradiction:
Improvetask distribution flexibilityVSAvoidtask synchronization precision
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The system divides the distributed real-time system into autonomous computer nodes, each with local scheduling capabilities. Tasks are segmented and distributed to different nodes, allowing flexible task allocation while maintaining synchronization through local cycle counters that track global system cycles independently at each node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The communication system performs preliminary actions by transporting result data from output memory areas to input memory areas before the next cycle begins. This advance preparation ensures that when a cycle starts, all required input data are already available in the input memory areas of tasks that require them, eliminating waiting time and ensuring precise synchronization.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is transported between tasks during cycle execution, then task interdependence is improved, but system response time deteriorates

Engineering Contradiction:
Improvetask interdependenceVSAvoidsystem response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The communication system is configured to transport result data in advance, during the time interval between cycle i and cycle i+1, before the next cycle begins. This preliminary data transport ensures that input data are ready in input memory areas when the next cycle starts, eliminating data transfer delays during critical task execution periods and maintaining precise timing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The communication system acts as an intermediary between tasks, with dedicated input and output memory areas serving as buffer zones. Result data from one task are stored in output memory areas and automatically transported to input memory areas of dependent tasks, decoupling the timing of data production and consumption while ensuring data availability when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all tasks complete processing at the same time, then system synchronization is improved, but task flexibility and varying processing requirements deteriorate

Engineering Contradiction:
Improvesystem synchronizationVSAvoidtask processing flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments the execution timeline into distinct phases: active processing time during each cycle, and a communication phase in the time interval between cycles. Tasks can have different processing durations within their allocated cycles, and the communication system handles data transport during the inter-cycle interval, allowing tasks to complete at different times while maintaining overall system synchronization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adapts to varying task processing requirements by allowing tasks to complete processing at different times within their respective cycles. The communication system dynamically transports data based on when tasks complete processing, rather than requiring all tasks to synchronize completion. This dynamic approach maintains synchronization while accommodating flexible processing times.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3014438B1Method and apparatus for data transfer to the cyclic tasks in a distributed real time system at the correct time
Publication Date: 2017.05.17 FTS - COMPUTERTECHNIK GES MBH
  • EP3014438B1 patent drawingFigure 1~3
  • EP3014438B1 patent drawing

AI summary

The invention relates to a method for data transfer between cyclic tasks in a distributed real-time system at the correct time, which real-time system comprises a real-time communication system and a multiplicity of computer nodes, wherein a local real-time clock in each computer node is in sync with the global time, wherein all periodic trigger signals z i b for the beginning of a new cycle i are derived in each computer node simultaneously from the advance of the global time, these periodic trigger signals starting the tasks, and wherein a task reads the output data of the other tasks from local input memory areas to which the real-time communication system writes information, and wherein a task writes the result data from the current cycle to a local output memory area, which is associated with the real-time communication system, at an a priori determined individual production instant z i f before the end of a cycle, and wherein the schedules for the time-controlled real-time communication system are configured such that the result data for a task that are existent in the local output memory area are transported to the local input memory areas of the tasks requiring the data during the time interval < z i f , z i+1 b >, so that at the beginning of the following cycle these result data are available in the local input memory areas of the tasks that require these result data.