Techniques for application tuning
First Claim
Patent Images
1. A computer-implemented method of determining system configurations, comprising:
- determining, by a computer system, a set of configurations for a system;
measuring performance of the system for members of the determined set of configurations;
creating, based at least in part on the measured performance, a model of the system;
receiving, from a user, one or more user-specified objective functions, based at least in part on the model of the system;
identifying one or more configurable parameters related to the system;
identifying a relationship between the one or more configurable parameters;
identifying at least one variable constraint related to the system based at least in part on the identified relationship;
determining a valid set of values to be assigned to the one or more configurable parameters and the at least one variable constraint based at least in part on the identified relationship, wherein the value of the at least one variable constraint maps to the valid set of values assigned to the one or more configurable parameters;
generating an optimal configuration of the system with respect to the one or more user-specified objective functions based at least in part on the model and the valid set of values assigned to the one or more configurable parameters and the at least one variable constraint; and
providing the generated optimal configuration for tuning the system.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for tuning systems generate configurations that are used to test the systems to determine optimal configurations for the systems. The configurations for a system are generated to allow for effective testing of the system while remaining within budgetary and/or resource constraints. The configurations may be selected to satisfy one or more conditions on their distributions to ensure that a satisfactory set of configurations are tested. Machine learning techniques may be used to create models of systems and those models can be used to determine optimal configurations.
78 Citations
20 Claims
-
1. A computer-implemented method of determining system configurations, comprising:
-
determining, by a computer system, a set of configurations for a system; measuring performance of the system for members of the determined set of configurations; creating, based at least in part on the measured performance, a model of the system; receiving, from a user, one or more user-specified objective functions, based at least in part on the model of the system; identifying one or more configurable parameters related to the system; identifying a relationship between the one or more configurable parameters; identifying at least one variable constraint related to the system based at least in part on the identified relationship; determining a valid set of values to be assigned to the one or more configurable parameters and the at least one variable constraint based at least in part on the identified relationship, wherein the value of the at least one variable constraint maps to the valid set of values assigned to the one or more configurable parameters; generating an optimal configuration of the system with respect to the one or more user-specified objective functions based at least in part on the model and the valid set of values assigned to the one or more configurable parameters and the at least one variable constraint; and providing the generated optimal configuration for tuning the system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computing system for determining configurations for a system under test, comprising:
-
one or more processors; and memory including executable instructions that, when executed by the one or more processors, cause the computing system to implement at least; a configuration selector configured to select a set of configurations for the system under test; an application simulator configured to simulate the system under test under the selected set of configurations and provide, based at least in part on simulating the system under test, performance data for the system under test; a model creator configured to create, based at least in part on the provided performance data, a model of the system under test; and a model optimizer configured to; receive, from a user, one or more user-specified objective functions, based at least in part on the model of the system; identify one or more configurable parameters related to the system; identify a relationship between the one or more configurable parameters; identify at least one variable constraint related to the system based at least in part on the identified relationship; determine a valid set of values to be assigned to the one or more configurable parameters and the at least one variable constraint based at least in part on the identified relationship, wherein the value of the at least one variable constraint maps to the valid set of values assigned to the one or more configurable parameters; and determine an optimal configuration for the system under test that produces an optimal performance of the system with respect to the one or more user-specified objective functions based at least in part on the model and the valid set of values assigned to the one or more configurable parameters and the at least one variable constraint. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more non-transitory computer-readable storage media having collectively stored thereon instructions executable by one or more processors to cause a computer system to at least:
-
determine a set of configurations for the system; measure performance of the system for members of the determined set of configurations; create, based at least in part on the measured performance, a model of the system; receive, from a user, one or more user-specified objective functions, based at least in part on the model of the system; identify one or more configurable parameters related to the system; identify a relationship between the one or more configurable parameters; identify at least one variable constraint related to the system based at least in part on the identified relationship; determine a valid set of values to be assigned to the one or more configurable parameters and the at least one variable constraint based at least in part on the identified relationship, wherein the value of the at least one variable constraint maps to the valid set of values assigned to the one or more configurable parameters; generate an optimal configuration of the system with respect to the one or more user-specified objective functions based at least in part on the model and the valid set of values assigned to the one or more configurable parameters and the at least one variable constraint; and provide the generated optimal configuration for tuning the system. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification