Patent ID: 9569236
Date: 2017-02-14
CPC Classifications: G06F

Claim:
1. A computer system, comprising: a processor, a system memory, and a bus that couples various system components including the system memory to the processor, the system configured to perform a method comprising: normalizing, with a processing device, resource metrics (R) for a plurality of virtual machine configuration sizes with respect to profiled metrics, wherein each virtual machine configuration size is normalized as R j =[r 1 j , r 2 j , r 3 j , r 4 j ], j is a virtual machine configuration size, r 1 j is central processing unit speed, r 2 j is memory size, r 3 j is input/output speed, and r 4 j is network speed and the profiled metrics are observed values of r 1 , r 2 , r 3 , and r 4 ; storing the normalized resource metrics associated with each of the virtual machine configuration sizes in a catalogue; calculating and storing a demand metric measurement (D) for each resource in the virtual machine configuration size of a plurality of virtual machine configuration sizes to obtain resource demand estimates for each of the resources of a respective virtual machine configuration size; wherein the calculating comprises: profiling an application for each of the virtual machine configuration sizes: executing the application on a first partition of a memory and a second partition of a memory; calculating the demand metric measurement (D) for an execution time of each of the resources associated with a respective virtual machine configuration size by using a demand metric measurement (D i =a i +b i R i ) for each of the resources (R); the each D i is a demand metric calculation for a respective resource (R i ) of a calculation under an execution time, the a i corresponds to the first partition and the b i corresponds to the second partition; storing the a i and the b i coefficients of the demand resource function for each of the respective resources (R) for each virtual machine configuration size; calculating a base performance for the application; predicting performance estimates on each of the virtual machine configuration sizes in the catalogue by applying the demand metric measurements (D) of the resources associated with each of the respective virtual machine configuration sizes; selecting, based on the predicting, a virtual machine configuration size in the catalogue having a lowest response time that meets the application performance objectives; invoking the selected virtual machine configuration size; and migrating the application to the selected virtual machine configuration size.