Job Scheduling via Predicted Earliest Completion Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As computing systems grow in size and complexity, efficiently scheduling computing jobs across multiple nodes with varying resources becomes increasingly challenging, particularly in determining the optimal node for job execution based on resource availability and priority.
Innovation Solution
A method that selects a computing job with required resources, identifies nodes capable of satisfying these resources, predicts the earliest completion time for each node, and schedules the job on the node with the earliest predicted completion time, incorporating techniques such as preemption and backfilling to maximize resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional scheduling examines jobs in arrival order and places them in waiting queues when resources are unavailable, then resource availability is maintained, but job waiting time increases and system productivity decreases
Solution Approach 1:
The system performs preliminary actions by predicting earliest completion times for multiple computing nodes before assigning a job. The scheduler calculates predicted completion times using node characteristics, current load, and job requirements, then proactively selects the optimal node in advance, preventing unnecessary waiting time and improving job execution efficiency
Solution Approach 2:
The scheduling system dynamically adjusts job assignment decisions based on real-time node availability and predicted completion times. Instead of static first-come-first-served queuing, the system continuously evaluates multiple nodes and dynamically selects the optimal target node for each job, balancing resource utilization and reducing waiting time
2Productivity
If jobs are assigned to computing nodes without predicting completion times, then scheduling simplicity is maintained, but resource utilization efficiency deteriorates
Solution Approach 1:
The scheduling system performs self-service by autonomously calculating predicted completion times for multiple nodes and automatically selecting the optimal target node without external intervention. The scheduler uses node characteristics, current load, and job requirements to make intelligent decisions, improving resource utilization while managing complexity through automated algorithms
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring node completion times and using this information to optimize future job assignments. The scheduler collects data on node performance and availability, feeds this information back into the prediction model, and adjusts scheduling decisions accordingly, creating a closed-loop system that improves resource utilization efficiency
Data Source
AI summary
A method for scheduling jobs in a computing system accounts provides for current and future scheduling according to job priority, and system resources expected to be available during a given time period. Resources may be freed by preempting jobs scheduled to execute according to preemption rules specified for the system. Advance reservation and backfilling are accomplished, maximizing system efficiency.


