Adaptive partitioning for operating system
First Claim
Patent Images
1. A system comprising:
- a processor;
one or more memory storage units;
software code stored in the one or more memory storage units, where the software code is executable by the processor and comprises;
a plurality of adaptive partitions each having a respective guaranteed processor time budget and one or more process threads;
a plurality of process threads each having a priority and each belonging to any one of the plurality of adaptive partitions; and
a process scheduler executable by the processor configured to;
when the system is under a normal load, allocate the processor to a process thread, of the plurality of process threads, that is ready for execution and having the highest priority amongst process threads, of the plurality of process threads, that are ready for execution; and
when the system is in overload, allocate the processor to a process thread, of the plurality of process threads, that is ready for execution, having the highest priority amongst process threads, of the plurality of process threads, that are ready for execution and for which the adaptive partition having the process thread has an available guaranteed processor time budget.
10 Assignments
0 Petitions
Accused Products
Abstract
An adaptive partition scheduler is a priority-based scheduler that also provides execution time guarantees (fair-share). Execution time guarantees apply to threads or groups of threads when the system is overloaded. When the system is not overloaded, threads are scheduled based strictly on priority, maintaining strict real-time behavior. When the system is overloaded, threads are scheduled based priority of threads that are in a ready state and based on the available guaranteed processor time budget of the adaptive partition associated with each thread.
-
Citations
14 Claims
-
1. A system comprising:
-
a processor; one or more memory storage units; software code stored in the one or more memory storage units, where the software code is executable by the processor and comprises; a plurality of adaptive partitions each having a respective guaranteed processor time budget and one or more process threads; a plurality of process threads each having a priority and each belonging to any one of the plurality of adaptive partitions; and a process scheduler executable by the processor configured to; when the system is under a normal load, allocate the processor to a process thread, of the plurality of process threads, that is ready for execution and having the highest priority amongst process threads, of the plurality of process threads, that are ready for execution; and when the system is in overload, allocate the processor to a process thread, of the plurality of process threads, that is ready for execution, having the highest priority amongst process threads, of the plurality of process threads, that are ready for execution and for which the adaptive partition having the process thread has an available guaranteed processor time budget. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of scheduling a plurality of process threads, each having a priority, for execution by a processor of a system, the method comprising:
-
creating a plurality of adaptive partitions each having a respective guaranteed processor time budget; assigning one or more process threads from the plurality of process threads to each of the plurality of adaptive partitions; when the processor is under a normal load, allocating the processor to a process thread, of the plurality of process threads, that is ready for execution and having the highest priority amongst process threads, of the plurality of process threads, that are ready for execution; and when the processor is in overload, allocating the processor to a process thread, of the plurality of process threads, that is ready for execution, having the highest priority amongst process threads, of the plurality of process threads, that are ready for execution state and for which the adaptive partition having the process thread has an available guaranteed processor time budget. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification