DYNAMIC ALLOCATION OF RESOURCES WHILE CONSIDERING RESOURCE RESERVATIONS
First Claim
Patent Images
1. A method comprising:
- receiving, at a computing device that has a fixed amount of rate-based computing resources, a indications of a plurality of tenants that are configured to request rate-based resources of a computing device, a tenant being logically isolated computer-executable code;
receiving, at the computing device, respective resource reservations for the plurality of tenants, the resource reservations being absolute and cumulatively greater than the fixed amount of computing resources of the computing device, a resource reservation of the respective resource reservations defining an amount of rate-based computing resources that is to be accessible to a tenant associated with the resource reservation when the tenant requests rate-based computing resources;
receiving requests for rate-based computing resources of the computing device from tenants in the plurality of tenants; and
dynamically allocating rate-based computing resources to the tenants based upon the requests and the respective resource reservations for the plurality of tenants.
3 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.
82 Citations
20 Claims
-
1. A method comprising:
-
receiving, at a computing device that has a fixed amount of rate-based computing resources, a indications of a plurality of tenants that are configured to request rate-based resources of a computing device, a tenant being logically isolated computer-executable code; receiving, at the computing device, respective resource reservations for the plurality of tenants, the resource reservations being absolute and cumulatively greater than the fixed amount of computing resources of the computing device, a resource reservation of the respective resource reservations defining an amount of rate-based computing resources that is to be accessible to a tenant associated with the resource reservation when the tenant requests rate-based computing resources; receiving requests for rate-based computing resources of the computing device from tenants in the plurality of tenants; and dynamically allocating rate-based computing resources to the tenants based upon the requests and the respective resource reservations for the plurality of tenants. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A server computing device, comprising:
-
a processor core; and a memory that comprises a scheduler component that is executed by the processor core, the scheduler component comprises; a queue manager component that maintains tasks that are executable by the processor core, the tasks respectively generated by tenants of the server computing device, the tenants having respective resource reservations for rate-based computing resources of the server computing device; and a task selector component that selects a task from the tasks to be executed by the processor core based upon the respective resource reservations of the tenants, the processor core executes the task responsive to the task selector component selecting the task. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable 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; computing respective resource utilizations of the plurality of tenants over respective metering intervals for the plurality of tenants, the metering intervals being respective time periods over which the respective resource utilizations of the plurality of tenants are computed; computing respective fractional deficits for the plurality of tenants based upon the respective resource utilizations and the respective resource reservations; selecting a task from the plurality of tasks based upon the respective fractional deficits; and responsive to the task being selected, executing the task.
-
Specification