[coyotos-dev] sleep capability
Sam Mason
sam at samason.me.uk
Tue Jan 23 10:32:23 CST 2007
On Tue, Jan 23, 2007 at 11:02:37AM -0500, Jonathan S. Shapiro wrote:
> On Tue, 2007-01-23 at 10:53 -0500, Eric Northup wrote:
> > Jonathan S. Shapiro wrote:
> > [...]
> > > Given (2), the only real solution is a deterministic scheduler. The
> > > problem with this is that real users will not accept a 90%+ reduction in
> > > effective computer speed.
> >
> > Could you explain where this performance reduction comes from? I agree
> > that forcing computation to be deterministic will slow it down, but I
> > didn't think it needed to be by that magnitude.
>
> The 90% figure is made up, but here is the intuition.
>
> You have some multithreaded thing that needs to run under a
> deterministic schedule. You have a multiprocessor. Several of your
> threads are eligible to run at any given time. Because of the
> determinism, the scheduler cannot permit them to use a second CPU, and
> cannot even permit them to use each other's slack time on the main CPU.
I'm not entirly sure if I know what a deterministic scheduler is, but
I'll pipe up anyway!
Wouldn't there also be a hard limit on the number of kernel threads as
well? As an example, if you give out 1ms slots then you're only going
to get up to 1000 threads in the system at any one time. It doesn't
matter if they are all idle at one time, the fact is you can't have more
than 1000 (minus a bit for the kernel).
Sam
More information about the coyotos-dev
mailing list