IP Library Granted Patent US 6,970,805
Granted Patent B1
US 6,970,805 · App. 10/744,995 · Granted Nov 29, 2005

Analysis of data processing system performance

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 6,970,805
App. No.
10/744,995
Granted
Nov 29, 2005
Kind
B1
Abstract

Method and system for determining an optimal workload level for a data processing system. In various embodiments samples of system operating characteristics are collected. Each sample includes a workload level, a throughput level, and one or more performance metrics having values used in detection of a bottleneck condition. A bottleneck condition exists if the workload level, the throughput level, and one or more of the performance metrics in a sample have values equal to a predetermined set of values defined as a bottleneck condition. From the samples, a first workload level is identified that corresponds to the sample having a greatest throughput level. A workload level is selected from among workload levels of one or more samples as the optimal workload level, where, in each of the one or more samples the workload level is less than the first workload level, the throughput level is less than the greatest throughput level, and no bottleneck condition is indicated by the performance metrics.

Claims (60)

1. A computer-implemented method for determining an optimal workload level for a data processing system, comprising:

collecting samples of system operating characteristics, each sample including a workload level, a throughput level, and one or more performance metrics having values used in detection of a bottleneck condition, wherein a bottleneck condition exists if the workload level, the throughput level, and one or more of the performance metrics in a sample have values equal to a predetermined set of values defined as a bottleneck condition;

identifying a first workload level that corresponds to the sample having a greatest throughput level; and

selecting a workload level from among workload levels of one or more samples as the optimal workload level, wherein in each of the one or more samples the workload level is less than the first workload level, the throughput level is less than the greatest throughput level, and no bottleneck condition is indicated by the performance metrics.

2. The method of claim 1 , further comprising:

selecting a subset of the samples as a degraded performance data set, wherein the degraded performance data set includes samples with workload levels greater than the first workload level, and if the degraded performance data set is not empty selecting a degraded performance sample from the degraded performance data set;

selecting a subset of the samples as an optimal performance data set, wherein the optimal performance data set includes samples with workload levels less than the first workload level; and

selecting a sample from the optimal performance data set as a function of a workload level of the degraded performance sample, wherein the workload level of the sample is the optimal workload level.

3. The method of claim 2 , further comprising:

determining an average degraded workload level as an average of workload levels of samples in the degraded performance data set; and

analyzing samples in the degraded performance data set having workload levels within a range from a selected amount greater to a selected amount less than the average degraded workload level in order from a least workload level to a greatest workload level and establishing a first-encountered sample with a bottleneck condition as the degraded performance sample.

4. The method of claim 2 , further comprising:

determining an acceptable workload level in the optimal performance data set as a function of the workload level of the degraded performance sample; and

analyzing samples in the optimal performance data set having workload levels within a range from a selected amount greater to a selected amount less than the acceptable workload level in order from a greatest workload level to a least workload level and establishing the workload level of a first-encountered sample without a bottleneck condition as the optimal workload level.

5. The method of claim 4 , wherein determining an acceptable workload level comprises finding a sample in the optimal performance data set with a workload level that is approximately equal to the workload level of the degraded performance sample.

6. The method of claim 2 , further comprising:

if the degraded performance data set is empty, determining an acceptable workload level in the optimal performance data set as an average of a least workload level in the optimal performance data set and the first workload level; and

analyzing samples in the optimal performance data set with workload levels within a range from a selected amount greater to a selected amount less than the acceptable workload level in order from a greatest workload level to a least workload level and establishing the workload level of a first-encountered sample without a bottleneck condition as the optimal workload level.

7. The method of claim 1 , further comprising:

establishing a baseline performance level;

repeating the steps of identifying a first workload level and selecting the optimal workload level;

determining a candidate baseline performance level as a function of the workload level, throughput level, and one or more performance metrics from the sample of the optimal workload level;

replacing the baseline performance level with the candidate performance level if the candidate performance level is greater than the baseline performance level.

8. A system for determining an optimal workload level for a data processing system, comprising:

a sample collector configured to collect samples of system operating characteristics, each sample including a workload level, a throughput level, and one or more performance metrics having values used in detection of a bottleneck condition, wherein a bottleneck condition exists if the workload level, the throughput level, and one or more of the performance metrics in a sample have values equal to a predetermined set of values defined as a bottleneck condition;

an analyzer configured to identify a first workload level that corresponds to the sample having a greatest throughput level and select a workload level from among workload levels of one or more samples as the optimal workload level, wherein in each of the one or more samples the workload level is less than the first workload level, the throughput level is less than the greatest throughput level, and no bottleneck condition is indicated by the performance metrics.

9. The system of claim 8 , wherein the analyzer is further configured to select a subset of the samples as a degraded performance data set, wherein the degraded performance data set includes samples with workload levels greater than the first workload level, and if the degraded performance data set is not empty selecting a degraded performance sample from the degraded performance data set, select a subset of the samples as an optimal performance data set, wherein the optimal performance data set includes samples with workload levels less than the first workload level, and select a sample from the optimal performance data set as a function of a workload level of the degraded performance sample, wherein the workload level of the sample is the optimal workload level.

10. The system of claim 9 , wherein the analyzer is further configured to determine an average degraded workload level as an average of workload levels of samples in the degraded performance data set, analyze samples in the degraded performance data set having workload levels within a range from a selected amount greater to a selected amount less than the average degraded workload level in order from a least workload level to a greatest workload level, and establish a first-encountered sample with a bottleneck condition as the degraded performance sample.

11. The system of claim 9 , wherein the analyzer is further configured to determine an acceptable workload level in the optimal performance data set as a function of the workload level of the degraded performance sample, analyze samples in the optimal performance data set having workload levels within a range from a selected amount greater to a selected amount less than the acceptable workload level in order from a greatest workload level to a least workload level, and establish the workload level of a first-encountered sample without a bottleneck condition as the optimal workload level.

