[okl4-developer] How to garanty CPU isolation between cells ?

Gabriel Parmer gabep1 at cs.bu.edu
Fri Dec 12 06:05:25 EST 2008


This discussion is interesting as it points out that there is really no 
grand unified scheduling policy.  Different systems and different tasks 
might require (or best work with) different scheduling policies.  Fixed 
priorities are simple and many systems can get by with them.  RBED (and 
other EDF variants) allow for a more dynamic system perhaps fitting less 
formally specified systems better.  Gernot indicated that soon OKL4 will 
support pluggable scheduling policies (which are still, I assume, 
in-kernel).

Has there been consideration in OKL4 of support support user-level 
schedulers?  L4's guiding principle is that if it doesn't need to be in 
the kernel for performance reasons (esp. WRT IPC performance), then it 
should be at user-level.  Recently Jan Stoess provided some notion of 
user-level scheduling to pistacio 
(portal.acm.org/citation.cfm?id=1278910).  It still seems to have some 
rough edges, but seems reasonable.

Additionally, in the Composite component-based OS, we have shown that you 
can, with reasonable performance, remove all scheduling policies from the 
kernel yet still retain accurate thread execution accountability, and full 
temporal control over tasks and execution resulting from interrupts. This 
could be used to implement RBED, fixed priority, or reflexive scheduling 
at user-level in components.  If interested, see:  "Predictable Interrupt 
Management and Scheduling in the Composite Component-based System" @

http://cs-people.bu.edu/gabep1/homepage/publications/parmer_west_rtss08.pdf

-Gabe

> Gernot Heiser wrote:
> >>>>>> On Wed, 10 Dec 2008 13:51:54 +0100, Hugues Balp <hugues.balp at free.fr> said:
> > HB> Robert Wetzel wrote:
> > 
> > Assignment of RT priorities is tricky, and your really need to
> > understand what you're doing (and there isn't really much helpful
> > theory). 
> 
> As even stones know by now, trying to schedule a non-trivial RT-system
> with priorities is a well-proven generator of cheap academic-papers ;-)
> 
> 
> > Which is a reason why we're trying to move away from priority-based
> > scheduling (see for example the work done at NICTA and UCSC on using
> > the RBED scheduler in L4).
> 
> RBED is a variation on EDF with improves on shortcomings of the vanilla
> EDF, taking in account the requirements of real-world systems.
> 
> A couple of years ago I worked on a different approach to real-time
> scheduling on L4, based on temporal reflection.
> 
> Although it is far from being ready-to-use, for a taste of the issues
> involved in scheduling real-time stuff, you can find a paper with design
> and implementation for L4, and experimental results from a non-trivial
> testbed, here:
> 
> http://www.ertos.nicta.com.au/publications/papers/Ruocco_RTSS_06.abstract?bib=local
> 
> If you have any feedback, I would be happy to hear it.
> 
> 
> > Unfortunately, most real-life RT systems are based on priorities,
> > so that's likely to remain the default setup for a while...
> > 
> > Gernot
> 
> An unfortunate legacy brought by general-purpose priority-based
> schedulers (and some academics infected by paperitis).
> 	
> 	Sergio
> 
> 



More information about the Developer mailing list