|
Adaptive Partition Scheduler
Adaptive Partition Schedulers are a relatively new type of partition
scheduler, pioneered with the most recent version of the QNX operating
system. Adaptive Partitioning (or AP) allows the real-time system designer
to request that a percentage of processing resources be reserved for a
particular subsystem (group of threads and/or processes). The operating
systems priority driven pre-emptive scheduler will behave in the same way
that a non-AP system would until the system is overloaded (i.e.
system-wide there is more computation to perform, than the processor is
capable of sustaining over the long term). During overload, the AP
scheduler enforces hard limits on total run-time for the subsystems within
a partition (as dictated by the allocated percentage of processor
bandwidth for the particular partition). If the system is not overloaded,
a partition that is allocated (for example) 10% of the processor
bandwidth, can, in fact, use more than 10%, as it will borrow from the
spare budget of other partitions (but will be required to pay it back
later). This is very useful for the non real-time subsystems that
experience variable load, since these subsystems can make use of spare
budget from hard real-time partitions in order to make more forward
progress than they would in a Fixed Partition Scheduler such as ARINC-653,
but without impacting the hard real-time subsystems deadlines.
|