skip to main content
article

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

Published:01 July 2004Publication History
Skip Abstract Section

Abstract

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.

References

  1. Acharya, S., Muthukrishnan, S., and Sundaram, G. 1999. Scheduling data delivery over multiple channels. Tech. rep., Bell Labs Technical Memo. (Available from acharya@research. bell-labs.com.)Google ScholarGoogle Scholar
  2. Awerbuch, B., Azar, Y., Leonardi, S., and Regev, O. 2002. Minimizing the flow time without migration. SIAM J. Comput. 31, 5, 1370--1382. Google ScholarGoogle Scholar
  3. Baker, K. R. 1974. Introduction to Sequencing and Scheduling. Wiley, New York.Google ScholarGoogle Scholar
  4. Bansal, N., Dhamdhere, K., Konemann, J., and Sinha, A. 2003. Non-clairvoyant scheduling for mean slowdown. In Proceedings of the 20th Symposium on Theoretical Aspects of Computer Science (STACS). 260--270. Google ScholarGoogle Scholar
  5. Bansal, N., and Pruhs, K. 2003. Server scheduling in the Lp norm: A rising tide lifts all boats. In Proceedings of the 35th Symposium on Theory of Computing (STOC). ACM, New York, 242--250. Google ScholarGoogle Scholar
  6. Becchetti, L., Leonardi, S., and Muthukrishnan, S. 2004. Scheduling to minimize average stretch without migration. J. Comput. Syst. Sci. 68, 80--95. Google ScholarGoogle Scholar
  7. Ben-David, S., Borodin, A., Karp, R., Tardos, G., and Wigderson, A. 1994. On the power of randomization in on-line algorithms. Algorithmica 11, 2--14.Google ScholarGoogle Scholar
  8. Bender, M., Muthukrishnan, S., and Rajaraman, R. 2002. Improved algorithms for stretch scheduling. In Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). ACM, New York, 762--771. Google ScholarGoogle Scholar
  9. Bender, M. A., Chakrabarti, S., and Muthukrishnan, S. 1998. Flow and stretch metrics for scheduling continuous job streams. In Proceedings of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms. ACM, New York, 270--279. Google ScholarGoogle Scholar
  10. Doeppner, T. W. 1987. Threads, a system for the support of concurrent programming. Tech. Rep. CS-87-11, Brown University.Google ScholarGoogle Scholar
  11. Gehrke, J. E., Muthukrishnan, S., Rajaraman, R., and Shaheen, A. 1999. Online scheduling to minimize avarage strech. In Proceedings of the 40th Annual IEEE Symposium Foundations of Computer Science (FOCS). IEEE Computer Society Press, Los Alamitos, Calif., 433--443. Google ScholarGoogle Scholar
  12. IEEE. 1994. Institute for Electrical and Electronic Engineers. POSIX P1003.4a, Threads Extensions for Portable Operating Systems.Google ScholarGoogle Scholar
  13. Kalyanasundaram, B., and Pruhs, K. 1995. Speed is as powerful as clairvoyance. In Proceedings of the 36th Annual Symposium on Foundations of Computer Science (FOCS'95). IEEE Computer Society Press, Los Alamitos, Calif., 214--223. Google ScholarGoogle Scholar
  14. Kalyanasundaram, B., and Pruhs, K. 1997. Minimizing flow time nonclairvoyantly. In Proceedings of the 38th Annual Symposium on Foundations of Computer Science (Miami Beach, Fla., Oct. 20--22). IEEE Computer Society Press, Los Alamitos Calif., 345--352. Google ScholarGoogle Scholar
  15. Leonardi, S., and Raz, D. 1997. Approximating total flow time on parallel machines. In Proceedings of the 29th Annual ACM Symposium on Theory of Computing. ACM, New York, 110--119. Google ScholarGoogle Scholar
  16. Motwani, R., Phillips, S., and Torng, E. 1994. Nonclairvoyant scheduling. Theoret. Comput. Sci. 130, 1, 17--47. Google ScholarGoogle Scholar
  17. Mueller, F. 1993. A library implementation of POSIX threads under UNIX. In Proceedings of the USENIX Winter 1993 Technical Conference. 29--42.Google ScholarGoogle Scholar
  18. Nutt, G. 1999. Operating System Projects using Windows NT. Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  19. Sleator, D. D., and Tarjan, R. E. 1985. Amortized efficiency of list update and paging rules. Commun. ACM 28, 202--208. Google ScholarGoogle Scholar
  20. SUN. 1993. Sunos 5.3 system services.Google ScholarGoogle Scholar
  21. Tanenbaum, A. S. 1992. Modern Operating Systems. Prentice-Hall, Englewood Cliffs, N.J. Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader