Method and system for dynamically allocating servers to compute-resources using capacity thresholds
First Claim
1. A load driven method for allocating servers among a plurality of compute-resources and a free-pool, wherein each compute-resource comprises a plurality of servers, the method comprising the steps of:
- for each monitored metric on the standard server and for each compute-resource, calculating a maximum metric value at a maximum load point as a maximum load vector for a compute-resource;
setting lower and upper global thresholds as allowable percents of the maximum load point;
for each compute-resource and unique server type and for each monitored metric, calculating a capacity weight for the monitored metric;
monitoring each server allocated to a compute-resource for at least one metric;
for each monitored metric and for each compute-resource, calculating an average normalized metric value Pn in standard server units;
for each monitored metric and for each compute-resource, calculating a current percent of a corresponding maximum metric value as a current percent of maximum load vector;
for each compute-resource, calculating one or more global load values G, wherein each global load value is a linear combination of normalized current percent of corresponding maximum metric values;
for each compute-resource, dynamically adjusting lower upper thresholds for the global load value; and
for each compute-resource, comparing the calculated global load value G to the lower threshold and upper threshold, and performing an allocation of servers to compute-resources based on a comparison outcome.
1 Assignment
0 Petitions
Accused Products
Abstract
Servers are allocated for use in one of a plurality of compute-resources or for stand-by storage in a free-pool. Server load metrics are selected (e.g., ping-reply time or CP utilization) for measuring load in the servers. Metrics are measured for the servers allocated to the compute-resources. Several metrics can be measured simultaneously. The metrics for each compute-resource are normalized and averaged. Then, the metrics for each compute-resource are combined using weighting coefficients, producing a global load value, G, for each compute-resource. The G value is recalculated at timed intervals. Upper and lower thresholds are set for each compute-resource, and the G values are compared to the thresholds. If the G value exceeds the upper threshold, then a server in the free-pool is reallocated to the compute-resource; if the G value is less than the lower threshold, then a server is moved from the compute-resource to the free-pool.
56 Citations
27 Claims
-
1. A load driven method for allocating servers among a plurality of compute-resources and a free-pool, wherein each compute-resource comprises a plurality of servers, the method comprising the steps of:
-
for each monitored metric on the standard server and for each compute-resource, calculating a maximum metric value at a maximum load point as a maximum load vector for a compute-resource;
setting lower and upper global thresholds as allowable percents of the maximum load point;
for each compute-resource and unique server type and for each monitored metric, calculating a capacity weight for the monitored metric;
monitoring each server allocated to a compute-resource for at least one metric;
for each monitored metric and for each compute-resource, calculating an average normalized metric value Pn in standard server units;
for each monitored metric and for each compute-resource, calculating a current percent of a corresponding maximum metric value as a current percent of maximum load vector;
for each compute-resource, calculating one or more global load values G, wherein each global load value is a linear combination of normalized current percent of corresponding maximum metric values;
for each compute-resource, dynamically adjusting lower upper thresholds for the global load value; and
for each compute-resource, comparing the calculated global load value G to the lower threshold and upper threshold, and performing an allocation of servers to compute-resources based on a comparison outcome. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable medium containing code which enables a computer to perform a method for allocating servers among a plurality of connected compute-resources and a free-pool, wherein each compute-resource comprises a plurality of servers, the method comprising the steps of:
-
for each monitored metric on the standard server and for each compute-resource, calculating a maximum metric value at a maximum load point as a maximum load vector for the compute-resource;
monitoring each server allocated to a compute-resource for at least one metric;
for each monitored metric and for each compute-resource, calculating an average normalized metric value Pn in standard server units;
for each monitored metric and for each compute-resource, calculating a current percent of a corresponding maximum metric value as a current percent of maximum load vector;
for each compute-resource, calculating one or more global load values G, wherein each global load value is a linear combination of normalized current percent of the corresponding maximum metric values;
for each compute-resource, defining dynamically calculated lower threshold and an upper threshold adjustments for the global load value; and
for each compute-resource, comparing the calculated global load value G to the lower threshold and upper threshold, and performing a server allocation according to a comparison outcome. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A system for allocating servers among a plurality of connected server compute-resources and a free-pool, wherein each server compute-resource comprises a plurality of servers, the system comprising:
-
monitoring means for monitoring each server allocated to a compute-resource for a plurality of metric values;
calculating means for calculating a normalized average metric value P for each monitored metric value and for each server compute-resource;
combining means for linearly combining the normalized metric values to create a global load value G for each compute-resource;
storage means for storing a defined lower threshold and a defined upper threshold for the linear combination value;
comparing means for comparing the global load value to the lower threshold and upper threshold; and
allocating means for allocating servers among compute-resources and the free-pool. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
Specification