On-Line Scheduling on Parallel Machines

Abstract : Given a parallel machine with processors arranged in some particular network topology (e.g., on a mesh machine the processors are arranged in a rectangular grid), we have to execute different parallel jobs. Each job requires some part of the machine (e.g., a mesh of a smaller size), and can be executed on any subset of processors with that network topology. Each job will run for some fixed time, regardless of when we execute it. But we do not know the running times in advance, the only way to determine the running time of a job is to execute it. Scheduling may also be constrained by dependencies between jobs; it may be the case that a job cannot be started until some other jobs have finished. Our task is to schedule a given set of jobs so that all constraints are satisfied and the total time is as small as possible. The author claims that this model efficient on-line scheduling is possible on a variety of different parallel machines, including PRAMs, hypercubes and mesh machines. However, the efficiency depends on various factors, including the presence of dependencies, the combinatorial complexity of the network topology, randomization, the use of virtualization, and the maximal size of jobs.