User talk:Billhuey

From RTwiki
(Difference between revisions)
Jump to: navigation, search
(Grand Unified Scheduler Project)
(Grand Unified Scheduler Project)
Line 9: Line 9:
 
BE = best effort<br>
 
BE = best effort<br>
  
# How does a static priority system like Linux express itself in terms of an EDF scheduler ? How do things like hardness in a SCHED_FIFO task map to in EDF ? How does SCHED_RR map onto EDF ? For a special burt case of use case of SCHED_FIFO, there can be lagging or differing. This isn't considered a failure for this use the policy.
+
# How does a static priority system like Linux express itself in terms of an EDF scheduler ? This potentially complicated because of non-standard real time uses of real time policies. How do things like hardness in a SCHED_FIFO task map to in EDF ? How does SCHED_RR map onto EDF ? For a special burt case of use case of SCHED_FIFO, there can be lagging or differing. This isn't considered a failure for this use the policy.
 
# Is M-CASH, EDF-HSB etc... flexible enough as an abstract container or common factor mathematically or algorithmically so that all three stock scheduler policies, SCHED_FIFO, SCHED_RR and SCHED_OTHER (CFS) can be constructed in terms of that algorithm ?
 
# Is M-CASH, EDF-HSB etc... flexible enough as an abstract container or common factor mathematically or algorithmically so that all three stock scheduler policies, SCHED_FIFO, SCHED_RR and SCHED_OTHER (CFS) can be constructed in terms of that algorithm ?
 
# How would a practical EDF system look like with overload code ? Have EDF be largely run queue localized with manual assignments and with crude not-so-rigorous aperiodic overload handling (below) ?
 
# How would a practical EDF system look like with overload code ? Have EDF be largely run queue localized with manual assignments and with crude not-so-rigorous aperiodic overload handling (below) ?
 
# If these algorithms overlook the problem of aperiodic overloads, then what kind of overload handling can we do ? apply what we have already with the current rt-overload logic where we scan run queues across the system (or possibly with a specific CPU set) to migrate a task to another CPU that isn't running a real time task (SCHED_FIFO/RR) ? What about the use of a cheaply precomputed slack span that can be quickly read during a cross processor run queue scan to find a suitable BE slot span to handle an overload migration ? Let's call this EDF overload (rebalancing).
 
# If these algorithms overlook the problem of aperiodic overloads, then what kind of overload handling can we do ? apply what we have already with the current rt-overload logic where we scan run queues across the system (or possibly with a specific CPU set) to migrate a task to another CPU that isn't running a real time task (SCHED_FIFO/RR) ? What about the use of a cheaply precomputed slack span that can be quickly read during a cross processor run queue scan to find a suitable BE slot span to handle an overload migration ? Let's call this EDF overload (rebalancing).
 
# How cheap is it to compute or pre-compute a span of slack slots for BE threads like irq-threads ?
 
# How cheap is it to compute or pre-compute a span of slack slots for BE threads like irq-threads ?

Revision as of 09:04, 27 March 2008

Grand Unified Scheduler Project

Questions I'm pondering:

EDF = earliest deadline first

HRT = hard real time
SRT = soft real time
BE = best effort

  1. How does a static priority system like Linux express itself in terms of an EDF scheduler ? This potentially complicated because of non-standard real time uses of real time policies. How do things like hardness in a SCHED_FIFO task map to in EDF ? How does SCHED_RR map onto EDF ? For a special burt case of use case of SCHED_FIFO, there can be lagging or differing. This isn't considered a failure for this use the policy.
  2. Is M-CASH, EDF-HSB etc... flexible enough as an abstract container or common factor mathematically or algorithmically so that all three stock scheduler policies, SCHED_FIFO, SCHED_RR and SCHED_OTHER (CFS) can be constructed in terms of that algorithm ?
  3. How would a practical EDF system look like with overload code ? Have EDF be largely run queue localized with manual assignments and with crude not-so-rigorous aperiodic overload handling (below) ?
  4. If these algorithms overlook the problem of aperiodic overloads, then what kind of overload handling can we do ? apply what we have already with the current rt-overload logic where we scan run queues across the system (or possibly with a specific CPU set) to migrate a task to another CPU that isn't running a real time task (SCHED_FIFO/RR) ? What about the use of a cheaply precomputed slack span that can be quickly read during a cross processor run queue scan to find a suitable BE slot span to handle an overload migration ? Let's call this EDF overload (rebalancing).
  5. How cheap is it to compute or pre-compute a span of slack slots for BE threads like irq-threads ?
Personal tools