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.
- 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 Scholar
- Awerbuch, B., Azar, Y., Leonardi, S., and Regev, O. 2002. Minimizing the flow time without migration. SIAM J. Comput. 31, 5, 1370--1382. Google Scholar
- Baker, K. R. 1974. Introduction to Sequencing and Scheduling. Wiley, New York.Google Scholar
- 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 Scholar
- 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 Scholar
- Becchetti, L., Leonardi, S., and Muthukrishnan, S. 2004. Scheduling to minimize average stretch without migration. J. Comput. Syst. Sci. 68, 80--95. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Doeppner, T. W. 1987. Threads, a system for the support of concurrent programming. Tech. Rep. CS-87-11, Brown University.Google Scholar
- 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 Scholar
- IEEE. 1994. Institute for Electrical and Electronic Engineers. POSIX P1003.4a, Threads Extensions for Portable Operating Systems.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Motwani, R., Phillips, S., and Torng, E. 1994. Nonclairvoyant scheduling. Theoret. Comput. Sci. 130, 1, 17--47. Google Scholar
- Mueller, F. 1993. A library implementation of POSIX threads under UNIX. In Proceedings of the USENIX Winter 1993 Technical Conference. 29--42.Google Scholar
- Nutt, G. 1999. Operating System Projects using Windows NT. Addison-Wesley, Reading, Mass. Google Scholar
- Sleator, D. D., and Tarjan, R. E. 1985. Amortized efficiency of list update and paging rules. Commun. ACM 28, 202--208. Google Scholar
- SUN. 1993. Sunos 5.3 system services.Google Scholar
- Tanenbaum, A. S. 1992. Modern Operating Systems. Prentice-Hall, Englewood Cliffs, N.J. Google Scholar
Recommendations
Non-Clairvoyant Scheduling with Predictions
SPAA '21: Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and ArchitecturesIn the single-machine non-clairvoyant scheduling problem, the goal is to minimize the total completion time of jobs whose processing times are unknown a priori. We revisit this well-studied problem and consider the question of how to effectively use (...
Flow time scheduling with uncertain processing time
STOC 2021: Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of ComputingWe consider the problem of online scheduling on a single machine in order to minimize weighted flow time. The existing algorithms for this problem (STOC ’01, SODA ’03, FOCS ’18) all require exact knowledge of the processing time of each job. This ...
Non-clairvoyant scheduling to minimize the average flow time on single and parallel machines
STOC '01: Proceedings of the thirty-third annual ACM symposium on Theory of computingScheduling 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 ...
Comments