ML Resource Allocation for Parallel Execution Paths

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveexecution timeVSAvoidresource consumption
Core Design Contradiction:
Loss of timeVSQuantity of substance

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If activity steps are arranged in parallel execution paths, then execution time is reduced, but system complexity increases

Engineering Contradiction:
Improveexecution timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If machine learning module is used to optimize resource allocation, then execution performance is improved, but computational overhead is introduced

Engineering Contradiction:
Improveexecution performanceVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12147840B2Using 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
Publication Date: 2024.11.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12147840B2 patent drawing
  • US12147840B2 patent drawing
  • US12147840B2 patent drawing

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.