Dynamic Feedback Job Scheduler for Batch Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Batch jobs with multiple tasks face challenges in scheduling on computing systems with limited availability, as existing methods struggle to optimize job execution within the allotted time, especially when there are constraints like cluster capacity, affinity, and fair share requirements, leading to inefficiencies and potential delays.
Innovation Solution
A dynamic feedback scheduler comprising a controller, planner, and dispatcher that uses mathematical programs to optimize job scheduling based on objective functions and constraints, continuously monitoring and adjusting schedules to maximize timely completion of jobs by selecting the most rewarding tasks to execute within the available processing capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple batch jobs are scheduled on a computing system with limited availability, then the utilization of computing resources is improved, but the ability to complete all jobs within the allotted time deteriorates
Solution Approach 1:
The patent implements a dynamic feedback scheduler that continuously monitors job progress and recomputes schedules in real-time. The scheduler adjusts the set of scheduled jobs dynamically based on current system state, allowing it to respond to changing conditions and optimize resource utilization while managing completion timelines effectively.
Solution Approach 2:
The system employs a feedback mechanism where the scheduler monitors the actual progress of batch jobs and uses this information to make informed decisions about which jobs to schedule next. This feedback loop enables the system to adapt to real-time conditions, balancing resource utilization with timely job completion by adjusting schedules based on observed performance.
2Productivity
If the scheduler selects more jobs to execute within the allotted time, then the productivity is improved, but the complexity of managing constraints like cluster capacity, affinity, and fair share increases
Solution Approach 1:
The patent implements a self-service mechanism where the system automatically discovers and manages scheduling constraints without requiring manual configuration or intervention. The scheduler autonomously handles cluster capacity, affinity, and fair share constraints by integrating constraint information directly into the mathematical optimization model, reducing operational complexity while maintaining high productivity.
Solution Approach 2:
The system transforms complex scheduling constraints into mathematical parameters that can be processed by the optimization solver. By representing constraints like cluster capacity, affinity, and fair share as adjustable parameters in the mathematical program, the system simplifies constraint management while enabling efficient computation of optimal schedules that satisfy all requirements.
3Reliability
If the scheduler focuses on completing high-reward jobs, then the value of job completion is improved, but the overall number of jobs that can be completed may decrease
Solution Approach 1:
The patent incorporates job reward values as parameters in the mathematical optimization objective function. The scheduler can be configured to maximize total reward, minimize completion time, or balance both objectives by adjusting the objective function parameters. This allows flexible tuning between completing fewer high-value jobs versus maximizing overall job completion volume based on system priorities.
Solution Approach 2:
The system implements a feedback mechanism that allows partial adjustment of the schedule based on observed job progress and reward realization. Rather than committing to a fixed schedule, the scheduler can dynamically adjust which jobs to pursue, potentially abandoning lower-reward jobs in favor of higher-reward opportunities while maintaining overall productivity through continuous optimization.
Data Source
AI summary
In at least some embodiments, a method comprises computing an initial schedule of jobs to be run on a computing system using a mathematical program and monitoring the computing system. The method also comprises, based on the monitoring, determining, using the mathematical program used to compute the initial schedule, whether the initial schedule should be re-computed.


