Process scheduler employing adaptive partitioning of process threads
First Claim
1. A system comprising:
- a processor;
one or more memory storage units;
instructions stored in the one or more memory storage units, where the instructions are executable by the processor to configure the system to;
create a plurality of adaptive partitions each having an associated guaranteed processor time budget;
create a plurality of process threads each having a priority;
dynamically associating each of the plurality of process threads with any one of the plurality of adaptive partitions; and
implement a process scheduler to;
when the system is under a normal load, allocate the processor to a process thread, of the plurality of process threads, that is in a ready state and having a highest priority amongst process threads, of the plurality of process threads, that are in the ready state; and
when the system is in overload, allocate the processor to a process thread, of the plurality of process threads, that is in the ready state, having a highest priority amongst process threads, of the plurality of process threads, that are in the ready state and for which the adaptive partition that the process thread is associated with has available guaranteed processor time budget;
where a portion of the guaranteed processor time budget associated with each adaptive partition is billed whenever the processor is allocated to a process thread associated with the adaptive partition.
11 Assignments
0 Petitions
Accused Products
Abstract
A system includes a processor and memory storage units storing software code. The software code comprises code for a scheduling system and for generating a plurality of adaptive partitions that are each associated with one or more process threads and that each have a corresponding processor budget. The code also is executable to, when the system is under a normal load, allocate the processor to one of the threads that is in a ready state and has the highest priority among the process threads that are in a ready state. The code is also executable to, when the system is in overload, allocate the processor to one of the process threads that is in a ready state and has the highest priority among the process threads that are in a ready state and for which the adaptive partition that the process thread is associated with has available guaranteed processor budget.
-
Citations
13 Claims
-
1. A system comprising:
-
a processor; one or more memory storage units; instructions stored in the one or more memory storage units, where the instructions are executable by the processor to configure the system to; create a plurality of adaptive partitions each having an associated guaranteed processor time budget; create a plurality of process threads each having a priority; dynamically associating each of the plurality of process threads with any one of the plurality of adaptive partitions; and implement a process scheduler to; when the system is under a normal load, allocate the processor to a process thread, of the plurality of process threads, that is in a ready state and having a highest priority amongst process threads, of the plurality of process threads, that are in the ready state; and when the system is in overload, allocate the processor to a process thread, of the plurality of process threads, that is in the ready state, having a highest priority amongst process threads, of the plurality of process threads, that are in the ready state and for which the adaptive partition that the process thread is associated with has available guaranteed processor time budget; where a portion of the guaranteed processor time budget associated with each adaptive partition is billed whenever the processor is allocated to a process thread associated with the adaptive partition. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of scheduling a plurality of process threads, each having a priority and each dynamically associable with an adaptive partition, for execution by a processor of a system, the method comprising:
-
creating a plurality of adaptive partitions each having an associated guaranteed processor time budget; associating one or more process threads from the plurality of process threads with 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 in a ready state and having a highest priority amongst process threads, of the plurality of process threads, that are in the ready state; and when the processor is in overload, allocating the processor to a process thread, of the plurality of process threads, that is in the ready state, having a highest priority amongst process threads, of the plurality of process threads, that are in the ready state and for which the adaptive partition that the process thread is associated with has available guaranteed processor time budget; where a portion of the guaranteed processor time budget associated with each adaptive partition is billed whenever the processor is allocated to a process thread associated with the adaptive partition, where the guaranteed processor time budget associated with each of the plurality of adaptive partitions is dynamic and can be reallocated while the system executes. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification