IP Library Granted Patent US 7,630,860
Granted Patent B1
US 7,630,860 · App. 11/973,145 · Granted Dec 8, 2009

Controlling process group execution elapsed time through component performance control

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 7,630,860
App. No.
11/973,145
Granted
Dec 8, 2009
Kind
B1
Abstract

An embodiment of the present invention is a technique to manage elapsed time performance. Current baseline statistics on N performance components are obtained for a set of programs belonging to a single workload group. N current component performance values associated with the N performance components are obtained in a current measurement for the set of programs at the beginning of a current monitoring cycle. A control component is selected from the N performance components based on the current baseline statistics and the N current component performance values. A control value is applied to an operation corresponding to the control component in the set of programs. A next monitoring cycle is waited for.

Claims (63)

1. A computer implemented method of executing software within a computing system comprising:

obtaining current baseline statistics on N performance components for a set of programs belonging to a single workload group;

obtaining N current component performance values associated with the N performance components in a current measurement for the set of programs at beginning of a current monitoring cycle;

calling a get-status procedure for the current monitoring cycle to obtaining an operation count corresponding to one of the N performance components for a current process in the set of programs;

determining an individual operation rate by calculating a difference in the operation count since a previous measurement for the current process and then dividing the difference by an actual time between the previous and the current measurements to provide the individual operation rate;

adding individual operation rates for the set of programs to provide a total operation rate, the total operation rate corresponding to a current component performance value of the N current component performance values, the current component performance value being associated with the one of the N performance components;

selecting a control component from the N performance components based on the current baseline statistics, the N current component performance values, and a configured goal for a desired completion time;

applying a control value to an operation corresponding to the control component in the set of programs; and

waiting for a next monitoring cycle.

2. The method of claim 1 wherein selecting the control component comprises:

adjusting the current baseline statistics by a percentage of baseline representing a size of a next job relative to a corresponding baseline value;

calculating completion times for the N performance components using the adjusted current baseline statistics and the individual operation rates;

comparing the completion times with the configured goal to determine N goal variances; and

selecting the control component being one of the N performance components having a largest variance from the N goal variances.

3. The method of claim 1 wherein applying a control value comprises:

calculating the control value corresponding to the control component; and calling a set-status procedure to applying the control value to the operation each program in the set of programs.

4. The method of claim 1 wherein the N performance components include at least more than one of a processor time component, an input/output (IO) component, and a database management component.

5. The method of claim 1 wherein obtaining the current baseline statistics comprises:

performing at least one monitoring execution of the set of programs.

6. An article of manufacture comprising:

a machine-accessible medium including data that, when accessed by a machine, causes the machine to perform operations comprising:

obtaining current baseline statistics on N performance components for a set of programs belonging to a single workload group;

obtaining N current component performance values associated with the N performance components in a current measurement for the set of programs at beginning of a current monitoring cycle;

calling a get-status procedure for the current monitoring cycle to obtaining an operation count corresponding to one of the N performance components for a current process in the set of programs;

determining an individual operation rate using the operation count for the current process;

adding individual operation rates for the set of programs to provide a total operation rate, the total operation rate corresponding to a current component performance value of the N current component performance values, the current component performance value being associated with the one of the N performance components

selecting a control component from the N performance components based on the current baseline statistics, the N current component performance values, and a configured goal for a desired completion time;

applying a control value to an operation corresponding to the control component in the set of programs; and

waiting for a next monitoring cycle;

calculating a difference in the operation count since a previous measurement for the current process; and

dividing the difference by an actual time between the previous and the current measurements to provide the individual operation rate.

7. The article of manufacture of claim 6 wherein the data causing the machine to perform selecting the control component comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

adjusting the current baseline statistics by a percentage of baseline representing a size of a next job relative to a corresponding baseline value;

calculating completion times for the N performance components using the adjusted current baseline statistics and the individual operation rates;

comparing the completion times with the configured goal to determine N goal variances; and

selecting the control component being one of the N performance components having a largest variance from the N goal variances.

8. The article of manufacture of claim 6 wherein the data causing the machine to perform applying the control value comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

calculating the control value corresponding to the control component; and

calling a set-status procedure to applying set the control value to each program the operation in the set of programs.

9. The article of manufacture of claim 6 wherein the N performance components include at least more than one of a processor time component, an input/output (IO) component, and a database management component.

10. The article of manufacture of claim 6 wherein the data causing the machine to perform obtaining the current baseline statistics comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

performing at least one monitoring execution of the set of programs.

11. A system comprising:

a user interface unit to interface to a user; and

a workload management (WLM) host unit coupled to the user interface unit, the WLM host unit including a workload performance manager (WPM) comprising:

a baseline module to obtain current baseline statistics on N performance components for a set of programs belonging to a single workload group,

a measurement module to obtain N current component performance values associated with the N performance components in a current measurement for the set of programs at beginning of a current monitoring cycle,

an operation count module to call a get-status procedure for the current monitoring cycle to obtain an operation count corresponding to one of the N performance components for a current process in the set of programs;

an operation rate module comprising a subtractor to calculate a difference in the operation count since a previous measurement for the current process, and a divider to divide the difference by an actual time between the previous and the current measurements to provide the individual operation rate configured to determine an individual operation rate using the operation count for the current process;

an adder to add individual operation rates for the set of programs to provide a total operation rate, the total operation rate corresponding to a current component performance value of the N current component performance values, the current component performance value being associated with the one of the N performance components;

a selection module coupled to the baseline module and the measurement module to select a control component from the N performance components based on the current baseline statistics, the N current component performance values, and a configured goal for a desired completion time,

a control application module coupled to the selection module to apply a control value to an operation corresponding to the control component in the set of programs; and

a wait module to wait for a next monitoring cycle.

12. The system of claim 11 wherein the selection module comprises:

a baseline adjuster to adjust the current baseline statistics by a percentage of baseline representing a size of a next job relative to a corresponding baseline value;

a completion time calculator coupled to the baseline adjuster to calculate completion times for the N performance components using the adjusted current baseline statistics and the individual operation rates;

a comparator coupled to the completion time calculator to compare the completion times with the configured goal to determine N goal variances; and

a selector to select the control component being one of the N performance components having a largest variance from the N goal variances.

13. The system of claim 11 wherein the control application module comprises:

a control value calculator to calculate the control value corresponding to the control component; and

a control value setting module to call a set-status procedure to applyset the control value to each program to the operation in the set of programs.

14. The system of claim 11 wherein the N performance components include at least more than one of a processor time component, an input/output (IO) component, and a database management component.

15. The system of claim 11 wherein the baseline module performs at least one monitoring execution of the set of programs.

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 →
SECURITY AGREEMENT Recorded May 7, 2010
From: UNISYS CORPORATION
To: DEUTSCHE BANK
Reel/Frame 024351/0482 →
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 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded Mar 6, 2008
From: UNISYS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 020612/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2007
From: DONNELLY, JOEL KING; GALE, MICHAEL ALAN; MILLIGAN, ANDREW DAVID
To: UNISYS CORPORATION
Reel/Frame 019989/0630 →