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