Optimal Online Scheduling of Parallel Jobs with
Dependencies. Anja Feldmann, Ming-Yang Kao, Jiri
Sgall,Shang-Hua Teng; STOC 1993.
- Abstract
-
- We study the following general online scheduling problem. Parallel jobs
arrive dynamically according to the dependencies between them. Each job
requests a certain number of processors with a specific communication
configuration, but its running time is not known until it is completed. We
present optimal online algorithms for PRAMs, hypercubes and one-dimensional
meshes, and obtain optimal tradeoffs between the competitive ratio and the
largest number of processors requested by any job. Our work shows that for
efficient online scheduling it is necessary to use virtualization,
i.e., to schedule parallel jobs on fewer processors than requested while
preserving the work.
- Assume that the largest number of processors requested by a job is lambda
N, where 0< lambda <= 1 and N is the number of processors of a machine. With
virtualization, our algorithm for PRAMs has a competitive ratio of 2 + (sqrt{4
lambda^2+1}-1) / (2 lambda). Our lower bound shows that this ratio is optimal.
As lambda goes from 0 to 1, the ratio changes from 2 to 2 + phi, where phi
(approx. 0.618) is the golden ratio. For hypercubes and one-dimensional
meshes we present Theta(log N / loglog N)-competitive algorithms as well as
matching lower bounds. Without virtualization, no online scheduling algorithm
can achieve a competitive ratio smaller than N for lambda=1. For lambda<1,
the lower bound is 1 + 1 / (1-lambda) and our algorithm for PRAMs achieves
this competitive ratio.
- We prove that tree constraints are complete for the scheduling
problem, i.e., any algorithm that solves the scheduling problem if the
dependency graph is a tree can be converted to solve the general problem
equally efficiently.
-