Adaptive partition scheduler
Adaptive Partition Schedulers are a relatively new type of partition scheduler, perfected with the most recent version of the QNX operating system. Adaptive Partitioning, or AP, allows the real-time system designer to request that a certain percentage of processing resources be reserved for a particular partition(here a group of threads or processes make up a subsystem).
Basically It's a fair-share thread scheduler which guarantees groups of a user-specified percentage of cpu time when the system is overloaded. When the system is sufficently underloaded, it chooses to schedule threads based strictly on priority and therefore maintians realtime behavior. Even when overloaded it provides realtime latencies to an engineerable set of critical threads. Under normal conditions, the operating system's priority driven pre-emptive scheduler will behave in the same way that a non-AP system. A system is overloaded when there is more computation to perform than the processor is capable of sustaining over the long term.Under these conditions, 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.
There is also scope for a borrowing-returning type of operation. If the system is not overloaded, a partition that is allocated a certain percentage of the processor bandwidth, can, in fact, use more than this fixed percentage as it will borrow from the spare budget of other partitions which it will be required to pay back later. This is 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 do more task than they would in a Fixed Partition Scheduler. The operating system QNX 6.3 has adaptive partition scheduling feature in it.
Advantages of Adaptive partition Scheduling
1)provide CPU time guarantees when the system is heavily loaded â€ this ensures that all partitions receive their fair budget of CPU time.
2)make use of free CPU time from partitions that arenâ„¢t completely busy â€ this gives otherpartitions the extra processing time they need to handle peak demands and permits 100% processor utilization.
3)use realtime, priority-based scheduling when the system is lightly loaded â€ this allows systems to use the same scheduling behavior that they do today.
4)dynamically add and configure partitions at runtime, enabling the system to adjust processor consumption in response to fault conditions or other scenarios.
5)overlay the adaptive partitioning scheduler onto existing systems without code changes.
6)guarantee that recovery operations have the CPU cycles they need to repair system faults, thereby improving mean time to repair for high availability systems.
7)stop malicious code from stealing all the CPU time through a denial of service attack
adaptive partitioning can provide partition inheritance.When a server
process executes requests on behalf of a client application,
the client is billed for the serverâ„¢s time.server processes can thus run with minimal CPU budget only to perform the background tasks. And the systems designers don't have to redesign the server budget when more clients are added.
-Faster debugging and testing: Adaptive partitioning offers benefits throughout the product development cycle to speed design, implementation, and testing.
-Increased system availability: When a hardware or software subsystem fails in a high availability system, automated recovery functions
must return the system to a proper operating state. The faster these functions execute, the lower the mean time to repair and the greater the overall system availability. Adaptive partitioning helps by ensuring that CPU time is available for the fault detection and recovery functions.
-Minimum risk: Adaptive partitioning doesnâ„¢t require code changes, nor does it change the programming model or debugging techniques that designers are already familiar with thus reducing the associated risk factor.
More information on this pdf:
we also have this powerpoint presentation for you:
I want details that enough for seminars presentation