Dynamic allocation of resources while considering resource reservations
First Claim
Patent Images
1. A server computing device, comprising:
- at least one processor core; and
memory that has a scheduler component loaded therein, wherein the scheduler component, when executed by the at least one processor core, is configured to;
maintain tasks that are executable by the server computing device, the tasks generated by tenants of the server computing device, the tenants having resource reservations for rate-based computing resources of the server computing device, wherein the rate-based computing resources are expressed as percentages of computing resources over defined time intervals; and
select a task from the tasks to be executed by the server computing device based upon the resource reservations of the tenants, the at least one processor core executes the task responsive to the task being selected by the scheduler component.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein are technologies relating to computing resource allocation among multiple tenants. Each tenant may have a respective absolute reservation for rate-based computing resources, which is independent of computing resource reservations of other tenants. The multiple tenants vie for the rate-based computing resources, and tasks are scheduled based upon which tenants submit the tasks and the resource reservations of such tenants.
-
Citations
20 Claims
-
1. A server computing device, comprising:
-
at least one processor core; and memory that has a scheduler component loaded therein, wherein the scheduler component, when executed by the at least one processor core, is configured to; maintain tasks that are executable by the server computing device, the tasks generated by tenants of the server computing device, the tenants having resource reservations for rate-based computing resources of the server computing device, wherein the rate-based computing resources are expressed as percentages of computing resources over defined time intervals; and select a task from the tasks to be executed by the server computing device based upon the resource reservations of the tenants, the at least one processor core executes the task responsive to the task being selected by the scheduler component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method executed by at least one processor core of a server computing device, the method comprising:
-
accessing a queue of tasks that are to be executed by the at least one processor core of the server computing device, wherein the tasks are input into the queue by tenants of the server computing device, the tenants have resource reservations for rate-based computing resources of the server computing device, wherein the resource reservations are expressed as percentages of the computing resources over defined windows of time; selecting a task from the tasks to be executed by the at least one processor core, wherein the task is input to the queue by a tenant in the tenants, and further wherein the task is selected based upon the resource reservations of the tenants; and executing the task from the tasks responsive to selecting the task. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable hardware storage medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
-
receiving a plurality of tasks that are to be executed by a processor core, the plurality of tasks respectively correspond to a plurality of tenants, each tenant in the plurality of tenants being respective computer-executable code that generates tasks, the plurality of tenants have a respective plurality of resource reservations that include both static and elastic resource reservations, wherein the resource reservations are expressed as percentages of computing resources over defined periods of time; selecting a task from the plurality of tasks based upon the plurality of resource reservations of the plurality of tenants; and responsive to the task being selected, executing the task. - View Dependent Claims (20)
-
Specification