Scheduling threads based on priority utilizing entitlement vectors, weight and usage level
First Claim
Patent Images
1. An information handling apparatus comprising:
- at least one processor including at least;
one or more entitlement vectors configured to allocate one or more user-specified rights to one or more resources used by one or more threads, wherein the one or more entitlement vectors are respectively associated with the one or more threads;
one or more instruction pointers configured to indicate a respective one or more threads of the one or more threads for execution;
a scheduler configured to schedule the respective one or more threads for execution based at least partly on comparison of a resource entitlement as allocated by the one or more entitlement vectors, and configured to assign priority among the respective one or more threads; and
logic used by the scheduler to schedule one of the one or more threads, wherein the one or more of the entitlement vectors respectively associated with the respective one or more of the threads, one or more weights, and one or more resource usage levels are arguments used by the logic, and for a selected thread priorityi is determined at least partly by a comparison of weighti×
entitlement vectori entitlement to resource usage leveli over a plurality of cycles i.
7 Assignments
0 Petitions
Accused Products
Abstract
An embodiment or embodiments of an information handling apparatus can use an entitlement vector to simultaneously manage and activate entitlement of objects and processes to various resources independently from one another. An information handling apparatus can comprise an entitlement vector operable to specify resources used by at least one object of a plurality of object. The information handling apparatus can further comprise a scheduler operable to schedule a plurality of threads based at least partly on entitlement as specified by the entitlement vector.
147 Citations
24 Claims
-
1. An information handling apparatus comprising:
-
at least one processor including at least; one or more entitlement vectors configured to allocate one or more user-specified rights to one or more resources used by one or more threads, wherein the one or more entitlement vectors are respectively associated with the one or more threads; one or more instruction pointers configured to indicate a respective one or more threads of the one or more threads for execution; a scheduler configured to schedule the respective one or more threads for execution based at least partly on comparison of a resource entitlement as allocated by the one or more entitlement vectors, and configured to assign priority among the respective one or more threads; and logic used by the scheduler to schedule one of the one or more threads, wherein the one or more of the entitlement vectors respectively associated with the respective one or more of the threads, one or more weights, and one or more resource usage levels are arguments used by the logic, and for a selected thread priorityi is determined at least partly by a comparison of weighti×
entitlement vectori entitlement to resource usage leveli over a plurality of cycles i. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An information handling apparatus comprising:
-
at least one processor including at least; one or more entitlement vectors configured to allocate one or more user-specified rights to one or more resources used by one or more processes, wherein the one or more entitlement vectors are respectively associated with the one or more processes; one or more instruction pointers configured to indicate the one or more processes for execution; and logic configured to schedule the one or more processes for execution based at least partly on comparison of a resource entitlement as allocated by the one or more entitlement vectors, and configured to assign priority among the respective one or more processes, wherein the one or more entitlement vectors respectively associated with the one or more processes, one or more weights, and one or more resource usage levels are arguments used by the logic, and for a selected process priorityi is determined by a comparison of weighti×
entitlement vectori entitlement to resource usage leveli over a plurality of cycles i. - View Dependent Claims (17, 18)
-
-
19. An information handling apparatus comprising:
-
at least one processor including at least; one or more entitlement vectors configured to allocate one or more user-specified rights to one or more resources used by one or more processes, wherein the one or more entitlement vectors are respectively associated with the one or more processes; one or more instruction pointers configured to indicate the one or more processes for execution; and monitoring logic configured to monitor resource usage during execution of the one or more processes and indicate the resource usage in one or more usage vectors, the one or more usage vectors used in combination with the one or more entitlement vectors for scheduling the one or more processes for execution in the at least one processor based at least partly on comparison of a resource entitlement as allocated by the one or more entitlement vectors, and configured to assign priority among the respective one or more processes, wherein the respective one or more entitlement vectors respectively associated with the respective one or more processes, the one or more usage vectors, and one or more weights are arguments used for scheduling the one or more processes, and for a selected process priorityi is determined by a comparison of weighti×
entitlement vectori entitlement to resource usage leveli over a plurality of cycles i. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification