Earliest Available Start Time Yielding (EASY) backfilling differs from FCFS in that it allows smaller jobs to fill the gaps in between larger jobs, so long as the smaller jobs do not delay the execution of the larger jobs.
The algorithm aims to reduce idle time and improve overall system efficiency by flexibly scheduling smaller jobs when possible.
EASY Backfilling is also generally implemented as a non-preemptive algorithm.
In backfilling scheduling, a job can be placed into any available slot that is both free and does not cause any to higher priority jobs.
Backfilling
EASY Backfilling Example
In this example the smaller jobs (4 & 5) are executed prior to job 3 because their execution won't negatively impact job 3's start or execution time.
Backfilling scheduling allows jobs to be executed out of order as long as they do not delay the execution of higher jobs.
Advantages of EASY Backfilling Scheduling
Improved resource utilization
EASY Backfilling improves resource utilization by allowing shorter jobs to execute earlier, even if they were submitted after longer jobs. This helps in maximizing the overall system throughput.
Reduced wait times for short jobs
Shorter jobs don't have to wait behind longer jobs in the queue, leading to reduced wait times for these jobs. This can result in better user satisfaction, especially for users submitting shorter tasks.
One advantage of backfilling scheduling is its ability to handle of idle slots efficiently.
Disadvantages of EASY Backfilling Scheduling
Complexity
Implementing EASY Backfilling requires a more sophisticated scheduling algorithm compared to simpler approaches like First-Come, First-Served (FCFS) or Shortest Job Next (SJN).
Difficulty in estimating job runtimes
EASY Backfilling relies on accurate estimations of job runtimes to determine the earliest available start times for jobs. If job runtimes are unpredictable or inaccurately estimated, the effectiveness of the backfilling algorithm may be compromised.
A drawback of EASY backfilling scheduling is that it may be less effective in scenarios with high in job sizes.