[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