ACCELERATING RESOURCE ALLOCATION IN VIRTUALIZED ENVIRONMENTS USING WORKLOAD CLASSES AND/OR WORKLOAD SIGNATURES
First Claim
1. A resource management system usable in distributed computing environments wherein computing resources are allocated among a plurality of applications that would consume those computing resources and are allocated portions of those computing resources, the resource management system comprising:
- a monitor operable to receive client requests directed to an application;
a profiler operable to compute a workload signature for each workload of a clone of the application that results from the clone serving the client requests;
a clusterer operable to cluster workloads; and
a tuner operable to map each cluster to a resource allocation.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and apparatus for managing resources assigned to an application or service. A resource manager maintains a set of workload classes and classifies workloads using workload signatures. In specific embodiments, the resource manager minimizes or reduces resource management costs by identifying a relatively small set of workload classes during a learning phase, determining preferred resource allocations for each workload class, and then during a monitoring phase, classifying workloads and allocating resources based on the preferred resource allocation for the classified workload. In some embodiments, interference is accounted for by estimating and using an “interference index”.
285 Citations
20 Claims
-
1. A resource management system usable in distributed computing environments wherein computing resources are allocated among a plurality of applications that would consume those computing resources and are allocated portions of those computing resources, the resource management system comprising:
-
a monitor operable to receive client requests directed to an application; a profiler operable to compute a workload signature for each workload of a clone of the application that results from the clone serving the client requests; a clusterer operable to cluster workloads; and a tuner operable to map each cluster to a resource allocation. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A resource management system usable in distributed computing environments wherein computing resources are allocated among a plurality of applications that would consume those computing resources and are allocated portions of those computing resources, the resource management system comprising:
-
a monitor operable to receive client requests directed to an application; a profiler operable to compute a workload signature for a workload of a clone of the application that results from the clone serving the client requests; a classifier operable to classify the workload signature using previously defined workload classes; and a resource allocator operable to cause a number of resources to be allocated to the application defined by a resource allocation associated with a workload class that matches the workload signature. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method of modeling an application in a distributed computing environment wherein computing resources are allocated among a plurality of applications that would consume those computing resources and are allocated portions of those computing resources, the method comprising:
-
receiving client requests at a computing device; serving the client requests using an application at the computing device; computing workload signatures for the application; generating at least one workload class based on the workload signatures; and determining resource allocations for each workload class. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of allocating resources to an application in a distributed computing environment wherein computing resources are allocated among a plurality of applications that would consume those computing resources and are allocated portions of those computing resources, the method, comprising:
-
receiving a client request at a computing device; serving the client request using the application at the computing device; computing a workload signature for the application; comparing the workload signature to at least one workload class associated with the application; and causing resources to be allocated to the application based on the comparison. - View Dependent Claims (17, 18, 19, 20)
-
Specification