Online scheduling of splittable tasks

Leah Epstein, Rob Van Stee
2006 ACM Transactions on Algorithms  
We consider online scheduling of splittable tasks on parallel machines. In our model, each task can be split into a limited number of parts, that can then be scheduled independently. We consider both the case where the machines are identical and the case where some subset of the machines have a (fixed) higher speed than the others. We design a class of algorithms which allows us to give tight bounds for a large class of cases where tasks may be split into relatively many parts. For identical
more » ... s. For identical machines we also improve upon the natural greedy algorithm in other classes of cases. In this paper, we consider the problem of distributing tasks on parallel machines, where tasks can be split in a limited amount of parts. A possible application of the splittable tasks problem exists in peer-to-peer networks [5] . In such networks large files are typically split and the parts are downloaded simultaneously from different locations, which improves the quality of service (QoS). More generally, computer systems often distribute computation between several processors. This allows the distributed system to speed up the execution of tasks. Naively it should seem that the fastest way to run a process would be to let all processors participate in the execution of a single process. However in practice this is impossible. Set-up costs and communication delays limit the amount of parallelism possible. Moreover, some processes may have limited parallelism by nature. In many cases, the best that can be done is that a process may be decomposed into a limited number of pieces each of which must be run independently on a single machine. The definition of the model is as follows. In the sequel, we call the tasks "jobs" as is done in the standard terminology. We consider online scheduling of splittable jobs on m parallel machines. A sequence of jobs is to be scheduled on a set of machines. Unlike the basic model which assumes that each job can be executed on one machine (chosen by the algorithm), for splittable jobs, the required processing time p j of a job j may be split in an arbitrary way into (at most) a given number of parts . Those parts become independent and may run in parallel or at different times on different processors. After a decision (on the way a job is split) has been made, the scheduler is confronted by the basic scheduling problem, where each piece of job is to be assigned non-preemptively to one machine. In the on-line version, jobs are presented to the algorithm in a list, this
doi:10.1145/1125994.1125999 fatcat:rzs2kbtvx5ennatwfgoes2qye4