OPTIMIZING A PREDICTION OF RESOURCE USAGE OF MULTIPLE APPLICATIONS IN A VIRTUAL ENVIRONMENT
First Claim
1. A method for optimizing a prediction of resource usage of multiple applications running in a virtual environment, comprising:
- providing a predetermined set of benchmarks;
executing the predetermined set of benchmarks in a native hardware system in which the application natively resides;
executing the predetermined set of benchmarks in the virtual environment;
collecting first traces of first resource utilization metrics in the native hardware system based on the execution of the predetermined set of benchmarks in the native hardware system;
collecting second traces of second resource utilization metrics in the virtual environment based on the execution of the predetermined set of benchmarks in the virtual environment;
generating a first prediction model that maps a first selected set of the first traces of a selected one of the first resource utilization metrics to the second traces of resource utilization metrics;
generating a second prediction model that maps a second selected set of the first traces of the selected first resource utilization metric to the second traces of resource utilization metrics;
collecting first application traces of resource utilization metrics in the native hardware system based on an execution of a first application in the native hardware system;
collecting second application traces of resource utilization metrics in the native hardware system based on an execution of a second application in the native hardware system;
aggregating the first application traces of the first application and the second application traces of the second application into combined application traces of resource utilization metrics; and
predicting a combined resource usage of the first and second applications running in the virtual environment by applying the first and second prediction models to the combined application traces of resource utilization metrics.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein is a method for optimizing a prediction of resource usage of multiple applications running in a virtual environment, comprising: providing a predetermined set of benchmarks; executing the predetermined set of benchmarks in a native hardware system in which the application natively resides; executing the predetermined set of benchmarks in the virtual environment; collecting first traces of first resource utilization metrics in the native hardware system based on the execution of the predetermined set of benchmarks in the native hardware system; collecting second traces of second 10 resource utilization metrics in the virtual environment based on the execution of the predetermined set of benchmarks in the virtual environment; generating a first prediction model that maps a first selected set of the first traces of a selected one of the first resource utilization metrics to the second traces of resource utilization metrics; generating a second prediction model that maps a second different selected set of the first traces of the selected first resource utilization metric to the second traces of resource utilization metrics; collecting first application traces of resource utilization metrics in the native hardware system based on an execution of a first application in the native hardware system; collecting second application traces of resource utilization metrics in the native hardware system based on an execution of a second application in the native hardware system; aggregating the first application traces of the first application and the second application traces of the second application into combined application traces of resource utilization metrics; and predicting a combined resource usage of the first and second applications running in the virtual environment by applying the first and second prediction models to the combined application traces of resource utilization metrics.
-
Citations
15 Claims
-
1. A method for optimizing a prediction of resource usage of multiple applications running in a virtual environment, comprising:
-
providing a predetermined set of benchmarks; executing the predetermined set of benchmarks in a native hardware system in which the application natively resides; executing the predetermined set of benchmarks in the virtual environment; collecting first traces of first resource utilization metrics in the native hardware system based on the execution of the predetermined set of benchmarks in the native hardware system; collecting second traces of second resource utilization metrics in the virtual environment based on the execution of the predetermined set of benchmarks in the virtual environment; generating a first prediction model that maps a first selected set of the first traces of a selected one of the first resource utilization metrics to the second traces of resource utilization metrics; generating a second prediction model that maps a second selected set of the first traces of the selected first resource utilization metric to the second traces of resource utilization metrics; collecting first application traces of resource utilization metrics in the native hardware system based on an execution of a first application in the native hardware system; collecting second application traces of resource utilization metrics in the native hardware system based on an execution of a second application in the native hardware system; aggregating the first application traces of the first application and the second application traces of the second application into combined application traces of resource utilization metrics; and predicting a combined resource usage of the first and second applications running in the virtual environment by applying the first and second prediction models to the combined application traces of resource utilization metrics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for optimizing a prediction of resource usage of multiple applications running in a virtual environment, comprising:
-
a first hardware platform implementing a native hardware system in which an application natively resides and executes, the native hardware system operating to execute a predetermined set of benchmarks that includes at least one of a network-intensive workload and a disk-intensive workload; a second hardware platform implementing a virtual environment therein, the virtual environment operating to execute the predetermined set of benchmarks; a third hardware platform operating to collect first resource usage traces from the first hardware platform that result from the execution of the predetermined set of benchmarks in the native hardware system and second resource usage traces from the second hardware platform that result from the execution of the predetermined set of benchmarks in the virtual environment; wherein the third hardware platform further operating to generate at least one prediction model that predicts a resource usage of each of the multiple applications executing in the virtual environment based on the collected first and second resource usage traces; and wherein the third hardware platform further operating to; a) collect first application traces of resource utilization metrics in the native hardware system based on an execution of a first one of the multiple applications in the native hardware system; b) collect second application traces of resource utilization metrics in the native hardware system based on an execution of a second one of the multiple applications in the native hardware system; c) apply the at least one prediction model to the collected first application traces of the first application to calculate a first estimate resource usage in the virtual environment by the first application; d) apply the at least one prediction model to the collected second application traces of the second application to calculate a second estimate resource usage in the virtual environment by the second application; and e) predicting an overall resource usage in the virtual environment by the first and second applications by aggregating the first and second estimate resource usages. - View Dependent Claims (12, 13, 14)
-
-
15. A computer readable medium on which is encoded programming code executed by a computerized system for:
providing a predetermined set of benchmarks; executing the predetermined set of benchmarks in a native hardware system in which the application natively resides; executing the predetermined set of benchmarks in the virtual environment; collecting first traces of first resource utilization metrics in the native hardware system based on the execution of the predetermined set of benchmarks in the native hardware system; collecting second traces of second resource utilization metrics in the virtual environment based on the execution of the predetermined set of benchmarks in the virtual environment; generating a first prediction model that maps a first selected set of the first traces of a selected one of the first resource utilization metrics to the second traces of resource utilization metrics; generating a second prediction model that maps a second selected set of the first traces of the selected first resource utilization metric to the second traces of resource utilization metrics; collecting first application traces of resource utilization metrics in the native hardware system based on an execution of a first application in the native hardware system; collecting second application traces of resource utilization metrics in the native hardware system based on an execution of a second application in the native hardware system; aggregating the first application traces of the first application and the second application traces of the second application into combined application traces of resource utilization metrics; and predicting a combined resource usage of the first and second applications running in the virtual environment by applying the first and second prediction models to the combined application traces of resource utilization metrics.
Specification