Workload manager for achieving transaction class response time goals in a multiprocessing system
First Claim
1. A workload manager for distributing incoming transactions among a plurality of transaction handling servers in a transaction based computer system, each transaction being a member of a particular one of a plurality of distinct transaction classes, said workload manager comprising:
- means for determining an actual response time for each transaction completed by said computer system, said actual response time for any particular completed transaction being a length of time which has elapsed from an arrival time when said any particular completed transaction arrived at said computer system for handling and a completion time when said any particular completed transaction was completed by said computer system;
means for computing a current average class response time for each of said classes, said current average class response time for any particular class being an average which may be possibly weighted of said actual response times for completed transactions which are a member of said any particular class;
means for storing a class response time goal value for each of said classes, said class response time goal value for said any particular class being a desired value for said current average class response time for said any particular class;
means for computing a current class performance index for each of said classes from said current average class response times and said class response time goal values, said current class performance index for said any particular class being a value indicating how closely said current average class response time for said any particular class matches said class response time goal value for said any particular class;
means for computing for each class and for each server an average predicted response time for a transaction of said each class that has been routed to said each server and has not yet completed and for determining a number of uncompleted transactions of each said class routed to each said server;
means responsive to an arriving transaction for predicting from said current class performance index for each said class and from said average predicted response times and number of uncompleted transactions for each said class and each said server a set of predicted new class performance indices for each of a plurality of different possible alternative server choices to which said arriving transaction could be routed for handling, each said new set including a predicted new class performance index for each of said classes;
means for determining from each said set of predicted new class performance indices an overall goal satisfaction index corresponding to each of said plurality of different possible alternative server choices, said overall goal satisfaction index corresponding to any particular possible alternative server choice being a value indicating how closely said set of predicted new class performance indices for said any particular possible alternative server choice meets a predetermined response time goal criterion;
means for determining a best one of said overall goal satisfaction indices, said best one meeting said predetermined response time goal criterion more closely than any other one of said overall goal satisfaction indices; and
a router for actually routing said arriving transaction to said server corresponding to said best one of said overall goal satisfaction indices.
1 Assignment
0 Petitions
Accused Products
Abstract
In a multiple processor transaction processing system, a class response time goal for each class of transactions is enforced by a workload manager, which computes a current average class response time for each transaction class and derives a current class performance index for each of these classes with respect to its class response time goal. Whenever a transaction arrives, the workload manager considers a number of different possible transaction servers to which that arriving transaction could be routed and predicts estimated new values for the class performance indices for each of the considered routing choices. An overall goal satisfaction index is determined for each one and the routing choice corresponding to the best overall goal satisfaction index is selected as the routing choice. In the preferred embodiment, the workload manager also priority rates or orders the classes in accordance with the current class performance indices so that a transaction of a class which is performing more poorly (as judged by its class performance index) gets a higher dispatch priority at the server to which it is routed than a transaction of a class that is performing better.
-
Citations
8 Claims
-
1. A workload manager for distributing incoming transactions among a plurality of transaction handling servers in a transaction based computer system, each transaction being a member of a particular one of a plurality of distinct transaction classes, said workload manager comprising:
-
means for determining an actual response time for each transaction completed by said computer system, said actual response time for any particular completed transaction being a length of time which has elapsed from an arrival time when said any particular completed transaction arrived at said computer system for handling and a completion time when said any particular completed transaction was completed by said computer system; means for computing a current average class response time for each of said classes, said current average class response time for any particular class being an average which may be possibly weighted of said actual response times for completed transactions which are a member of said any particular class; means for storing a class response time goal value for each of said classes, said class response time goal value for said any particular class being a desired value for said current average class response time for said any particular class; means for computing a current class performance index for each of said classes from said current average class response times and said class response time goal values, said current class performance index for said any particular class being a value indicating how closely said current average class response time for said any particular class matches said class response time goal value for said any particular class; means for computing for each class and for each server an average predicted response time for a transaction of said each class that has been routed to said each server and has not yet completed and for determining a number of uncompleted transactions of each said class routed to each said server; means responsive to an arriving transaction for predicting from said current class performance index for each said class and from said average predicted response times and number of uncompleted transactions for each said class and each said server a set of predicted new class performance indices for each of a plurality of different possible alternative server choices to which said arriving transaction could be routed for handling, each said new set including a predicted new class performance index for each of said classes; means for determining from each said set of predicted new class performance indices an overall goal satisfaction index corresponding to each of said plurality of different possible alternative server choices, said overall goal satisfaction index corresponding to any particular possible alternative server choice being a value indicating how closely said set of predicted new class performance indices for said any particular possible alternative server choice meets a predetermined response time goal criterion; means for determining a best one of said overall goal satisfaction indices, said best one meeting said predetermined response time goal criterion more closely than any other one of said overall goal satisfaction indices; and a router for actually routing said arriving transaction to said server corresponding to said best one of said overall goal satisfaction indices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification