Title :
Applying Machine Learning Techniques to Improve Linux Process Scheduling
Author :
Negi, Atul ; Kishore, K.P.
Author_Institution :
Dept. of Comput. & Inf. Sci., Univ. of Hyderabad, Hyderabad
Abstract :
In this work we use Machine Learning (ML) techniques to learn the CPU time-slice utilization behavior of known programs in a Linux system. Learning is done by an analysis of certain static and dynamic attributes of the processes while they are being run. Our objective was to discover the most important static and dynamic attributes of the processes that can help best in prediction of CPU burst times which minimize the process TaT (Turn-around-Time). In our experimentation we modify the Linux Kernel scheduler (version 2.4.20-8) to allow scheduling with customized time slices. The "Waikato Environment for Knowledge Analysis" (Weka), an open source machine-learning tool is used to find the most suitable ML method to characterize our programs. We experimentally find that the C\´4.5 Decision Tree algorithm most effectively solved the problem. We find that predictive scheduling could reduce TaT in the range of 1.4% to 5.8%. This was due to a reduction in the number of context switches needed to complete the process execution. We find our result interesting in the context that generally operating systems presently never make use of a program\´s previous execution history in their scheduling behavior.
Keywords :
Linux; learning (artificial intelligence); CPU time-slice utilization behaviour; Linux kernel scheduler; Linux process scheduling; TaT; machine learning techniques; operating systems; turn-around-time; Decision trees; Genetic algorithms; History; Kernel; Linux; Machine learning; Operating systems; Processor scheduling; Space exploration; Switches;
Conference_Titel :
TENCON 2005 2005 IEEE Region 10
Conference_Location :
Melbourne, Qld.
Print_ISBN :
0-7803-9311-2
Electronic_ISBN :
0-7803-9312-0
DOI :
10.1109/TENCON.2005.300837