Approximating total flow time on parallel machines

  • Authors:
  • Stefano Leonardi;Danny Raz

  • Affiliations:
  • Dipartimento di Informatica e Sistemistica, Università di Roma “La Sapienza”, Via Salaria 113, 00198 Roma, Italy;Department of Computer Science, Technion---Israel Institute of Technology, Haifa 32000, Israel

  • Venue:
  • Journal of Computer and System Sciences
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the problem of optimizing the total flow time of a stream of jobs that are released over time in a multiprocessor setting. This problem is NP-hard even when there are only two machines and preemption is allowed. Although the total (or average) flow time is widely accepted as a good measurement of the overall quality of service, no approximation algorithms were known for this basic scheduling problem. This paper contains two main results. We first prove that when preemption is allowed, Shortest Remaining Processing Time (SRPT) is an O(log(min{nm,P})) approximation algorithm for the total flow time, where n is the number of jobs, m is the number of machines, and P is the ratio between the maximum and the minimum processing time of a job. We also provide an @W(log(nm+P)) lower bound on the (worst case) competitive ratio of any randomized algorithm for the on-line problem in which jobs are known at their release times. Thus, we show that up to a constant factor SRPT is an optimal on-line algorithm. Our second main result addresses the non-preemptive case. We present a general technique that allows to transform any preemptive solution into a non-preemptive solution at the expense of an O(nm) factor in the approximation ratio of the total flow time. Combining this technique with our previous result yields an O(nmlognm) approximation algorithm for this case. We also show an @W(n^1^3^-^@e) lower bound on the approximability of this problem (assuming PNP).