Online Non-preemptive Scheduling on Unrelated Machines with Rejections
Résumé
When a computer system schedules jobs there is typically a significant cost associated with preempting a job during execution. This cost can be from the expensive task of saving the memory's state and loading data into and out of memory. There is a need for non-preemptive system schedulers to avoid the costs of preemption on desktops, servers and data centers. Despite this need, there is a gap between theory and practice. Indeed, few non-preemptive online schedulers are known to have strong foundational guarantees. This gap is likely due to strong lower bounds on any online algorithm for popular objectives. Indeed, typical worst case analysis approaches, and even resource augmented approaches such as speed augmentation, result in all algorithms having poor performance guarantees. This paper considers online non-preemptive scheduling problems in the worst-case model where the algorithm is allowed to reject a small fraction of jobs. By rejecting only few jobs, this paper shows that the strong lower bounds can be circumvented. This model can be used to discover scheduling policies with desirable worst-case guarantees. Specifically, the paper presents algorithms for minimizing the total flow-time and minimizing the total weighted flow-time plus energy under the speed-scaling mechanism. The algorithms have a small constant competitive ratio while rejecting only a constant fraction of jobs. Beyond specific results, the paper asserts that alternative models beyond speed augmentation should be explored to aid in the discovery of good schedulers in the face of the requirement of being online and non-preemptive.