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 :
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.