Proactive application workload management
First Claim
1. In a computing system environment, a method for allocating computing resources, comprising:
- before an application requires use of a pool of computing resources to service a workload, allocating at least a portion of the computing resources to the application according to a resource usage profile for the workload;
determining an amount of the computing resources used by the application in servicing the workload; and
updating the resource usage profile for the workload according to the determined amount of the computing resources used by the application to service the workload.
13 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for continuous optimization of allocation of computing resources for a horizontally scalable application which has a cyclical load pattern wherein each cycle may be subdivided into a number of time slots. A computing resource allocation application pre-allocates computing resources at the beginning of a time slot based on a predicted computing resource consumption during that slot. During the servicing of the workload, a measuring application measures actual consumption of computing resources. On completion of servicing, the measuring application updates the predicted computing resource consumption profile, allowing optimal allocation of resources. Un-needed computing resources may be released, or may be marked as releasable, for use upon request by other applications, including applications having the same or lower priority than the original application. Methods, computer systems, and computer programs available as a download or on a computer-readable medium for installation according to the invention are provided.
-
Citations
28 Claims
-
1. In a computing system environment, a method for allocating computing resources, comprising:
-
before an application requires use of a pool of computing resources to service a workload, allocating at least a portion of the computing resources to the application according to a resource usage profile for the workload; determining an amount of the computing resources used by the application in servicing the workload; and updating the resource usage profile for the workload according to the determined amount of the computing resources used by the application to service the workload. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computing system environment, a method for continuous optimization of allocation of computing resources, comprising:
-
providing a plurality of servers hosting a pool of computing resources defined by virtual machines and a database comprising a predicted computing resource consumption profile for an application configured for servicing a workload during one or more time slots; providing a computing resource allocation application; providing a measuring application which measures actual consumption of computing resources required to service the workload; prior to initiation of a time slot, causing the computing resource allocation application to pre-allocate computing resources to the application according to the predicted computing resource consumption profile for the workload during the time slot; measuring actual consumption of computing resources during the servicing of the workload; and updating the predicted computing resource consumption profile database according to the measured actual consumption of computing resources required by the application. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computing system for continuously optimizing the allocation of computing resources, comprising:
-
a plurality of servers hosting a pool of computing resources defined by virtual machines and a database comprising a predicted computing resource consumption profile for an application configured for servicing a workload during one or more time slots; a computing resource allocation application; and a measuring application which measures actual consumption of computing resources required service the workload; wherein the measuring application updates the predicted computing resource consumption profile database according to the measured actual consumption of computing resources by the application. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer program product available as a download or on a computer-readable medium for installation with a computing device of a user, said computer program product comprising:
-
a database component for storing a predicted computing resource consumption profile for a computing application configured for servicing a workload at one or more time slots; a computing resource allocation component which is configured to allocate computing resources, defined by virtual machines, from a pool of computing resources; and a measuring application component which is configured to measure actual consumption of computing resources during servicing of the workload; further wherein the measuring application component is configured to update the predicted computing resource consumption profile database component according to the measured actual consumption of computing resources by the application in servicing the workload. - View Dependent Claims (19, 20, 21)
-
-
22. A method for continuous optimization of allocation of computing resources, comprising:
-
providing a database comprising a predicted computing resource consumption profile for an application for servicing a workload at one or more time intervals; pre-allocating computing resources defined by virtual machines, according to the predicted computing resource consumption profile; measuring actual consumption of computing resources required to service the workload; and updating the predicted computing resource consumption profile database according to the measured actual consumption of computing resources by the application. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification