[coyotos-dev] Scheduling, Intervals, and Time of Day

Jonathan S. Shapiro shap at eros-os.com
Fri Feb 16 07:59:30 CST 2007


On Fri, 2007-02-16 at 00:04 +0100, Pierre THIERRY wrote:
> Yes. I was about to propose that we could continue to discuss userland
> issues on our side, but I suspect that some of them will have strong
> dependencies on how kernels issues will be solved, so let's wait for a
> clear proposal about kernel sleep capability and build on that.

If you guys have experience with real-time stuff, trying to help
identify a scheduler for us would be helpful.

My thoughts on scheduling at the kernel level are pretty simple:

  1. I believe (without experience) that the kernel level scheduler
     should be table driven.

  2. It appears to me (without experience) that the traditional
     ``this process needs a real-time slice'' approach won't work
     well in component systems. One needs to be able to build
     end to end schedules where a group of processes collectively
     use a schedule slot.

     This introduces the possibility that (through error or intent)
     more than one of these processes might be ready simultaneously.

     Therefore I think that every real time slice needs to run a minor
     scheduler to select among its candidates -- perhaps round robin --
     where the usual expectation is that only one candidate is runnable.

If these assumptions hold up, then the questions of interest are:

 1. What algorithm should the admission control agent use to build the
    scheduling table?

 2. Based on this, what is the API to the scheduling admission agent?

 3. What do we *need* in terms of feedback (concrete cases only, not
    wish lists).

 4. Who controls feedback, the application or the user (I prefer
    "user")?

shap
    
-- 
Jonathan S. Shapiro, Ph.D.
Managing Director
The EROS Group, LLC
+1 443 927 1719 x5100



More information about the coyotos-dev mailing list