Scheduling Parallelizable Jobs on Multiprocessors

We study the problem of processor scheduling for parallel jobs. We prove that, for jobs with a single phase of parallelism, an algorithm can achieve a mean response time within 2-& times the optimum. This is extended to jobs with multiple phases of parallelism and to interactive jobs (with phases during which the job has no CPU requirements) for a solution within 4 & times the optimum. Comparing with previous work, our assumption that job execution times are unknown prior to their completion is more realistic, our multi-phased job model is more general, and our approximation ratio (for jobs with a single phase of parallelism) is better and cannot be improved.