Predictive Batch Job Scheduling for Cloud Resource Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Speed
If more computing resources are allocated to handle batch jobs, then job completion speed increases, but cost of hardware upgrades increases
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.
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.
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
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.
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.
Data Source
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.


