Predictive Resource Scaling for Cloud Job Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scalable computing systems face inefficiencies due to the time-consuming process of preparing for large jobs, as additional resources need to be brought online and data transferred, leading to slowed performance and reduced efficiency in processing jobs on demand.

Innovation Solution

A system for automatically scaling provisioned resources using a model that estimates the required number of processing threads, provisions resources, collects server telemetry/data, calculates a resource utilization score, and adjusts model parameters to optimize resource allocation and utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If additional computers are brought up and data is transferred to them to process large jobs, then the system can handle larger jobs, but the preparation time increases significantly, lowering overall efficiency

Engineering Contradiction:
Improveability to process large jobsVSAvoidpreparation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system provisions additional computers and transfers data to them before the large jobs actually arrive. By predicting upcoming large jobs using historical data and patterns, the system prepares the computing infrastructure in advance, so when the jobs are submitted, the resources are already ready to execute them immediately without preparation delays.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If computers are added to the system to handle demand changes, then the system can process more jobs, but the time to bring up additional computers slows down job processing

Engineering Contradiction:
Improvejob processing capacityVSAvoidjob processing speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system adds computers to the cluster and configures them with necessary data before demand arises. By analyzing historical job patterns and predicting future large jobs, the system provisions resources ahead of time, ensuring that when jobs need processing, the infrastructure is already in place and can immediately handle the workload at full speed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the system prepares resources in advance for large jobs, then job execution efficiency improves, but resource provisioning complexity increases

Engineering Contradiction:
Improvejob execution efficiencyVSAvoidresource provisioning complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically provisions resources, transfers data, and configures computing nodes without manual intervention. The resource provisioning process is self-managed through automated scripts and orchestration tools that handle node addition, data distribution, and job assignment, eliminating the need for complex manual configuration while maintaining high execution efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10761897B2Predictive model-based intelligent system for automatically scaling and managing provisioned computing resources
Publication Date: 2020.09.01 WORKDAY INC
  • US10761897B2 patent drawing
  • US10761897B2 patent drawing
  • US10761897B2 patent drawing

AI summary

A system for automatically scaling provisioned resources includes an input interface and a processor. The input interface is configured to receive an estimate of a required number of processing threads. The processor is configured to determine required resources for processing the required number of processing threads using a model; provision the required resources; indicate to execute client tasks using the provisioned resources; determine server telemetry or logging data for the provisioned resources; provide the server telemetry or the logging data to the model; determine a resource utilization score based at least in part on the server telemetry or the logging data; determine a provisioning performance reward based at least in part on the resource utilization score; and adjust model parameters using the provisioning performance reward.