ML Thread Estimation for Batch Job VM Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

It is challenging for businesses to ensure sufficient computational resources are available for batch processing without overloading computer networks or wasting resources, as the exact resource requirements can vary based on the number of records being processed, making it difficult to reserve the right amount of resources in advance.

Innovation Solution

A machine learning-based approach is used to estimate the number of threads and select optimal cloud virtual machines for executing batch jobs within a maximum completion time, optimizing resource allocation by determining the most efficient resources needed to avoid excess resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sufficient computational resources are reserved for batch processing, then the batch job can be completed within the required time period, but the computer network becomes overloaded and computational resources are wasted

Engineering Contradiction:
Improvebatch job completion reliabilityVSAvoidcomputational resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically determines the number of threads to execute based on the actual number of records in the batch job, rather than using a fixed reserved amount. This parameter adaptation allows the system to match computational resources to actual workload requirements, preventing both resource waste and network overload while ensuring timely completion.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system uses machine learning models that are trained on historical batch job data to predict the number of threads needed. This feedback mechanism allows the system to learn from past performance and make informed decisions about resource allocation, improving both reliability and efficiency over time.

Inventive Principle:
Principle #23Feedback

2Productivity

If the number of threads is increased to process more records faster, then the batch job completes within the time period, but the computational resources consumed increase

Engineering Contradiction:
Improvebatch job processing speedVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the number of threads as a parameter based on the actual batch job size and historical data patterns. This allows the system to optimize the balance between processing speed and resource consumption, using more threads only when necessary and fewer threads when the workload justifies it.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The thread allocation is made dynamic rather than static, allowing the system to adapt to varying workload conditions. The machine learning model continuously refines its predictions based on actual performance data, enabling the system to optimize resource utilization in real-time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250021388A1Using machine learning for executing batch jobs in distributed cloud environment
Publication Date: 2025.01.16 ORACLE FINANCIAL SERVICES SOFTWARE
  • US20250021388A1 patent drawing
  • US20250021388A1 patent drawing
  • US20250021388A1 patent drawing

AI summary

A method includes estimating a number of threads to execute batch job within maximum completion time by executing a thread estimation algorithm. Executing the thread estimation algorithm includes: determining, using an ML model, a collection of one or more combinations, each including an estimated number of threads and an actual completion time for processing the batch job using the estimated number of threads, the actual completion time being less than or equal to the maximum completion time, and saving the collection including the one or more combinations in a list of threads and completion times. The list of threads and completion times is used to select, based on a list of cloud virtual machines available for use, an optimal virtual machine or an optimal virtual machine combination, the optimal virtual machine or the optimal virtual machine combination being capable of executing the batch job within the maximum completion time.