IP Library Granted Patent US 7,289,939
Granted Patent B2
US 7,289,939 · App. 11/417,828 · Granted Oct 30, 2007

Mechanism for on-line prediction of future performance measurements in a computer system

Assignee: International Business Machines Corporation
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,289,939
App. No.
11/417,828
Granted
Oct 30, 2007
Kind
B2
Abstract

Disclosed are a method and system for predicting future values of a target metric associated with a task executed on a computer system. The method comprises the steps of, over a given period of time, measuring at least one defined metric, transforming that measurement into a value for a predictor source metric, and using the value for the predictor source metric to obtain a predicted future value for said target metric. The preferred embodiment of this invention provides a flexible performance multi-predictor to solve the problem of providing accurate future behavior predictions for adaptive reconfiguration systems. The multi-predictor makes predictions about future workload characteristic by periodically reading available hardware counters. Also disclosed is a method and system for periodically reconfiguring an adaptive computer system by rescheduling tasks based on future behavior predictions.

Claims (26)

1. A method of periodically reconfiguring an adaptive computer system based on future behavior predictions, comprising the steps:

for each of a group of tasks, assigning a dynamic priority to the task based on a history table based prediction of a future value for a characteristic associated with the task; and

at defined times, reconfiguring the computer system by selecting from said group the task having the highest dynamic priority to be executed by the computer system; and

wherein the assigning step includes the steps of, for each of the group of tasks, identifying a source metric and a target metric, using past values for the source metric to predict future values for the target metric, and using the predicated future values for the target metric to determine the dynamic priority for the task.

2. A method according to claim 1 , further comprising the step of recalculating at determined times the dynamic priority assigned to each of at least some of the tasks.

3. A method according to claim 2 , further comprising the step of the computer system executing the selected task, and wherein the recalculating step includes the step of, for each task executed by the computer system, recalculating the dynamic priority assigned to the task after the computer system has executed the task.

4. A method according to claim 1 , wherein the step of using past values for the source metric to predict future values for the target metric includes the steps of:

identifying values that the target metric had in the past;

for each of the identified values of the target metric, determining an associated value for the source metric;

determining a present value for the source metric;

determining the value of the target metric associated with the present value for the source metric; and

using the determined value of the target metric as the predicted target value.

5. Apparatus for periodically reconfiguring an adaptive computer system based on future behavior predictions, comprising:

a predictor for assigning a dynamic priority to each of a group of tasks based on a history table based prediction of a future value for a characteristic associated with the task; and

a scheduler for reconfiguring the computer system by selecting, at defined times, from said group the task having the highest dynamic priority to be executed by the computer system; and

wherein the predictor assigns the dynamic priority to each of the group of tasks by, for each of the tasks, using past values for a given source metric for the task to predict further values for a defined target metric for the task, and using the predicted future values for the target metric to determine the dynamic priority for the task.

6. Apparatus according to claim 5 , wherein the predictor recalculates at given times the dynamic priority assigned to each of at least some of the tasks.

7. Apparatus according to claim 5 , wherein each time the computer system executes one of the tasks, the predictor recalculates the dynamic priority assigned to said one of the tasks.

8. Apparatus according to claim 7 , wherein:

each time the computer system executes one of the tasks, the scheduler sends a signal to the predictor; and

in response to receiving said signal, the predictor recalculates the dynamic priority assigned to said one of the tasks.

9. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for periodically reconfiguring an adaptive computer system based on future behavior predictions, said method steps comprising:

for each of a group of tasks, assigning a dynamic priority to the task based on a history table based prediction of a future value for a characteristic associated with the task; and at defined times, reconfiguring the computer system by selecting from said group the task having the highest dynamic priority to be executed by the computer system; and

wherein the assigning step includes the steps of, for each of the group of tasks, identifying a source metric and a target metric, using past values for the source metric to predict future values for the target metric, and using the predicated future values for the target metric to determine the dynamic priority for the task.

10. A program storage device according to claim 9 , wherein said method steps further comprise the step of recalculating at determined times the dynamic priority assigned to each of at least some of the tasks.

11. A program storage device according to claim 10 , wherein said method steps further comprise the step of the computer system executing the selected task; and the recalculating step includes the step of, for each task executed by the computer system, recalculating the dynamic priority assigned to the task after the computer system has executed the task.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044127/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 026894/0001 →
Continuity (2)
Division 1068829300 · Oct 17, 2003
Related Publication 20060217940A1 · Sep 28, 2006