Managing pools of dynamic resources
AssigneeMicrosoft Corporation
InventorsJoseph L. Hellerstein, Eric Lynn Eilebrecht, Vance Morrison, Paul Ringseth
Life of this patent
Estimating the term…
Abstract
Computer systems attempt to manage resource pools of a dynamic number of similar resources and work tasks in order to optimize system performance. Work requests are received into the resource pool having a dynamic number of resources instances. An instance-throughput curve is determined that relates a number of resource instances in the resource pool to throughput of the work requests. A slope of a point on the instance-throughput curve is estimated with stochastic gradient approximation. The number of resource instances for the resource pool is selected when the estimated slope of the instance-throughput curve is zero.
Claims20
A computer-readable storage medium storing computer-executable instructions for controlling a computer system, the computer-executable instructions comprising:
- a resource instance controller configured to:
- manage a resource pool of dynamic resource instances in response to an amount of work requests;
- retain a measurement history of a current control setting including:
- a current throughput measurement for the resource pool, and a previous control setting including a previous throughput measurement for the resource pool;
- relate the resource instances in the resource pool to throughput of the resource pool as an instance-throughput curve;
- assume a unimodal structure of the instance-throughput curve;
- exploit the unimodal structure of the instance-throughput curve to compute a new control setting for the resource pool, wherein the new control setting is computed with the current throughput measurement and the previous throughput measurement;
- and
- provide the new control setting to the resource pool.
A method of managing a resource pool of dynamic resource instances, the method comprising:
- receiving a plurality of work requests into the resource pool having a dynamic number of resources instances;
- determining an instance-throughput curve relating a number of resource instances in the resource pool to throughput of the work requests;
- estimating a slope of a point on the instance-throughput curve with stochastic gradient approximation;
- and
- selecting the number of resource instances when the estimated slope of the instance-throughput curve is zero for the resource pool.
A managed environment operating on a computing device and configured to operate an application to manage a pool of dynamic resource instances, the managed environment comprising:
- a resource pool including a dynamic number of resource instances having a work queue configured to receive a plurality of work requests, the resource pool configured to provide measurement information including throughput of the work requests related to a number of resource instances in the resource pool;
- and
- a resource instance controller configured to receive the measurement information and to apply stochastic gradient approximation to manage the number of resource instances in the resource pool.
Dependencies are inferred from the claim text.