TY - GEN

T1 - Improved algorithms for stretch scheduling

AU - Bender, Michael A.

AU - Muthukrishnan, S.

AU - Rajaraman, Rajmohan

PY - 2002

Y1 - 2002

N2 - 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(t) and has processing time p(i) that is known at the time of its arrival. If C(i) is the completion time of job t, then the flow time is C(i) -r(i) and stretch of a job is the ratio of its flow time to its processing time; that is, c(i)-r(i)/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 first show that a simple online algorithm that takes amortized O(l) time per job arrival is 0(A1/a)-competitive with respect to maximum stretch, where A is the ratio of the largest processing time to the smallest processing time. This is significantly more efficient than the best known online algorithm for this problem which takes ft(n2) 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 tor 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.

AB - 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(t) and has processing time p(i) that is known at the time of its arrival. If C(i) is the completion time of job t, then the flow time is C(i) -r(i) and stretch of a job is the ratio of its flow time to its processing time; that is, c(i)-r(i)/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 first show that a simple online algorithm that takes amortized O(l) time per job arrival is 0(A1/a)-competitive with respect to maximum stretch, where A is the ratio of the largest processing time to the smallest processing time. This is significantly more efficient than the best known online algorithm for this problem which takes ft(n2) 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 tor 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.

UR - http://www.scopus.com/inward/record.url?scp=84968765202&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84968765202&partnerID=8YFLogxK

M3 - Conference contribution

AN - SCOPUS:84968765202

T3 - Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms

SP - 762

EP - 771

BT - Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002

PB - Association for Computing Machinery

T2 - 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002

Y2 - 6 January 2002 through 8 January 2002

ER -