Dynamic Execution Function Segmentation for Model Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computational tools face inefficiencies in executing dynamic system models due to the need to execute every block at every time step, which can lead to unnecessary computations and reduced performance.

Innovation Solution

The system generates separate execution functions based on data dependencies between interconnected blocks in a model, allowing for parallel execution of model portions and the application of multiple solvers, thereby optimizing the execution process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If every block is executed at every time step, then the model execution is simple and uniform, but computational efficiency deteriorates due to unnecessary computations

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidexecution function complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The execution function is segmented into multiple independent functions, each responsible for a specific output variable or group of variables. This segmentation allows the system to execute only the necessary functions for the current time step based on data dependencies, avoiding unnecessary computations and improving computational efficiency while managing complexity through modular organization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The execution function dynamically determines which blocks to execute at each time step based on data dependencies and current simulation state. This dynamic approach allows the system to adapt the execution scope to actual computational needs, executing only necessary blocks rather than all blocks uniformly, thereby improving productivity without requiring overly complex static execution structures

Inventive Principle:
Principle #15Dynamics

2Productivity

If separate execution functions are generated based on data dependencies, then computational efficiency improves by executing only necessary blocks, but the system complexity increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the monolithic execution function into multiple specialized execution functions, each handling specific outputs or computational tasks. This segmentation improves execution efficiency by allowing selective invocation of only necessary functions based on data dependencies, while the modular structure manages system complexity through organized, independent function units

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of execution scope from global (all blocks) to local (specific blocks based on data dependencies). By dynamically determining which execution functions to invoke based on current simulation state and dependency analysis, the system achieves higher execution efficiency while managing complexity through parameter-driven selective execution rather than hard-coded complex control structures

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10740514B1Graph-based partitioning of dynamic system execution
Publication Date: 2020.08.11 MATHWORKS INC
  • US10740514B1 patent drawing
  • US10740514B1 patent drawing
  • US10740514B1 patent drawing

AI summary

A device may receive a model that includes multiple blocks. The model may include first variables that contribute to a first calculation and second variables that contribute to a second calculation. The device may determine first dependencies associated with the first variables and may determine second dependencies associated with the second variables. The device may generate a first execution function based on determining the first dependencies. The first execution function may identify first blocks that are to be executed to perform the first calculation. The device may generate a second execution function based on determining the second dependencies. The second execution function may identify second blocks that are to be executed to perform the second calculation. The device may cause the first blocks and the second blocks to be executed in a different manner based on the first execution function and the second execution function.