Speculative Data Flow Graph Execution with Quality-Based Actor Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data flow graph execution methods fail to ensure deterministic and efficient execution, particularly in the presence of uncertainty such as network failures or external resource unavailability, and cannot select the best result among multiple agents with varying qualities in real-time systems.
Innovation Solution
A system that executes data flow graphs by using multiple actors to independently calculate the same data, producing quality descriptors, and selecting the actor with the most favorable result based on a synchronization mechanism and clock interrupts, ensuring real-time constraints and optimal quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple agents execute the same task with different qualities, then the quality of result can be improved, but it becomes difficult to determine which agent produced the best result
Solution Approach 1:
The patent implements a feedback mechanism where agents report their execution status and quality descriptors to a synchronization system. The synchronization system collects feedback from multiple agents, compares quality descriptors, and determines which agent produced the best result. This resolves the contradiction by providing a systematic way to evaluate and select the best quality result among multiple agents.
Solution Approach 2:
The synchronization system acts as an intermediary between multiple agents and the final result selection. It receives data from multiple agents, processes quality descriptors, and determines the best result without requiring direct comparison logic in each agent. This mediator approach simplifies the overall system by centralizing the complexity of quality assessment.
2Measurement precision
If the system waits for all agents to complete execution, then the best result can be selected, but real-time constraints may be violated
Solution Approach 1:
The synchronization system implements partial action by selecting the best result from agents that have completed execution within the time constraint, rather than waiting for all agents. If some agents complete within the deadline, their results are evaluated and the best is selected, even if other agents are still executing. This partial evaluation approach maintains real-time constraints while still achieving quality selection among available results.
Solution Approach 2:
The system performs preliminary actions by establishing execution time constraints and monitoring agent completion status in real-time. The synchronization system is prepared to select the best result as soon as sufficient agents complete within the time constraint, rather than waiting passively for all agents. This preliminary preparation enables timely result selection while maintaining quality assessment.
3Productivity
If the system executes multiple agents in parallel, then productivity increases, but uncertainty regarding execution outcomes increases
Solution Approach 1:
The synchronization system uses feedback from multiple parallel agents to resolve execution uncertainty. Each agent reports its execution status and quality descriptor, allowing the system to verify which agents completed successfully and determine the best result among them. This feedback mechanism maintains reliability by systematically evaluating execution outcomes despite parallel execution uncertainties.
Solution Approach 2:
The system changes the parameter of result selection by evaluating quality descriptors from multiple agents rather than relying on a single deterministic execution. By introducing quality assessment as a variable parameter, the system can select the best result among uncertain parallel executions, transforming reliability from a binary condition to a graded selection process.
4Stability of the object's composition
If the system uses synchronous execution, then deterministic behavior is achieved, but adaptability to varying execution contexts is reduced
Solution Approach 1:
The synchronization system introduces dynamics by allowing the execution model to adapt based on agent completion status and quality descriptors. Rather than rigid synchronous execution, the system dynamically selects results from agents that have completed within time constraints, adjusting the effective execution model based on actual system state. This dynamic approach maintains determinism in result selection while adapting to varying execution contexts.
Solution Approach 2:
The synchronization system serves multiple functions: it coordinates parallel execution, evaluates quality descriptors, enforces time constraints, and selects the best result. This multi-functional approach allows the system to maintain deterministic behavior through structured evaluation while adapting to different execution contexts through flexible result selection based on agent performance.
Data Source
Figure 1a~1c
Figure 2~3
Figure 4a~4d
AI summary
the present invention relates to the execution of data flow graphs with distributed calculations. More specifically, it relates to a system for execution of a dataflow graph (300), said dataflow graph (300) comprising: at least two first actors (310, 311) each comprising means for independently executing a calculation on a same dataset comprising at least one datum, and producing a quality descriptor of the dataset, the execution of the calculation by each of said at least two first actors being triggered by a synchronization system; a third actor (320), comprising triggering means for the execution of the calculation by each of said at least two first actors, and initializing a timer configured to emit an interruption signal when a duration is expired; a fourth actor (330), comprising means for executing, at the latest at the interruption signal of said timer: the selection, from the set of said at least two first actors having produced a quality descriptor, of which the descriptor presents the most favourable value; and the transfer of the dataset calculated by the selected actor.