processes

Aaron J. Seigo aseigo at kde.org
Sat Aug 9 11:25:26 UTC 2014


On Saturday, August 9, 2014 00.44:54 you wrote:
> About scheduling, you wrote that it will be run-time configurable. Does it
> mean there's only one scheduler implementation that can be tweaked ? Or
> will there be several (e.g. Network priority / IO Priority etc…) that one
> can switch dynamically ?

Those are really good questions and I really have not yet decided this firmly. 
I suspect that over the first few years of usage, the scheduler is one part of 
the system that will see significant modification; put another way: I don't 
expect to get it Perfec/Right the first time. With that expectation in mind, 
the scheduler really needs to be loosely coupled with the rest of the runtime 
so that it can be replaced without much pain. That brings the possibility of 
having different schedulers that one can choose between at runtime.

Some of the runtime configuration will probably happen in the supervision 
definition: being able to mark certain processes as having more priority (or 
less), ... I've also been toying with the idea of whether or not it would be 
useful to mark processes as being I/O or CPU bound, but it is too early to 
really say. A first scheduler implementation is needed from which 
experimentation can commence.

Initially I plan to implement a "completely fair" type scheduler with the goal 
of getting the multi-threaded aspect of the scheduler done right. That is 
something that any scheduler will need to be able to scale across multi-core 
systems, so it seems like a good place to start.

.. and yes, I think it is likely that different scheduler threads will end up 
supporting different scheduler strategies. This could (e.g.) allow processes 
that are driving a user interface to remain responsive (in their own scheduler 
thread, perhaps) while CPU-bound processes churn away in another scheduler.

There are a lot of possibilities here to really get the most from the design 
concept. I expect that in turn means "more than one scheduler strategy".
	
-- 
Aaron J. Seigo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://kde.org/pipermail/funq-devel/attachments/20140809/1fb0d659/attachment.sig>


More information about the Funq-devel mailing list