×

Tuning software execution environments using Bayesian models

  • US 10,257,275 B1
  • Filed: 10/26/2015
  • Issued: 04/09/2019
  • Est. Priority Date: 10/26/2015
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • one or more computing devices of an optimization service implemented at a provider network;

    wherein the one or more computing devices are configured to;

    identify, as a candidate for performance optimization, an execution environment comprising one or more software components, wherein the execution environment has a plurality of tunable parameters, and wherein at least one software component of the one or more software components is instantiated at a particular computing resource of the provider network;

    receive, based at least in part on input via a programmatic interface from a client on whose behalf the execution environment is configured, (a) a definition of an objective function that specifies a non-linear transformation of one or more execution results produced by the one or more software components to produce one or more objective function values to be optimized, and (b) a respective plurality of permissible settings for at least a first tunable parameter and a second tunable parameter of the plurality of tunable parameters;

    generate, corresponding to the execution environment, a Bayesian model using Gaussian process priors, wherein input to the Bayesian model includes the one or more objective function values and output of the Bayesian model includes settings for at least the first and second tunable parameters;

    perform a plurality of iterations of execution of the Bayesian model, including a first iteration and a second iteration, wherein input model parameters for the second iteration are determined based at least in part on an evaluation of the objective function over a set of execution results obtained from the execution environment, wherein the set of execution results are obtained using settings indicated for at least the first and second tunable parameters in output model parameters produced by the first iteration; and

    in response to a determination that an optimization goal corresponding to the execution environment has been attained according to the objective function, store settings of at least the first and second tunable parameters which correspond to attainment of the optimization goal.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×