tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Proposal for a new project: Improving Process Scheduling in BSD using Machine Learning Techniques



Hello tech-kern,

I am Manikishan a GSoC 2019 student in NetBSD, and I have a proposal for a project for NetBSD.


Recently, I and a peer of mine were trying to learn about process schedulers and we came across a research paper “Applying Machine Learning Techniques to Improve Process Scheduling"[LINK]  which grabbed our attention and we went through the paper and surfed a few more research papers related to it.

Coming to the project idea, the idea is to improve process scheduling using machine learning techniques that will help the scheduler to categorize the processes more wisely and allocate the time_slices or priority accordingly (which will depend on the scheduler),

The following will be the tentative workflow of the project :

  1. Study the scheduler and the way it handles different processes.
  2. Categorizing processes into different types that should be handled differently
  3. Finding out suitable program attributes that are most significant for the prediction and characterization of the processes
  4. Finding the best model  and tuning if necessary that helps to the characterization of the processes
  5. Creating the dataset and test benches to train and test the model during implementation.
  6. Implementing the model into the kernel.

The integrated model will replace the role of the scheduler as the decision-maker and the new scheduler will be allocating resources according to the data provided by the model.


So, at last, the idea of the project is to improve process scheduling in an operating system. All the papers we have gone through dealt with LINUX kernels having priority scheduler and new CFS scheduler. 


During the process, we might come across several bugs in the existing scheduler, which can be rectified improving the present scheduler in the initial phase of the project itself.

It would take a great effort in coming up with our own approach, as we are at our beginner levels of understanding of these advanced concepts, we want to take help from several other developers too. I hope NetBSD will like this project and this project will be a major contribution to the BSD. 


We will be overwhelmed to get support and guidance for the project. The idea is open to suggestions.

Regards,
Manikishan



Home | Main Index | Thread Index | Old Index