Distributed Process Scheduling Algorithm

Nitin Varyani varyani.nitin1 at gmail.com
Wed Feb 17 05:35:17 EST 2016


Having got some clarity of what I have to do, I want to now proceed
for a step by step development. What all I know about linux kernels is
a theoretical understanding of its various components (from the book
of Robert Love) but as far as practical is concerned, I know the
following things:
1) Linking modules dynamically to kernel at run time ( outside source
tree and inside source tree)
2) Adding system calls

Rather than trying to go blind folded in getting practical experience
of linux programming, I want to gain experience only in relation to my
task of creating a distributed process scheduler. What all things
should I try to work with to understand the kernel CFS scheduler well?
Please provide sufficient literature for the practical work.
Also what is the best place to learn about implementing linux containers?


On Wed, Feb 17, 2016 at 11:40 AM,  <Valdis.Kletnieks at vt.edu> wrote:
> On Wed, 17 Feb 2016 10:21:35 +0530, Nitin Varyani said:
>
>> Actually it is a master's thesis research project as of now. I am ready to
>> boil down to the most basic implementation of distributed linux kernel.
>> Assume there is no network connection and no open files. We can drop even
>> more assumptions if it becomes complicated. Once this basic implementation
>> is successful, we can go ahead with a more complicated version. The next
>> task is to integrate the migration code in the linux kernel. What is the
>> most easy way of implementing it.
>
> If you get it to where you can migrate a process on command controlled by
> a userspace process, the scheduler part will be trivial.
>
> And note that the choice of which process to migrate where is sufficiently
> "policy" that it belongs in userspace - see how cgroups and containers are
> kernel mechanisms that are controlled by userspace.  You want to follow that
> model if you intend for this to be upstreamed rather than just another dead
> master's thesis.



More information about the Kernelnewbies mailing list