Applying Machine Learning Techniques to improve Linux Process Scheduling

Project Code :TCMAPY1471

Objective

To predict Linux process CPU burst time (STS_Class) using ML algorithms, compare model performance, optimize scheduling efficiency, and deploy an interactive web application for real-time predictions

Abstract

APPLYING MACHINE LEARNING TECHNIQUES TO IMPROVE LINUX PROCESS SCHEDULING

ABSTRACT

In this study, we explore the application of machine learning (ML) techniques to enhance the efficiency of Linux process scheduling. Specifically, we focus on predicting CPU burst times by analyzing both static and dynamic attributes of running processes. Our goal is to identify the key attributes that can accurately predict CPU burst times, thereby minimizing the process Turn-around-Time (TaT). We modify the Linux Kernel scheduler (version 2.4.20-8) to implement a scheduling mechanism that utilizes customized time slices based on the predictions. Using the Waikato Environment for Knowledge Analysis (Weka), an open-source ML tool, we evaluate various algorithms to determine the most effective method for this task. Our experimentation reveals that the C4.5 Decision Tree algorithm provides the best performance, leading to a reduction in TaT by 1.4% to 5.8%, primarily due to fewer context switches. These findings suggest that incorporating predictive scheduling, which leverages a program’s execution history, can significantly improve process scheduling in modern operating systems.

Keywords: Machine learning, process scheduling, Linux kernel, CPU burst prediction, C4.5,Decision Tree, Turn-around-Time, context switches, Weka.

NOTE: Without the concern of our team, please don't submit to the college. This Abstract varies based on student requirements.

Block Diagram

Specifications

H/W CONFIGURATION:

Processor                                 - I3/Intel Processor

Hard Disk                                - 160GB

Key Board                              - Standard Windows Keyboard

Mouse                                     - Two or Three Button Mouse

Monitor                                   - SVGA

RAM                                       - 8GB

S/W CONFIGURATION:

•      Operating System                   :  Windows 7/8/10

•      Server side Script                    :  HTML, CSS, Bootstrap & JS

•      Programming Language         :  Python

•      Libraries                                  :  Flask, Pandas, Mysql.connector, Os, Scikit-learn, Numpy

•      IDE/Workbench                      :  PyCharm

•      Technology                             :  Python 3.6+

•      Server Deployment                 :  Xampp Server

Demo Video

mail-banner
call-banner
contact-banner
Request Video