Dynamic Execution Function Segmentation for Model Efficiency
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
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.


