Job Scheduling via Delayed Start Time Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing job scheduling methods in parallel computer systems often lead to inefficient allocation of computing resources, resulting in longer completion times for all jobs due to fragmented use of free time, as they simply allocate jobs based on priority without considering optimal execution times.
Innovation Solution
An information processing apparatus that identifies the earliest time a high-priority job can be executed and delays its start if a later time allows more jobs to be executed within a predetermined time range, thereby optimizing resource allocation by executing the highest-priority job and others simultaneously from that later time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If jobs are allocated to the earliest possible time according to priority, then the high-priority job is executed first, but computing resource free time becomes fragmented and total job completion time increases
Solution Approach 1:
The patent changes the scheduling parameter from fixed earliest-time allocation to flexible time window allocation. By allowing the start time of high-priority jobs to be delayed within a controlled range, the system optimizes resource utilization while maintaining priority guarantees. This parameter change enables the scheduler to balance between immediate execution and overall efficiency.
Solution Approach 2:
The patent introduces dynamic scheduling where the allocation time is not fixed but can be adjusted based on system state. The scheduler dynamically determines optimal start times by evaluating future resource availability and job requirements, transforming the static earliest-time rule into a dynamic optimization process that adapts to changing system conditions.
2Ease of operation
If simple priority-based allocation is used, then the scheduling algorithm is simple and easy to implement, but computing resources are allocated inefficiently and more jobs cannot be executed in the same time range
Solution Approach 1:
The patent performs preliminary evaluation of multiple possible start times before finalizing the schedule. By pre-calculating resource availability and job execution implications for different time windows, the system prepares optimization data in advance, enabling smarter allocation decisions without complex real-time computation during job execution.
Solution Approach 2:
The scheduler incorporates feedback loops that continuously monitor resource utilization patterns and job completion status. This feedback information is used to adjust future scheduling decisions, creating a closed-loop system that learns from past allocations and improves resource utilization over time while maintaining algorithmic simplicity.
3Productivity
If the execution start time of the highest-priority job is delayed to execute more jobs, then resource fragmentation is reduced and more jobs complete in the time range, but the highest-priority job execution time is pushed later
Solution Approach 1:
The patent applies partial delay to the highest-priority job's start time within a controlled range, rather than immediate execution or complete rescheduling. By allowing a partial time window for optimization, the system achieves better overall throughput while limiting the delay impact to an acceptable level, balancing immediate needs with overall efficiency.
Data Source
AI summary
An information processing apparatus including: a memory to store information of time zones available for each of a plurality of computation nodes; and a processor configured to execute a process including, obtaining a first time at which a job having the highest priority among a plurality of jobs is able to be executed, and in a case where a second time, which is later than the first time and is a candidate for an execution start time of the job having the highest priority, and from which more jobs are able to be executed in a predetermined time range than a case of executing the job having the highest priority from the first time, is present, allocating the plurality of jobs to the plurality of computation nodes such that the job having the highest priority and one or more other jobs are executed from the second time.


