Improved algorithms for stretch scheduling
Michael A. Bender, Subramanian Muthukrishnan, Rajmohan Rajaraman · 2002
We study the basic problem of preemptive scheduling of an online stream of jobs on a single processor. The ith job arrives at time r(i) and has processing time p(i) that is known at the time of its arrival. If C(i) is the completion time of job i, then the ow time is C(i) r(i) and stretch of a job is the ratio of its ow time to its processing time; that is, p(i) . Flow time considers the time a job is in the system regardless of the service it requested; the stretch measure relies on the intuition that a job that requested long service must be prepared to wait longer than the small jobs. In this paper, we present improved algorithmic results in stretch scheduling. We rst show that a simple online algorithm that takes amortized O(1) time per job arrival is O( )-competitive with respect to maximum stretch, where is the ratio of the largest processing time to the smallest processing time. This is signi cantly more ecient than the best known online algorithm for this problem which takes ) per scheduling step (n is the number of jobs seen thus far). We next present a polynomial time approximation scheme for average stretch scheduling. The previous best polynomial-time algorithm is the shortest remaining processing time algorithm, which achieves a 2-approximation. Finally, we consider the impact of incomplete knowledge of job sizes on the average stretch performance of scheduling algorithms. We show that a constant-factor competitive ratio for average stretch is achievable even if the processing times (or remaining processing times) of jobs are known only to within a constant factor of accuracy.