Patent Number: 
Section: claims

1. A computer implemented method for analyzing load run test results of a computer system, the method performed by the computer comprising the steps of:providing a plurality of performance measure sets derived from a first series of load run tests of a computer system performed over a same time period under a constant load, each said set comprising a plurality of records, each record having a timestamp and a value;sorting performance measure records by value in ascending order, for each performance measure set;determining whether said computer system has equilibrated under said load run tests by identifying plateau regions in said sorted performance measure sets, for each performance measure;sorting performance measure records within each plateau region by time stamp in ascending order, for each performance measure;identifying a single overlapping time interval covered by each plateau region for the plurality of performance measure sets, wherein said computer system has equilibrated if said performance measures have plateau regions in common; andcomputing averages of performance measures over the overlapping time intervals. 2. The method of claim 1, wherein identifying a plateau region in a sorted performance measure set comprises looking for an unbroken sequence of measurement values wherein estimates of a first derivative and a second derivative for each value in said sequence are close to zero in absolute value. 3. The method of claim 2, wherein a difference between a smallest value and a largest value of said measurement values in said unbroken sequence is small. 4. The method of claim 2, wherein said first derivative {circumflex over (ƒ)}′(xn) at a measurement value ƒ(xn) is estimated by the formula                              f          ^                ′            ⁡              (                  x          n                )              =                  1        12            ⁡              [                              f            ⁡                          (                              x                                  n                  -                  2                                            )                                -                      8            ⁢                          f              ⁡                              (                                  x                                      n                    -                    1                                                  )                                              +                      8            ⁢                          f              ⁡                              (                                  x                                      n                    +                    1                                                  )                                              -                      f            ⁡                          (                              x                                  n                  +                  2                                            )                                      ]              ,      n    ≥    2.   5. The method of claim 2, wherein said second derivative {circumflex over (ƒ)}″(xn) at a measurement value ƒ(xn) is estimated by the formula{circumflex over (ƒ)}″(xn)=[ƒ(xn−1)−2ƒ(xn)+ƒ(xn+1)]. 6. The method of claim 2, wherein a measurement value for a first point xn+1 in the plateau satisfies |{circumflex over (ƒ)}′(x0)|<ε1 and |{circumflex over (ƒ)}″(x0)|<ε2, wherein {circumflex over (ƒ)}′, {circumflex over (ƒ)}″ are first and second derivatives of the measurement values, respectively, and ε1, ε2>0. 7. The method of claim 6, wherein a measurement value for a subsequent point xn+1 in the plateau satisfies |{circumflex over (ƒ)}′(xn+1)|<ε1, |{circumflex over (ƒ)}″(xn+1)|<ε2, and |ƒ(xn+1)−ƒ(xn)|<ε3, for εi>0, i=1, 2, 3. 8. The method of claim 7, further comprising excluding a point from said plateau, if a first derivative evaluated for said point is negative. 9. The method of claim 1, wherein identifying overlapping time intervals covered by said plateau regions comprises, if a measurement value for an interval is missing for one performance measure,discarding corresponding measurement values for other performance measures,computing averages of performance measures over a largest set for which all measurement values are present and sufficiently close together,wherein chronologically successive measurement values within the plateau sets of the different performance measures are deemed to be sufficiently close together if said measurement values are no more than kδ apart, where k is a small positive integer and δ is a length of measurement intervals. 10. The method of claim 1, wherein said performance measures are based on rates, sample statistics, and time-averaged quantities. 11. The method of claim 10, wherein said performance measures include processor utilization, bandwidth utilization, memory occupancy, throughput and transaction response time. 12. The method of claim 1, further comprising:providing one or more performance measure sets derived from a second series of load run tests performed after modifying said computer system, said second series of load run tests being performed over the same time period duration and under the same load conditions as said first series of load run tests;for each performance measure in said second series of load run tests, sorting measurement values of each said performance measure from said first series load run test and from said second series load run test by value;computing a first and second empirical distribution function for said first and second set of sorted data;comparing the first and second empirical distribution functions using a Kolmogorov-Smirnov test; andidentifying those pairs of runs that are different according to the Kolmogorov-Smirnov test as needing further investigation. 13. The method of claim 2, wherein said empirical distribution function is defined by F(x)=i/n if x(i)≦x, x(i+1)>x and i=1, 2, . . . , n−1, and ƒ(x)=1 if x≧x(n), wherein n is a number of measurement values. 14. The method of claim 1, wherein identifying overlapping time intervals covered by said plateau regions comprises constructing a tree ordered by timestamps at intervals corresponding to those at which the performance measures were collected, wherein each leaf node of said tree contains the time stamp and a list of records including names of those performance measures whose values lie on respective plateaus and the corresponding values themselves, internal nodes contain time stamps within the equilibrium intervals at the leaf nodes, and wherein the set of values belonging to each time stamp are treated as belonging to the equilibrium interval if the associated list of records contains all performance measures of interest, and if the list of records at the neighboring leaves also contain all performance measures of interest. 15. A non-transitory program storage device readable by a computer, tangibly embodying a program of instructions executable by the computer to perform the method steps for analyzing load run test results of a computer system, the method comprising the steps of:providing a plurality of performance measure sets derived from a first series of load run tests of a computer system performed over a same time period under a constant load, each said set comprising a plurality of records, each record having a timestamp and a value;sorting performance measure records by value in ascending order, for each performance measure set;determining whether said computer system has equilibrated under said load run tests by identifying plateau regions in said sorted performance measure sets, for each performance measure;sorting performance measure records within each plateau region by time stamp in ascending order, for each performance measure;identifying a single overlapping time interval covered by each plateau region for the plurality of performance measure sets, wherein said computer system has equilibrated if said performance measures have plateau regions in common;and computing averages of performance measures over the overlapping time intervals. 16. The computer readable program storage device of claim 15, wherein identifying a plateau region in a sorted performance measure set comprises looking for an unbroken sequence of measurement values wherein estimates of a first derivative and a second derivative for each value in said sequence are close to zero in absolute value. 17. The computer readable program storage device of claim 16, wherein a difference between a smallest value and a largest value of said measurement values in said unbroken sequence is small. 18. The computer readable program storage device of claim 16, wherein said first derivative {circumflex over (ƒ)}′(xn) at a measurement value ƒ(xn) is estimated by the formula                              f          ^                ′            ⁡              (                  x          n                )              =                  1        12            ⁡              [                              f            ⁡                          (                              x                                  n                  -                  2                                            )                                -                      8            ⁢                          f              ⁡                              (                                  x                                      n                    -                    1                                                  )                                              +                      8            ⁢                          f              ⁡                              (                                  x                                      n                    +                    1                                                  )                                              -                      f            ⁡                          (                              x                                  n                  +                  2                                            )                                      ]              ,      n    ≥    2.   19. The computer readable program storage device of claim 16, wherein said second derivative {circumflex over (ƒ)}″(xn) at a measurement value ƒ(xn) is estimated by the formula{circumflex over (ƒ)}″(xn)=[ƒ(xn−1)−2ƒ(xn)+ƒ(xn+1)]. 20. The computer readable program storage device of claim 16, wherein a measurement value for a first point x0 in the plateau satisfies |{circumflex over (ƒ)}′(x0)|<ε1 and |{circumflex over (ƒ)}″(x0)|<ε2, wherein {circumflex over (ƒ)}′, {circumflex over (ƒ)}″ are first and second derivatives of the measurement values, respectively, and ε1, ε2>0. 21. The computer readable program storage device of claim 20, wherein a measurement value for a subsequent point xn+1 in the plateau satisfies |{circumflex over (ƒ)}′(xn+1)|<ε1, |{circumflex over (ƒ)}″(xn+1)|<ε2, and |ƒ(xn+1)−ƒ(xn)|<ε3, for εi>0, i=1, 2, 3. 22. The computer readable program storage device of claim 21, the method further comprising excluding a point from said plateau, if a first derivative evaluated for said point is negative. 23. The computer readable program storage device of claim 15, wherein identifying overlapping time intervals covered by said plateau regions comprises, if a measurement value for an interval is missing for one performance measure,discarding corresponding measurement values for other performance measures,computing averages of performance measures over a largest set for which all measurement values are present and sufficiently close together,wherein chronologically successive measurement values within the plateau sets of the different performance measures are deemed to be sufficiently close together if said measurement values are no more than kδ apart, where k is a small positive integer and δ is a length of measurement intervals. 24. The computer readable program storage device of claim 15, wherein said performance measures are based on rates, sample statistics, and time-averaged quantities. 25. The computer readable program storage device of claim 24, wherein said performance measures include processor utilization, bandwidth utilization, memory occupancy, throughput and transaction response time. 26. The computer readable program storage device of claim 15, the method further comprising:providing one or more performance measure sets derived from a second series of load run tests performed after modifying said computer system, said second series of load run tests being performed over the same time period duration and under the same load conditions as said first series of load run tests;for each performance measure in said second series of load run tests, sorting measurement values of each said performance measure from said first series load run test and from said second series load run test by value;computing a first and second empirical distribution function for said first and second set of sorted data;comparing the first and second empirical distribution functions using a Kolmogorov-Smirnov test; andidentifying those pairs of runs that are different according to the Kolmogorov-Smirnov test as needing further investigation. 27. The computer readable program storage device of claim 26, wherein said empirical distribution function is defined by F(x)=i/n if x(i)≦x, x(i+1)>x and i=1, 2, . . . , n−1, and ƒ(x)=1 if x≧x(n), wherein n is a number of measurement values. 28. The computer readable program storage device of claim 15, wherein identifying overlapping time intervals covered by said plateau regions comprises constructing a tree ordered by timestamps at intervals corresponding to those at which the performance measures were collected, wherein each leaf node of said tree contains the time stamp and a list of records including names of those performance measures whose values lie on respective plateaus and the corresponding values themselves, internal nodes contain time stamps within the equilibrium intervals at the leaf nodes, and wherein the set of values belonging to each time stamp are treated as belonging to the equilibrium interval if the associated list of records contains all performance measures of interest, and if the list of records at the neighboring leaves also contain all performance measures of interest.