Abstract
We study the basic problem of preemptive scheduling of a stream of jobs on a single processor. Consider an on-line stream of jobs, and let the ith job arrive at time r(i) and have processing time p(i). If C(i) is the completion time of job i, then the flow time of i is C(i) - r(i) and the stretch of i is the ratio of its flow time to its processing time; that is, C(i) - r(i)/p(i). Flow time measures the time that a job is in the system regardless of the service it requests; the stretch measure relies on the intuition that a job that requires a long service time must be prepared to wait longer than jobs that require small service times. We present the improved algorithmic results for the average stretch metric in preemptive uniprocessor scheduling. Our first result is an off-line polynomial-time approximation scheme (PTAS) for average stretch scheduling. This improves upon the 2-approximation achieved by the on-line algorithm SRPT that always schedules a job with the shortest remaining processing time. In a recent work, Chekuri and Khanna (Proc. 34th Ann. Symp. Theory Comput., 297-305, 2002) have presented approximation algorithms for weighted flow time, which is a more general metric than average stretch; their result also yields a PTAS for average stretch. Our second set of results considers the impact of incomplete knowledge of job sizes on the performance of on-line 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.
Original language | English (US) |
---|---|
Pages (from-to) | 195-222 |
Number of pages | 28 |
Journal | Journal of Scheduling |
Volume | 7 |
Issue number | 3 |
DOIs | |
State | Published - May 2004 |
Keywords
- Approximation algorithms
- Average stretch
- Scheduling algorithms
ASJC Scopus subject areas
- Software
- Engineering(all)
- Management Science and Operations Research
- Artificial Intelligence