Nonclairvoyant scheduling to minimize the total flow time on single and parallel machines

Scheduling a sequence of jobs released over time when the processing time of a job is only known at its completion is a classical problem in CPU scheduling in time sharing operating systems. A widely used measure for the responsiveness of the system is the average flow time of the jobs, that is, the average time spent by jobs in the system between release and completion.The Windows NT and the Unix operating system scheduling policies are based on the Multilevel Feedback algorithm. In this article, we prove that a randomized version of the Multilevel Feedback algorithm is competitive for single and parallel machine systems, in our opinion providing one theoretical validation of the goodness of an idea that has proven effective in practice along the last two decades.The randomized Multilevel Feedback algorithm (RMLF) was first proposed by Kalyanasundaram and Pruhs for a single machine achieving an O(log n log log n) competitive ratio to minimize the average flow time against the on-line adaptive adversary, where n is the number of jobs that are released. We present a version of RMLF working for any number m of parallel machines. We show for RMLF a first O(log n log n/m) competitiveness result against the oblivious adversary on parallel machines. We also show that the same RMLF algorithm surprisingly achieves a tight O(log n) competitive ratio against the oblivious adversary on a single machine, therefore matching the lower bound for this case.

[1]  Bala Kalyanasundaram,et al.  Speed is as powerful as clairvoyance [scheduling problems] , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[2]  Luca Becchetti,et al.  Average stretch without migration , 2004, J. Comput. Syst. Sci..

[3]  Andrew S. Tanenbaum,et al.  Modern Operating Systems , 1992 .

[4]  Jochen Könemann,et al.  Non-Clairvoyant Scheduling for Mean Slowdown , 2001 .

[5]  Yossi Azar,et al.  Minimizing the Flow Time Without Migration , 2002, SIAM J. Comput..

[6]  Stefano Leonardi,et al.  Approximating total flow time on parallel machines , 1997, STOC '97.

[7]  Bala Kalyanasundaram,et al.  Minimizing flow time nonclairvoyantly , 2003, JACM.

[8]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[9]  Michael A. Bender,et al.  Flow and stretch metrics for scheduling continuous job streams , 1998, SODA '98.

[10]  Frank Mueller,et al.  A Library Implementation of POSIX Threads under UNIX , 1993, USENIX Winter.

[11]  Rajmohan Rajaraman,et al.  Improved algorithms for stretch scheduling , 2002, SODA '02.

[12]  Allan Borodin,et al.  On the power of randomization in on-line algorithms , 2005, Algorithmica.

[13]  Rajmohan Rajaraman,et al.  Online Scheduling to Minimize Average Stretch , 2004, SIAM J. Comput..

[14]  Kirk Pruhs,et al.  Server scheduling in the Lp norm: a rising tide lifts all boat , 2003, STOC '03.

[15]  Yossi Azar,et al.  Minimizing the flow time without migration , 1999, STOC '99.

[16]  Gary J. Nutt Operating system projects using Windows NT , 1998 .

[17]  Rajmohan Rajaraman,et al.  Online scheduling to minimize average stretch , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[18]  Bala Kalyanasundaram,et al.  Speed is as powerful as clairvoyance , 2000, JACM.

[19]  Bala Kalyanasundaram,et al.  Minimizing flow time nonclairvoyantly , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[20]  A. J. Clewett,et al.  Introduction to sequencing and scheduling , 1974 .

[21]  Rajeev Motwani,et al.  Non-clairvoyant scheduling , 1994, SODA '93.

[22]  Amitabh Sinha,et al.  Non-clairvoyant Scheduling for Minimizing Mean Slowdown , 2003, STACS.

[23]  J. Mandiberg,et al.  Between a rock and a hard place: the mental health system in Japan. , 1993, New directions for mental health services.

[24]  Luca Becchetti,et al.  Scheduling to minimize average stretch without migration , 2000, SODA '00.