12. The system claim 11 , wherein the analyzer is further configured to find a sample in the optimal performance data set with a workload level that is approximately equal to the workload level of the degraded performance sample in determining an acceptable workload level.

13. The system of claim 9 , wherein the analyzer is further configured to, if the degraded performance data set is empty, determine an acceptable workload level in the optimal performance data set as an average of a least workload level in the optimal performance data set and the first workload level, analyze samples in the optimal performance data set with workload levels within a range from a selected amount greater to a selected amount less than the acceptable workload level in order from a greatest workload level to a least workload level, and establish the workload level of a first-encountered sample without a bottleneck condition as the optimal workload level.

14. The system of claim 8 , wherein the analyzer is further configured to establish a baseline performance level, repeat the steps of identifying a first workload level and selecting the optimal workload level, determine a candidate baseline performance level as a function of the workload level, throughput level, and one or more performance metrics from the sample of the optimal workload level, and replace the baseline performance level with the candidate performance level if the candidate performance level is greater than the baseline performance level.

15. An article of manufacture for determining an optimal workload level for a data processing system, comprising:

a computer-readable medium configured with instructions for causing a processor to perform the steps of,

collecting samples of system operating characteristics, each sample including a workload level, a throughput level, and one or more performance metrics having values used in detection of a bottleneck condition, wherein a bottleneck condition exists if the workload level, the throughput level, and one or more of the performance metrics in a sample have values equal to a predetermined set of values defined as a bottleneck condition;

identifying a first workload level that corresponds to the sample having a greatest throughput level; and

selecting a workload level from among workload levels of one or more samples as the optimal workload level, wherein in each of the one or more samples the workload level is less than the first workload level, the throughput level is less than the greatest throughput level, and no bottleneck condition is indicated by the performance metrics.

16. The article of manufacture of claim 15 , wherein the computer-readable medium is further configured with instructions for causing a computer to perform the steps of:

selecting a subset of the samples as a degraded performance data set, wherein the degraded performance data set includes samples with workload levels greater than the first workload level, and if the degraded performance data set is not empty selecting a degraded performance sample from the degraded performance data set;

selecting a subset of the samples as an optimal performance data set, wherein the optimal performance data set includes samples with workload levels less than the first workload level; and

selecting a sample from the optimal performance data set as a function of a workload level of the degraded performance sample, wherein the workload level of the sample is the optimal workload level.

17. The article of manufacture of claim 16 , wherein the computer-readable medium is further configured with instructions for causing a computer to perform the steps of:

determining an average degraded workload level as an average of workload levels of samples in the degraded performance data set; and

analyzing samples in the degraded performance data set having workload levels within a range from a selected amount greater to a selected amount less than the average degraded workload level in order from a least workload level to a greatest workload level and establishing a first-encountered sample with a bottleneck condition as the degraded performance sample.

18. The article of manufacture of claim 16 , wherein the computer-readable medium is further configured with instructions for causing a computer to perform the steps of:

determining an acceptable workload level in the optimal performance data set as a function of the workload level of the degraded performance sample; and

analyzing samples in the optimal performance data set having workload levels within a range from a selected amount greater to a selected amount less than the acceptable workload level in order from a greatest workload level to a least workload level and establishing the workload level of a first-encountered sample without a bottleneck condition as the optimal workload level.

19. The article of manufacture of claim 18 , wherein the computer-readable medium is further configured with instructions for causing a computer to perform the step of finding a sample in the optimal performance data set with a workload level that is approximately equal to the workload level of the degraded performance sample in determining an acceptable workload level comprises.

20. The article of manufacture of claim 16 , wherein the computer-readable medium is further configured with instructions for causing a computer to perform the steps of:

if the degraded performance data set is empty, determining an acceptable workload level in the optimal performance data set as an average of a least workload level in the optimal performance data set and the first workload level; and

analyzing samples in the optimal performance data set with workload levels within a range from a selected amount greater to a selected amount less than the acceptable workload level in order from a greatest workload level to a least workload level and establishing the workload level of a first-encountered sample without a bottleneck condition as the optimal workload level.

21. The article of manufacture of claim 15 , wherein the computer-readable medium is further configured with instructions for causing a computer to perform the steps of:

establishing a baseline performance level;

repeating the steps of identifying a first workload level and selecting the optimal workload level; and

determining a candidate baseline performance level as a function of the workload level, throughput level, and one or more performance metrics from the sample of the optimal workload level; and

replacing the baseline performance level with the candidate performance level if the candidate performance level is greater than the baseline performance level.

22. An apparatus for determining an optimal workload level for a data processing system, comprising:

means for collecting samples of system operating characteristics, each sample including a workload level, a throughput level, and one or more performance metrics having values used in detection of a bottleneck condition, wherein a bottleneck condition exists if the workload level, the throughput level, and one or more of the performance metrics in a sample have values equal to a predetermined set of values defined as a bottleneck condition;

means for identifying a first workload level that corresponds to the sample having a greatest throughput level; and

means for selecting a workload level from among workload levels of one or more samples as the optimal workload level, wherein in each of the one or more samples the workload level is less than the first workload level, the throughput level is less than the greatest throughput level, and no bottleneck condition is indicated by the performance metrics.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
PATENT SECURITY AGREEMENT (JUNIOR LIEN) Recorded Oct 13, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023364/0098 →
PATENT SECURITY AGREEMENT (PRIORITY LIEN) Recorded Oct 12, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023355/0001 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2003
From: BIERMA, MICHAEL J.; CHEN, CHHUNG-JEN; HARTMANN, GERALD E.
To: UNISYS CORPORATION
Reel/Frame 014854/0179 →