Online Preemptive Scheduling on Parallel Machines

We consider an online version of the classical problem of preemptive scheduling on uniformly related machines. We are given m machines with speeds s1 s2 sm and a sequence of jobs, each described by its processing time (length). The actual time needed to process a job with length p on a machine with speed s is p=s. In the preemptive version, each job may be divided into several pieces, which can be assigned to different machines in disjoint time slots. (A job may be scheduled in several time slots on the same machine, and there may be times when a partially processed job is not running at all.) The objective is to find a schedule of all jobs in which the maximal completion time (makespan) is minimized. In the online problem, jobs arrive one by one and the algorithm needs to assign each incoming job to some time slots on some machines, without any knowledge of the jobs that arrive later. This problem, also known as list scheduling, was first studied by Graham [8] for identical machines (i.e., s1 D D sm D 1), without preemption. In the preemptive version, upon the arrival of a job, its complete assignment at all times must be given and the algorithm is not allowed to change this assignment later. In other words, the online nature of the problem is in the order of the input sequence, and it is not related to possible preemptions and the time in the schedule.