Controlling workload of a computer system through only external monitoring
Abstract
Provides control of the workload, flow control, and concurrency control of a computer system through the use of only external performance monitors. Data collected by external performance monitors are used to build a simple, black box model of the computer system, comprising two resources: a virtual bottleneck resource and a delay resource representing all non-bottleneck resources combined. The service times of the two resource types are two parameters of the black box model. The two parameters are evaluated based on historical data collected by the external performance monitors. The workload capacity that avoids saturation of the bottleneck resource is then determined and used as a control variable by a flow controller to limit the workload on the computer system. The workload may include a mix of traffic classes. In such a case, data is collected, parameters are evaluated and control variables are determined for each of the traffic classes.
Claims
exact text as granted — not AI-modified1 . A method for workload control, comprising controlling workload of an externally observable computer system, said step of controlling comprising:
observing external performance measures of a plurality of requests in a common traffic class to said computer system, using said external performance measures for evaluating two parameters of a black box queuing model of said computer system, said two parameters being: a service time of said requests on a virtual bottleneck resource, and a service time of said requests on other resources, using said evaluated two parameters for analyzing said black box queuing model to determine a desirable load capacity of said computer system, and employing said desirable load capacity as control parameters for controlling workload of said computer system.
2 . The method for workload control as recited in claim 1 , wherein the step of observing comprises collecting concurrency measures and response time measures of said requests.
3 . The method for workload control as recited in claim 1 , wherein the step of using said external performance measures comprises determining said two parameters of said black box queuing model by matching concurrency measures and response time measures computed using said black box model to said collected concurrency measures and response time measures of said requests.
4 . The method for workload control as recited in claim 1 , wherein the step of using said evaluated two parameters for analyzing comprises solving said two parameter queuing model and computing load capacity that drives utilization of said virtual bottleneck resource to a prespecified value.
5 . The method for workload control as recited in claim 1 , wherein the step of employing comprises determining a concurrency limit of said requests based on said computed load capacity to control flow of said requests to said computer system.
6 . A method for workload control as recited in claim 1 , further comprising repeating the steps of: observing; using said external performance measures for evaluating; using said evaluated two parameters for analyzing; and employing for requests from at least one other traffic class.
7 . A method for workload control as recited in claim 1 , further comprising repeating the steps of: observing; using said external performance measures for evaluating; using said evaluated two parameters for analyzing; and employing at a predetermined periodic rate.
8 . The method for workload control as recited in claim 1 , wherein the step of observing comprises collecting concurrency measures and response time measures of said requests;
wherein the step of using said external performance measures comprises determining said two parameters of said black box queuing model by matching concurrency measures and response time measures computed using said black box model to said collected concurrency measures and response time measures of said requests; wherein the step of using said evaluated two parameters for analyzing comprises solving said two parameter queuing model and computing load capacity that drives utilization of said virtual bottleneck resource to a prespecified value; and wherein the step of employing comprises determining a concurrency limit of said requests based on said computed load capacity to control flow of said requests to said computer system, and further comprising repeating the steps of: observing; using said external performance measures for evaluating; using said evaluated two parameters for analyzing; and employing for requests from at least one other traffic class.
9 . A system for workload control comprising:
an external observation monitor to keep track of concurrent requests and response time of said requests as said requests enter a computer system, and to keep track of corresponding responses to said requests as said responses leave the computer system; a model parameter estimator to use historical observations from said external observation monitor to evaluate two unknown parameters of said black box queuing model, said two unknown parameters being: a service time of said requests on a virtual bottleneck resource, and a service time of said requests on other resources, a flow optimizer to analyze said black box queuing model using said evaluated two parameters and computes concurrency limit that achieves a desirable utilization of said virtual bottleneck resource, and a flow controller to use said computed concurrency limit as a control parameter to limit a number of outstanding requests to said computer system.
10 . A system as recited in claim 9 , further comprising said external observation monitor, said model parameter estimator, said flow optimizer, and said flow controller each performing each respective function for other requests for at least one other traffic class.
11 . A system as recited in claim 9 , further comprising said external observation monitor, said model parameter estimator, said flow optimizer, and said flow controller each performing each respective function at a predetermined periodic rate.
12 . A method for concurrency control, comprising preventing overload of resources within a computer system, the step of preventing comprising the steps of:
collecting average response time data and concurrency data of requests in a common traffic class, of said computer system; using said average response time data and said concurrency data for evaluating two parameters of a model of said computer system, said two parameters being: a service time of said requests on a virtual bottleneck resource, and a service time of said requests on other resources; using said evaluated two parameters for analyzing said model for determining a target concurrency of said requests on said computer system which drives a utilization of a bottleneck resource on said computer system to a prespecified value; and employing said target concurrency for limiting admission of additional requests to said computer system.
13 . A method for flow control, comprising preventing overload of resources within a computer system, the step of preventing including the steps of:
collecting average response time data and concurrency data of requests in a common traffic class, of said computer system; using said average response time data and concurrency data for evaluating two parameters of a model of said computer system, said two parameters being: a service time of said requests on a virtual bottleneck resource, and a service time of said requests on other resources; using said evaluated two parameters for analyzing said model for determining a target flow rate of said requests on said computer system which drives a utilization of a bottleneck resource on said computer system to a prespecified value; and employing said target flow rate for limiting flow of said requests to said computer system.
14 . A method for concurrency control as recited in claim 12 , wherein said prespecified value prevents overloading of said computer system.
15 . A system for concurrency control, comprising means for preventing overload of resources within a computer system, the means for preventing comprising:
means for collecting average response time data and concurrency data of requests in a common traffic class, of said computer system; means for employing said average response time data and said concurrency data for evaluating two parameters of a model of said computer system, said two parameters being: a service time of said requests on a virtual bottleneck resource, and a service time of said requests on other resources; means for analyzing said model for determining a target concurrency of said requests on said computer system to drive a utilization of a bottleneck resource on said computer system to a prespecified value; and means for employing said target concurrency for limiting admission of additional requests to said computer system.
16 . A system for flow control, comprising means for preventing overload of resources within a computer system, the means for preventing comprising:
means for collecting average response time data and concurrency data of requests in a common traffic class, of said computer system; means for employing said average response time data and concurrency data for evaluating two parameters of a model of said computer system, said two parameters being: a service time of said requests on a virtual bottleneck resource, and a service time of said requests on other resources; means for analyzing said model for determining a target flow rate of said requests on said computer system which drives a utilization of a bottleneck resource on said computer system to a desirable prespecified value; and means for employing said target flow rate for limiting the flow of said requests to said computer system.
17 . An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing workload control, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect the steps of claim 1 .
18 . A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for workload control, said method steps comprising the steps of claim 1 .
19 . A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing workload control, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect the functions of claim 10 .
20 . An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing concurrency control, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect the steps of claim 12 .
21 . A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for concurrency control, said method steps comprising the steps of claim 12 .
22 . A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing concurrency control, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect the functions of claim 15 .
23 . A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing flow control, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect the functions of claim 16 .
24 . An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing flow control, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect the steps of claim 13 .
25 . A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for flow control, said method steps comprising the steps of claim 13 .
26 . The method for currency control as recited in claim 12 , further comprising at least one limitation taken from a group of limitations consisting of: the step of using said external performance measures comprises determining said two parameters of said black box queuing model by matching concurrency measures and response time measures computed using said black box model to said collected concurrency measures and response time measures of said requests;
the step of using said evaluated two parameters for analyzing comprises solving said two parameter queuing model and computing load capacity that drives utilization of said virtual bottleneck resource to a prespecified value; the step of employing comprises determining a concurrency limit of sail requests based on said computed load capacity to control flow of said requests to said computer system; repeating the steps of: collecting, using said external performance measures for evaluating, using said evaluated two parameters for analyzing, and employing for requests from at least one other traffic class; and repeating the steps of: collecting, using said external performance measures for evaluating using said evaluated two parameters for analyzing, and employing at a predetermined periodic rate.
27 . The method for flow control as recited in claim 13 , further comprising at least one limitation taken from a group of limitations consisting of:
the step of using said external performance measures comprises determining said two parameters of said black box queuing model by matching concurrency measures and response time measures computed using said black box model to said collected concurrency measures and response time measures of said requests; the step of using said evaluated two parameters for analyzing comprises solving said two parameter queuing model and computing load capacity that drives utilization of said virtual bottleneck resource to a prespecified value; the step of employing comprises determining a concurrency limit of said requests based on said computed load capacity to control flow of said requests to said computer system; repeating the steps of: observing; using said external performance measures for evaluating; using said evaluated two parameters for analyzing; and employing for requests from at least one other traffic class; and repeating the steps of: observing; using said external performance measures for evaluating; using said evaluated two parameters for analyzing; and employing at a predetermined periodic rate.
28 . A system as recited in claim 9 , further comprising at least one limitation taken from a group of limitations consisting of:
said external observation monitor, said model parameter estimator, said flow optimizer, and said flow controller each performing each respective function for other requests for at least one other traffic class; said external observation monitor, said model parameter estimator, said flow optimizer, and said flow controller each performing each respective function at a predetermined periodic rate; said model parameter estimator determines said two parameters of said black box queuing model by matching concurrency measures and response time measures computed using said black box model to said collected concurrency measures and response time measures of said requests; said flow optimizer solves said two parameter queuing model and computes load capacity that drives utilization of said virtual bottleneck resource to a prespecified value; said flow optimizer determines a concurrency limit of said requests based on said computed load capacity to control flow of said requests to said computer system; said external observation monitor, said model parameter estimator, said flow optimizer, and said flow controller each performing each respective function for at least one other traffic class; and said external observation monitor, said model parameter estimator, said flow optimizer, and said flow controller each repeatedly performing each respective function at a predetermined periodic rate.Join the waitlist — get patent alerts
Track US2007055771A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.