Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
First Claim
1. An automated method for allocating resources among a plurality of resource-using computational entities in a data processing system, the method comprising:
- establishing a service-level utility for each of said plurality of resource-using computational entities; and
transforming said service-level utility into a resource-level utility for each of said plurality of resource-using computational entities,wherein the resource-level utility is representative of an amount of business value obtained by each of said plurality of resource-using computational entities when a quantity of said resources is allocated to the each of said plurality of resource-using computational entities,wherein the resource-level utility indicates, for at least one of said plurality of resource-using computational entities, an estimated cumulative discounted or undiscounted future utility starting from current state descriptions of said at least one of said plurality of resource-using computational entities,wherein the estimated cumulative discounted or undiscounted future utility is trained on a temporal sequence of observed data using an adaptive machine learning procedure,wherein the machine learning procedure is a reinforcement learning procedure,and wherein the reinforcement learning procedure is Q-Learning, Temporal Difference Learning, R-Learning or SARSA.
0 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, the present invention is a method for allocation of finite computational resources amongst multiple entities, wherein the method is structured to optimize the business value of an enterprise providing computational services. One embodiment of the inventive method involves establishing, for each entity, a service level utility indicative of how much business value is obtained for a given level of computational system performance. The service-level utility for each entity is transformed into a corresponding resource-level utility indicative of how much business value may be obtained for a given set or amount of resources allocated to the entity. The resource-level utilities for each entity are aggregated, and new resource allocations are determined and executed based upon the resource-level utility information. The invention is thereby capable of making rapid allocation decisions, according to time-varying need or value of the resources by each of the entities.
14 Citations
23 Claims
-
1. An automated method for allocating resources among a plurality of resource-using computational entities in a data processing system, the method comprising:
-
establishing a service-level utility for each of said plurality of resource-using computational entities; and transforming said service-level utility into a resource-level utility for each of said plurality of resource-using computational entities, wherein the resource-level utility is representative of an amount of business value obtained by each of said plurality of resource-using computational entities when a quantity of said resources is allocated to the each of said plurality of resource-using computational entities, wherein the resource-level utility indicates, for at least one of said plurality of resource-using computational entities, an estimated cumulative discounted or undiscounted future utility starting from current state descriptions of said at least one of said plurality of resource-using computational entities, wherein the estimated cumulative discounted or undiscounted future utility is trained on a temporal sequence of observed data using an adaptive machine learning procedure, wherein the machine learning procedure is a reinforcement learning procedure, and wherein the reinforcement learning procedure is Q-Learning, Temporal Difference Learning, R-Learning or SARSA. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium containing an executable program for allocating resources among a plurality of resource-using computational entities in a data processing system, where the program performs steps of:
-
establishing a service-level utility for each of said plurality of resource-using computational entities; and transforming said service-level utility into a resource-level utility for each of said plurality of resource-using computational entities, wherein the resource-level utility is representative of an amount of business value obtained by each of said plurality of resource-using computational entities when a quantity of said resources is allocated to the each of said plurality of resource-using computational entities, wherein the resource-level utility indicates, for at least one of said plurality of resource-using computational entities, an estimated cumulative discounted or undiscounted future utility starting from current state descriptions of said at least one of said plurality of resource-using computational entities, wherein the estimated cumulative discounted or undiscounted future utility is trained on a temporal sequence of observed data using an adaptive machine learning procedure, wherein the machine learning procedure is a reinforcement learning procedure, and wherein the reinforcement learning procedure is Q-Learning, Temporal Difference Learning, R-Learning or SARSA. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A data processing system, comprising:
-
a plurality of processors adapted for processing client demands; a plurality of resources adapted for allocation to said plurality of processors; and at least one resource arbiter adapted for allocating said plurality of resources among said plurality of processors in a manner that optimizes a business value of the data processing system, wherein said at least one resource arbiter performs operations comprising; establishing a service-level utility for each of said plurality of processors; and transforming said service-level utility into a resource-level utility for each of said plurality of processors, wherein the resource-level utility is representative of an amount of business value obtained by each of said plurality of processors when a quantity of said plurality of resources is allocated to the each of said plurality of processors, wherein the resource-level utility indicates, for at least one of said plurality of processors, an estimated cumulative discounted or undiscounted future utility starting from current state descriptions of said at least one of said plurality of processors, wherein the estimated cumulative discounted or undiscounted future utility is trained on a temporal sequence of observed data using an adaptive machine learning procedure, wherein the machine learning procedure is a reinforcement learning procedure, and wherein the reinforcement learning procedure is Q-Learninq, Temporal Difference Learning, R-Learninq or SARSA. - View Dependent Claims (20, 21, 22, 23)
-
Specification