Method of controlling the performance of a data storage system
First Claim
1. A method of controlling the performance of a data storage system which concurrently processes a number N of data requests, of which, a number A are of a first data request type and a number B are of a second data request type, the method comprising:
- (A) setting a performance goal for the data storage system; and
(B) determining, through the use of a genetic algorithm, an optimum number AO of the first data request type and an optimum number BO of the second data request type to concurrently process, to achieve the performance goal for the data storage system; and
operating the data storage system to concurrently process the number AO first data request types and the number BO second data request types to cause the data storage system to perform in accordance with the performance goal.
9 Assignments
0 Petitions
Accused Products
Abstract
A method for optimizing the operation of a data storage system utilizes a genetic algorithm to adjust internal parameters of the system. The method involves determining a set of optimum values of each of two or more different data array parameters, such as data request types that will be processed concurrently, to achieve performance goals that are set by the user for the system. The optimum values are determined by iteratively evaluating the performance of the system while it processes the different combinations of values of the two or more data requests, saving the combinations of numbers that yield performance parameters that approach the goal and eliminating combinations of number of data request types that do not.
24 Citations
41 Claims
-
1. A method of controlling the performance of a data storage system which concurrently processes a number N of data requests, of which, a number A are of a first data request type and a number B are of a second data request type, the method comprising:
-
(A) setting a performance goal for the data storage system; and (B) determining, through the use of a genetic algorithm, an optimum number AO of the first data request type and an optimum number BO of the second data request type to concurrently process, to achieve the performance goal for the data storage system; and operating the data storage system to concurrently process the number AO first data request types and the number BO second data request types to cause the data storage system to perform in accordance with the performance goal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of controlling the performance of a data storage system which concurrently processes a number N of data requests, of which, a number A are of a first data request type and a number B are of a second data request type, the method comprising:
-
(A) setting a performance goal for the data storage system; and (B) randomly selecting a set of solutions, each solution including initial numbers AI of the first data request type and BI of the second data request type; (C) evaluating each solution in the set for a period of time by processing the number AI of first data request types and BI second data request types, measuring the performance of the data storage system, comparing the measured performance to the performance goal and assigning a fitness value to the solution based on the comparison, wherein solutions having a greater fitness value yield a performance closer to the performance goal than those having a lesser fitness value; (D) selecting two of the solutions from the set by performing a weighted random selection, based on the fitness value assigned to each solution; (E) combining the two selected solutions to obtain a new solution including a number AN of first data request types and number BN of second data request types; (F) evaluating the new solution by processing the number AN of first data request types and BN second data request types, measuring the performance of the data storage system, comparing the measured performance to the performance goal and assigning a fitness value to the new solution based on the comparison; (G) including the new solution in the set of solutions; (H) eliminating the solution in the set having the lowest fitness value; (I) repeating steps (D) through (H) to generate a set of solutions having increased fitness values, until the optimum number AO of the first data request type and the optimum number BO of the second data request type are determined; and (J) operating the data storage system to concurrently process the number AO first data request types and the number BO second data request types to cause the data storage system to perform in accordance with the performance goal. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of controlling the performance of a data storage system which concurrently processes a number N of data requests, of which, a number A are of a first data request type, a number B are of a second data request type and a number C are of data request types other than the first and second data request types, the method comprising:
-
(A) setting a performance goal for the data storage system; (B) randomly selecting a set of solutions, each solution including initial numbers AI of the first data request type, BI of the second data request type and CI of the other data request types; (C) evaluating each solution in the set for a period of time by processing the number AI of first data request types, BI second data request types and CI of the other data request types, measuring the performance of the data storage system, comparing the measured performance to the goal and assigning a fitness value to the solution based on the comparison, wherein solutions having a greater fitness value yield a performance closer to the performance goal than those having a lesser fitness value; (D) selecting two of the solutions from the set by performing a weighted random selection, based on the fitness value assigned to each solution; (E) combining the two selected solutions to obtain a new solution including a number AN of first data request types, a number BN of second data request types and a number CN of other data request types; (F) evaluating the new solution by processing the number AN of first data request types, the number BN of second data request types and the number CN of other data request types, measuring the performance of the data storage system, comparing the measured performance to the performance goal and assigning a fitness value to the new solution based on the comparison; (G) including the new solution in the set of solutions; (H) eliminating the solution in the set having the lowest fitness value; and (I) repeating steps (D) through (H) to generate a set of solutions having increased fitness values, until an optimum number AO of the first data request type, an optimum number BO of the second data request type and an optimum number CO of the other data request types are determined; and (J) operating the data storage system to concurrently process the number AO first data request types, the number BO second data request types and the number CO other data request types to cause the data storage system to perform in accordance with the performance goal. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
- 32. A computer program product, embodied on a computer readable medium, having computer readable program code thereon for controlling the performance of a data storage system including a storage processing unit which concurrently processes a number N of data requests, of which, a number A are of a first data request type and a number B are of a second data request type, the computer readable program code determining, through the use of a genetic algorithm, an optimum number AO of the first data request type and an optimum number BO of the second data request type for the storage processing unit to concurrently process, to enable the data storage system to operate at a performance goal for the data storage system.
Specification