Proportional share scheduler

Matthew Dillon dillon at apollo.backplane.com
Tue Jul 1 23:14:13 PDT 2008


:Hi all,
:          I have implemented a O(1) proportional share userland scheduler, it is based on Virtual-Time Round Robin (VTRR)Algorithm. I modified the implementation to make it O(1) for SMP. Some of the important points related to the implementation are as follows:
:
:1. Instead of single run queue in case of current scheduler, i have separate run queues per processor.  
:...
:1. How do you guys test performance of the current scheduler, are there any standard benchmarks that i should run to give a fair comparison of the two schedulers.
:2. I have to design Command Line interface for this scheduler so that you can specify the share at the time of executing the command. I need some suggestions on this. If you can tell some of the possible commands that you would like to have, that would be helpful. for example
:
:     "pshare -s 20 top" : this command will assign 20% cpu to top.
:
:    Currently using the nice command does affect the share of the process.
:3. Any general suggestions that will make this scheduler good enough to be a part of code base would be really helpful.
:
:    Looking forward to your replies.
:
:Thanks
:Mayur

    This sounds pretty cool.  I didn't see any references to the code,
    could you make it available?  

    From your description I take it you just used the pluggable scheduler
    API which means we should be able to commit it without worrying too
    much about any potential destabilization of the system.  That will
    expose it to a wider group of people for testing.

    Performance is always in the eye of the beholder when it comes to
    schedulers.  More important is seeing how well it scales when there
    are many threads running in the system, and how well unrelated
    interactive performance fares in the face of many threads running in
    the system.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Kernel mailing list