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 -