ML Resource Allocation for Parallel Execution Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current techniques lack an efficient method to determine optimal execution paths and resource allocations for program code to minimize execution time and resource usage in parallel processing scenarios.
Innovation Solution
A machine learning module is employed to analyze activity steps and system load, processing this information to optimize processor and memory resource allocations across execution paths, using algorithms like decision trees and neural networks to predict and adjust allocations based on historical data for improved performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If more processor and memory resources are assigned to execution paths, then execution time is reduced, but resource consumption increases
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting processor and memory resource allocations based on execution path characteristics, activity step complexities, and system load conditions. The machine learning module optimizes resource parameters to achieve minimum execution time while controlling resource consumption within acceptable thresholds.
Solution Approach 2:
The patent implements dynamics by making resource allocations adaptive rather than static. The system continuously monitors execution progress, system load, and performance metrics to dynamically reallocate resources across parallel execution paths, allowing the resource distribution to evolve during program execution for optimal performance.
2Loss of time
If activity steps are arranged in parallel execution paths, then execution time is reduced, but system complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the program code into multiple independent activity steps that can execute in parallel. The machine learning module analyzes program structure to identify suitable segmentation points, creating parallel execution paths that reduce overall execution time while maintaining manageable system complexity through modular organization.
Solution Approach 2:
The patent introduces an intermediary machine learning module that manages the complexity of parallel execution path coordination. This intermediary analyzes execution paths, predicts performance outcomes, and makes intelligent scheduling decisions, thereby reducing the burden on the underlying system infrastructure and simplifying the management of parallel complexity.
3Productivity
If machine learning module is used to optimize resource allocation, then execution performance is improved, but computational overhead is introduced
Solution Approach 1:
The patent applies preliminary action by having the machine learning module pre-analyze program code structure, activity step characteristics, and system load conditions before execution begins. This preliminary analysis enables the system to pre-determine optimal resource allocation strategies and execution path selections, reducing the need for complex real-time computations during actual program execution.
Solution Approach 2:
The patent implements feedback mechanisms where the machine learning module continuously monitors actual execution performance against predictions, using this feedback to refine future resource allocation decisions. This feedback loop allows the system to learn from past executions and improve accuracy over time, reducing computational overhead by making more precise predictions that require less intensive processing.
Data Source
AI summary
Provided are computer program product, system, and method for using a machine learning module to determine a group of execution paths of program code and a computational resource allocation to use to execute the group of execution paths. Information on activity steps in program code and a system load of a system in which the program code is executed are provided as inputs to a resource allocation machine learning module. The resource allocation machine learning module processes the provided inputs to output computational resource allocations for execution paths of activity steps in the program code to execute in parallel, including memory and processing resource allocations optimized according to an optimization criteria. The outputted computational resource allocations are allocated to execute the activity steps in the execution paths in parallel.


