Outcomes for the web setting
The actual complexity lies within the on-line setting, the place jobs arrive dynamically and the scheduler should make quick, irrevocable selections with out understanding what jobs will arrive subsequent. We quantified the efficiency of an internet algorithm by way of its aggressive ratio, which is the worst case comparability between the throughput of our on-line algorithm and the throughput of an optimum algorithm that’s conscious of all the roles apriori.
The usual non-preemptive algorithms fail fully right here as their aggressive ratio approaches zero. This occurs as a result of a single dangerous determination of scheduling a protracted job can damage the opportunity of scheduling many future smaller jobs. On this instance, if you happen to think about that every accomplished job brings equal weight, no matter its size, finishing many brief jobs is rather more worthwhile than finishing one lengthy job.
To make the web drawback solvable and replicate real-world flexibility, we studied two fashions that enable an lively job to be interrupted if a greater alternative arises (although solely jobs restarted and later accomplished non-preemptively rely as profitable).
Interruption with restarts
On this mannequin, an internet algorithm is allowed to interrupt a presently executing job. Whereas the partial work already carried out on the interrupted job is misplaced, the job itself stays within the system and will be retried.
We discovered that the pliability offered by permitting job restarts is extremely useful. A variant of Grasping that iteratively schedules the job that finishes earliest continues to realize a 1/2-competitive ratio, matching the end result within the offline setting.
Interruption with out restarts
On this stricter mannequin, all work carried out on the interrupted job is misplaced and the job itself is discarded endlessly. Sadly, we discover that on this strict mannequin, any on-line algorithm can encounter a sequence of jobs that forces it into selections which forestall it from satisfying rather more work sooner or later. As soon as once more, the aggressive ratio of all on-line algorithms approaches zero. Analyzing the above onerous situations led us to give attention to the sensible situation the place all jobs share a standard deadline (e.g., all knowledge processing should end by the nightly batch run). For such frequent deadline situations, we devise novel fixed aggressive algorithms. Our algorithm may be very intuitive and we describe the algorithm right here for the straightforward setting of a unit capability profile, i.e., we are able to schedule a single job at any time.
On this setting, our algorithm maintains a tentative schedule by assigning the roles which have already arrived to disjoint time intervals. When a brand new job arrives, the algorithm modifies the tentative schedule by taking the primary relevant motion out of the next 4 actions:
