Predictive Batch Job Scheduling for Cloud Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling batch jobs in cloud environments is challenging due to lack of end-to-end visibility and control over resource consumption and workload handling, leading to inefficient resource utilization and potential disruptions to interactive software users.

Innovation Solution

A predictive model, trained on job schedule performance data, is used to predict resource consumption and optimize batch job scheduling, selecting the best schedule from candidate options to minimize resource waste and disruptions by leveraging combinatorial search algorithms and machine learning techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If batch jobs are scheduled using traditional scheduler-driven approaches, then jobs can be executed based on predefined schedules, but resource utilization becomes inefficient and disruptions to interactive software users occur

Engineering Contradiction:
Improvebatch job execution efficiencyVSAvoidcomputing resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by generating multiple candidate job schedules in advance and evaluating them using a predictive model before actual execution. This allows the system to pre-determine the optimal schedule that balances resource utilization and user impact, rather than reacting to resource availability in real-time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by using a predictive model trained on historical job schedule performance data to evaluate candidate schedules. The model provides feedback on predicted load and availability, enabling continuous optimization of scheduling decisions based on learned patterns from past performance.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If batch jobs are run in cloud environment with shared hardware, then multiple clients can access the system, but neither clients nor service provider have complete visibility of batch jobs running at the service

Engineering Contradiction:
Improvecloud environment multi-tenant capabilityVSAvoidvisibility of resource consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The predictive model acts as an intermediary that aggregates and processes information about batch jobs across multiple tenants. It provides the service provider with consolidated visibility into resource consumption patterns without requiring direct access to individual tenant data, thus maintaining multi-tenant isolation while enabling global optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The scheduling system implements a universal predictive model that serves multiple functions: it evaluates candidate schedules, predicts resource load, assesses user impact, and optimizes across all tenants simultaneously. This single system handles the complex multi-tenant scheduling problem that would otherwise require separate solutions for each tenant.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If more computing resources are allocated to handle batch jobs, then job completion speed increases, but cost of hardware upgrades increases

Engineering Contradiction:
Improvebatch job completion speedVSAvoidhardware resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system applies dynamics by creating multiple candidate schedules with varying resource allocation scenarios and selecting the optimal one based on predicted performance. This dynamic approach allows the system to adapt resource utilization to actual job requirements and user availability patterns, rather than statically over-provisioning hardware.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The predictive model evaluates candidate schedules by changing parameters such as job start times, execution frequencies, and resource allocations. By systematically varying these parameters and selecting the optimal combination, the system achieves efficient resource utilization without requiring additional hardware investment.

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If batch jobs are scheduled during peak user hours, then user accessibility is maintained, but system performance degrades due to resource contention

Engineering Contradiction:
Improveuser accessibilityVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system applies partial action by scheduling batch jobs during periods of partial user availability rather than complete user absence. The predictive model identifies time windows where limited user activity occurs, allowing some batch processing to proceed with minimal user impact while maintaining overall system responsiveness.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements periodic scheduling by dividing batch job execution into multiple time slots throughout the day, distributing the workload periodically rather than concentrating it in a single window. This periodic approach smooths resource utilization and maintains user accessibility while completing batch jobs over time.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20240160494A1Job schedule quality prediction and job scheduling
Publication Date: 2024.05.16 SAP SE
  • US20240160494A1 patent drawing
  • US20240160494A1 patent drawing
  • US20240160494A1 patent drawing

AI summary

Some embodiments are directed to scheduling batch jobs for execution on a computer system. Multiple candidate job schedules may be generated that satisfy the defined limits. A job schedule quality may be predicted for the candidate job schedules using a predictive model previously trained on job schedule performance data. The candidate job schedule with suitable job schedule quality is used for autonomously scheduling the batch job execution.