Adaptive partition scheduler
Adaptive partition schedulers are a relatively new type of partition scheduler, which in turn is a kind of scheduling algorithm, 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 partition (group of threads and/or processes making up a subsystem). The operating system's 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 [http://www.ghs.com/products/safety_critical/arinc653.html ARINC-653] {{Webarchive|url=https://web.archive.org/web/20081228111540/http://www.ghs.com/products/safety_critical/arinc653.html |date=2008-12-28 }}, but without impacting the hard real-time subsystems' deadlines.
QNX Neutrino 6.3.2 and newer versions have this feature.
External links
- [http://community.qnx.com/sf/wiki/do/viewPage/projects.core_os/wiki/Adaptive_Partitioning_Scheduler Adaptive Partitioning Scheduler] page at QNX.com
- [http://www.kalinskyassociates.com/Wpaper3.html "A Survey of Task Schedulers"] {{Webarchive|url=https://web.archive.org/web/20190628055301/http://www.kalinskyassociates.com/Wpaper3.html |date=2019-06-28 }} for an overview of schedulers, including partition schedulers.
Category:Processor scheduling algorithms
{{unix-stub}}