IP Library › Granted Patent US 9,473,572
Granted Patent B2
US 9,473,572 · App. 14/052,985 · Granted Oct 18, 2016

Selecting a target server for a workload with a lowest adjusted cost based on component values

Inventors: John F. Ryan (Amherst, NY); Bruce A. Foster (Dunstable, MA)
Assignee: International Business Machines Corporation
H04L67/1023
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 9,473,572
App. No.
14/052,985
Granted
Oct 18, 2016
Kind
B2
Abstract

If a first workload is supported by candidate servers with different architectures, a determination is made that a selected workload is the first workload. If the first workload is not supported by candidate servers with the different architectures, a determination is made that the selected workload is a second workload. Components of the candidate servers are determined, and statistics are collected, and component values are determined. If the components impact performance of the selected workload, weights are set for the components to be a percentage impact of the components on the selected workload. If the components do not impact performance, weights are set to be one. Functions of the component values and the weights are calculated. The results of the functions are processed with costs of the candidate servers to yield adjusted costs. The selected workload is moved to the candidate server with a lowest adjusted cost.

Claims (62)

1. A method comprising:

receiving a request to move a first workload from a server;

determining whether the first workload is supported by a plurality of candidate servers with different architectures;

if the first workload is supported by the plurality of candidate servers with different architectures, determining that a selected workload is the first workload;

if the first workload is not supported by the plurality of candidate servers with the different architectures, determining that the selected workload is a second workload that is an alternative to the first workload, wherein the second workload is supported by the plurality of candidate servers with the different architectures;

determining components of the plurality of candidate servers;

collecting statistics for the components;

determining component values of the components based on the statistics;

if the components impact performance of the selected workload, setting weights for the components that impact the performance to be a percentage impact of the components on the selected workload;

calculating functions of the component values and the weights to yield results;

processing the results of the functions to costs of the plurality of candidate servers to yield a plurality of adjusted costs of the plurality of candidate servers; and

moving the selected workload from the server to a target server that is one of the plurality of candidate servers with a lowest of the plurality of adjusted costs.

2. The method of claim 1 , further comprising:

if the components do not impact performance of the selected workload, setting weights for the components that do not impact the performance of the selected workload to be one.

3. The method of claim 2 , wherein the collecting the statistics further comprises:

executing the selected workload on the plurality of candidate servers; and

storing the statistics that describe performance of the component while executing the workload.

4. The method of claim 3 , wherein the determining the component values of the components based on the statistics further comprises:

setting the component values to be ratios of the statistics of the components.

5. The method of claim 1 , wherein the component values comprise quality of service component values.

6. A system for selecting a target server for a workload, comprising:

a processor; and

a decision support application stored on a memory executing on the processor, the decision support application adapted to:

identify a plurality of candidate servers that have the ability to process a workload, wherein the plurality of candidate servers include a plurality of different architectures;

identify a plurality of qualitative and quantitative properties associated with the plurality of candidate servers, wherein the identifying comprises:

determining components of the plurality of candidate servers;

collecting statistics for the components; and

determining component values of the components based on the statistics;

modify the plurality of qualitative and quantitative properties based on user-defined criteria for decision making; and

analyze the modified qualitative and quantitative information using a Cost-Value Matrix to identify a target server.

7. The system of claim 6 , wherein the modifying of the plurality of qualitative and quantitative properties based on user-defined criteria for decision making comprises:

if the components impact performance of the selected workload, setting weights for the components that impact the performance to be a percentage impact of the components on the selected workload;

calculating functions of the component values and the weights to yield results; and

processing the results of the functions to costs of the plurality of candidate servers to yield a plurality of adjusted costs of the plurality of candidate servers.

8. The system of claim 7 , wherein the decision support application is further adapted to:

if the components do not impact performance of the selected workload, setting weights for the components that do not impact the performance of the selected workload to be one.

9. The system of claim 8 , wherein the collecting the statistics further comprises:

executing the selected workload on the plurality of candidate servers; and

storing the statistics that describe performance of the component while executing the workload.

10. The system of claim 9 , wherein the determining the component values of the components based on the statistics further comprises:

setting the component values to be ratios of the statistics of the components.

11. The system of claim 10 , wherein the component values comprise quality of service component values.

12. A computer program product for selecting a target server for a workload, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by a computer to perform a method comprising:

receiving a request to move a first workload from a server;

determining whether the first workload is supported by a plurality of candidate servers with different architectures;

if the first workload is supported by the plurality of candidate servers with different architectures, determining that a selected workload is the first workload;

if the first workload is not supported by the plurality of candidate servers with the different architectures, determining that the selected workload is a second workload that is an alternative to the first workload, wherein the second workload is supported by the plurality of candidate servers with the different architectures;

determining components of the plurality of candidate servers;

collecting statistics for the components;

determining component values of the components based on the statistics;

if the components impact performance of the selected workload, setting weights for the components that impact the performance to be a percentage impact of the components on the selected workload;

calculating functions of the component values and the weights to yield results;

processing the results of the functions to costs of the plurality of candidate servers to yield a plurality of adjusted costs of the plurality of candidate servers; and

moving the selected workload from the server to a target server that is one of the plurality of candidate servers with a lowest of the plurality of adjusted costs.

13. The computer program product of claim 12 , wherein the method further comprises:

if the components do not impact performance of the selected workload, setting weights for the components that do not impact the performance of the selected workload to be one.

14. The computer program product of claim 13 , wherein the method further comprises:

executing the selected workload on the plurality of candidate servers; and

storing the statistics that describe performance of the component while executing the workload.

15. The computer program product of claim 14 , wherein the determining the component values of the components based on the statistics further comprises:

setting the component values to be ratios of the statistics of the components.

16. The computer program product of claim 12 , wherein the component values comprise quality of service component values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2013
From: RYAN, JOHN F.; FOSTER, BRUCE A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031399/0244 →
Continuity (1)
Related Publication 20150106522A1 · Apr 16, 2015