IP Library Granted Patent US 8,818,922
Granted Patent B2
US 8,818,922 · App. 13/171,812 · Granted Aug 26, 2014

Method and apparatus for predicting application performance across machines with different hardware configurations

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,818,922
App. No.
13/171,812
Granted
Aug 26, 2014
Kind
B2
Abstract

A method and system for predicting performance of an application on a machine of a predetermined hardware configuration simulates the performance of the application under a plurality of different simulated hardware configurations; builds a predictive model of the performance of the application based on the results of the simulations; obtains the performance of the application on a plurality of actual machines, each of the machines having a different hardware configuration; and Bayesian reinterprets the predictive model built from the results of the simulations using the performance of the application on the plurality of actual machines, to obtain a final predictive model of the performance of the application having an accuracy greater than the predictive model built from the results of the simulations.

Claims (24)

1. A method for predicting performance of an application on a server of a predetermined hardware configuration, the method comprising:

simulating, in a computer process, the performance of the application under a plurality of different simulated server hardware configurations, each of the simulated performances of the application measured in average CPU cycles per instruction;

building, in a computer process, a predictive model for predicting the performance of the application on a server with any hardware configuration based on the results of the simulations;

obtaining actual performances of the application on a plurality of actual servers, each of the servers having a different hardware configuration, each of the actual performances of the application measured in average CPU cycles per instruction; and

in a computer process, Bayesian reinterpreting the predictive model built from the results of the simulations using the actual performances of the application on the plurality of actual servers to obtain a final predictive model θ* of the performance of the application having an accuracy greater than the predictive model built from the results of the simulations, the final predictive model θ* comprising a weighted average of prior predictive model θ and predictive model {circumflex over (θ)} obtained from a least square solution, the final predictive model θ* being equal to ({tilde over (φ)} T {tilde over (φ)}+Σ −1 ) −1 ({tilde over (φ)} T {tilde over (φ)}{circumflex over (θ)}+Σ −1 θ ), wherein {tilde over (φ)} T {tilde over (φ)} and Σ are weights comprising a data matrix and a covariance, respectively.

2. The method of claim 1 , wherein the building of the predictive model comprises modeling nonlinear dependencies between the simulated performance of the application and the simulated hardware configurations with a generalized linear regression model with L1 penalty.

3. The method of claim 2 , wherein the modeling of nonlinear dependencies comprises defining a set of basis functions to transform original variables so that their nonlinear relationships can be included in the predictive model.

4. The method of claim 2 , wherein the modeling of nonlinear dependencies comprises applying the L1 norm penalty on coefficients of the linear regression model to achieve sparseness of the predictive model's representation.

5. The method of claim 2 , wherein the Bayesian reinterpreting of the predictive model comprises searching for an optimal solution for the linear regression model with L1 penalty.

6. The method of claim 1 , wherein the Bayesian reinterpreting of the predictive model built from the results of the simulations comprises relearning parameters of the linear regression model using the performance of the application on the plurality of actual machines.

7. The method of claim 1 , wherein the Bayesian reinterpreting of the predictive model built from the results of the simulations comprises defining a prior distribution which embeds information learned from the simulations to restrict values of the coefficients of the linear regression model.

8. The method of claim 1 , wherein the Bayesian reinterpreting of the predictive model built from the results of the simulations comprises maximizing posterior probability distribution of model parameters so that the final predictive model comprises contributions from the simulated and actual hardware configurations.

9. An apparatus for predicting performance of an application on a server of a predetermined hardware configuration, the apparatus comprising:

a processor executing instructions for:

simulating the performance of the application under a plurality of different simulated server hardware configurations, each of the simulated performances measured in average CPU cycles per instruction;

building a predictive model for predicting the performance of the application on a server with any hardware configuration based on the results of the simulations; and

Bayesian reinterpreting the predictive model built from the results of the simulations using actual performances of the application on a plurality of actual servers each having a different hardware configuration, each of the actual performances of the application measured in average CPU cycles per instruction, to obtain a final predictive model θ* of the performance of the application having an accuracy greater than the predictive model built from the results of the simulations, the final predictive model θ* comprising a weighted average of prior predictive model θ and predictive model {tilde over (θ)} obtained from a least square solution, the final predictive model θ* being equal to ({tilde over (φ)} T {tilde over (φ)}+Σ −1 ) −1 ({tilde over (φ)} T {tilde over (φ)}{circumflex over (θ)}+Σ −1 θ ), wherein {tilde over (φ)} T {tilde over (φ)} and Σ are weights comprising a data matrix and a covariance, respectively.

10. The apparatus of claim 9 , wherein the instructions for building of the predictive model comprises instructions for modeling nonlinear dependencies between the simulated performance of the application and the simulated hardware configurations with a generalized linear regression model with L1 penalty.

11. The apparatus of claim 10 , wherein the instructions for modeling of nonlinear dependencies comprises instructions for defining a set of basis functions to transform original variables so that their nonlinear relationships can be included in the predictive model.

12. The apparatus of claim 10 , wherein the instructions for modeling of nonlinear dependencies comprises instructions for applying the L1 norm penalty on coefficients of the linear regression model to achieve sparseness of the predictive model's representation.

13. The apparatus of claim 10 , wherein the instructions for Bayesian reinterpreting of the predictive model comprises instructions for searching for an optimal solution for the linear regression model with L1 penalty.

14. The apparatus of claim 10 , wherein the instructions for Bayesian reinterpreting of the predictive model built from the results of the simulations comprises instructions for relearning parameters of the linear regression model using the performance of the application on the plurality of actual machines.

15. The apparatus of claim 9 , wherein the instructions for Bayesian reinterpreting of the predictive model built from the results of the simulations comprises instructions for defining a prior distribution which embeds information learned from the simulations to restrict values of the coefficients of the linear regression model.

16. The apparatus of claim 9 , wherein the instructions for Bayesian reinterpreting of the predictive model built from the results of the simulations comprises instructions for maximizing posterior probability distribution of model parameters so that the final predictive model comprises contributions from the simulated and actual hardware configurations.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2015
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 034765/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2011
From: CHEN, HAIFENG; KANG, HUI; JIANG, GUOFEI; YOSHIHIRA, KENJI
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 026740/0392 →