IP Library › Granted Patent US 9,710,178
Granted Patent B2
US 9,710,178 · App. 14/683,677 · Granted Jul 18, 2017

Optimizing volume placement based upon desired response time and priority

Inventors: Christian Bolik (Oldenburg, DE); Stephen A. Byrd (Sunnyvale, CA); Benjamin J. Randall (Fort Collins, CO)
Assignee: International Business Machines Corporation
G06F3/0619G06F3/0665G06F3/0689
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,710,178
App. No.
14/683,677
Granted
Jul 18, 2017
Kind
B2
Abstract

A method, computer program product, and system for determining an optimal volume placement on a storage system. The method includes acquiring at least a desired response time range for each storage volume associated with an application. The degree of optimization of volume placement is evaluated utilizing numeric scores assigned by a fitness function, and a recommendation is provided for storage volumes that should be moved to different storage pools, such that desired response times are met.

Claims (55)

1. A method for determining an optimal volume placement on a storage system, the method comprising:

acquiring, by one or more processors, at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application;

evaluating, by one or more processors, a degree of optimization of a current volume placement utilizing a numeric score assigned by a fitness function, and evaluating, by one or more processors, a degree of optimization of one or more proposed volume placement(s) utilizing numeric score(s) assigned by the fitness function for each of the proposed volume placement(s); and

providing, by one or more processors, a recommendation for storage volumes that should be moved to different storage pools, based on the evaluated degree of optimization of the current volume placement and the evaluated degree of optimization of the one or more proposed volume placements, such that desired response times are met;

wherein, when an actual response time for a given storage volume of a given volume placement exceeds the respective desired response time range for the given storage volume, a portion of the given volume placement's numeric score associated with the given storage volume is multiplied by a first tunable value, and

wherein, when an actual response time for a given storage volume of a given volume placement does not meet the respective desired response time range for the given storage volume, but meets the respective degraded response time range for the given storage volume, a portion of the given volume placement's numeric score associated with the given storage volume is multiplied by a second tunable value, wherein the second tunable value is larger than the first tunable value.

2. The method in accordance with claim 1 , wherein acquiring, by one or more processors, at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprises:

acquiring, by one or more processors, at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, from the application via background messaging.

3. The method in accordance with claim 1 , wherein acquiring, by one or more processors, at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprises:

acquiring, by one or more processors, at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, through measurement of input/output load values.

4. The method in accordance with claim 1 , wherein acquiring, by one or more processors, at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprises:

acquiring, by one or more processors, a desired response time range for each storage volume, an acceptable degraded response time range for each storage volume, a cost value associated with each tier of storage, and a priority value for each storage volume.

5. The method in accordance with claim 1 , wherein evaluating, by one or more processors, a degree of optimization of a current volume placement utilizing a numeric score assigned by a fitness function, and evaluating, by one or more processors, a degree of optimization of one or more proposed volume placement(s) utilizing numeric score(s) assigned by the fitness function for each of the proposed volume placement(s), further comprises:

performing, by one or more processors, an optimization analysis to check a response time for each volume associated with the application.

6. The method in accordance with claim 5 , wherein performing, by one or more processors, an optimization analysis to check a response time for each volume associated with the application further comprises:

performing, by one or more processors, an optimization analysis by projecting volume response times, given total volume configuration in a storage pool, by feeding historic performance data to a storage analysis algorithm capable of calculating response times for input/output loads run against specific storage configurations.

7. The method in accordance with claim 5 , wherein performing, by one or more processors, an optimization analysis to check a response time for each volume associated with the application further comprises:

performing, by one or more processors, exhaustive physical testing of substantially all possible storage volume configurations to characterize storage system performance.

8. A computer program product for determining an optimal volume placement on a storage system, the computer program product comprising:

one or more computer readable storage media and program instructions stored on at least one of the one or more storage media, the program instructions comprising:

program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application;

program instructions to evaluate a degree of optimization of a current volume placement utilizing a numeric score assigned by a fitness function, and evaluate a degree of optimization of one or more proposed volume placement(s) utilizing numeric score(s) assigned by the fitness function for each of the proposed volume placement(s); and

program instructions to provide a recommendation for storage volumes that should be moved to different storage pools, based on the evaluated degree of optimization of the current volume placement and the evaluated degree of optimization of the one or more proposed volume placements, such that desired response times are met;

wherein, when an actual response time for a given storage volume of a given volume placement exceeds the respective desired response time range for the given storage volume, a portion of the given volume placement's numeric score associated with the given storage volume is multiplied by a first tunable value, and

wherein, when an actual response time for a given storage volume of a given volume placement does not meet the respective desired response time range for the given storage volume, but meets the respective degraded response time range for the given storage volume, a portion of the given volume placement's numeric score associated with the given storage volume is multiplied by a second tunable value, wherein the second tunable value is larger than the first tunable value.

9. The computer program product of claim 8 , wherein program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprise:

program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, from the application via background messaging.

10. The computer program product of claim 8 , wherein program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprise:

program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, through measurement of input/output load values.

11. The computer program product of claim 8 , wherein program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprise:

program instructions to acquire a desired response time range for each storage volume, an acceptable degraded response time range for each storage volume, a cost value associated with each tier of storage, and a priority value for each storage volume.

12. The computer program product of claim 8 , wherein program instructions to evaluate a degree of optimization of volume placement utilizing a numeric score assigned by a fitness function, and evaluate a degree of optimization of one or more proposed volume placement(s) utilizing numeric score(s) assigned by the fitness function for each of the proposed volume placement(s), further comprise:

program instructions to perform an optimization analysis to check a response time for each volume associated with the application.

13. The computer program product of claim 12 , wherein program instructions to perform an optimization analysis to check a response time for each volume associated with the application further comprise:

program instructions to perform an optimization analysis by projecting volume response times, given total volume configuration in a storage pool, by feeding historic performance data to a storage analysis algorithm capable of calculating response times for input/output loads run against specific storage configurations.

14. The computer program product of claim 12 , wherein program instructions to perform an optimization analysis to check a response time for each volume associated with the application further comprise:

program instructions to perform exhaustive physical testing of substantially all possible storage volume configurations to characterize storage system performance.

15. A computer system for determining an optimal volume placement on a storage system, the computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application;

program instructions to evaluate a degree of optimization of a current volume placement utilizing a numeric score assigned by a fitness function, and evaluate a degree of optimization of one or more proposed volume placement(s) utilizing numeric score(s) assigned by the fitness function for each of the proposed volume placement(s); and

program instructions to provide a recommendation for storage volumes that should be moved to different storage pools, based on the evaluated degree of optimization of the current volume placement and the evaluated degree of optimization of the one or more proposed volume placements, such that desired response times are met;

wherein, when an actual response time for a given storage volume of a given volume placement exceeds the respective desired response time range for the given storage volume, a portion of the given volume placement's numeric score associated with the given storage volume is multiplied by a first tunable value, and

wherein, when an actual response time for a given storage volume of a given volume placement does not meet the respective desired response time range for the given storage volume, but meets the respective degraded response time range for the given storage volume, a portion of the given volume placement's numeric score associated with the given storage volume is multiplied by a second tunable value, wherein the second tunable value is larger than the first tunable value.

16. The computer system of claim 15 , wherein program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprise:

program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, from the application via background messaging.

17. The computer system of claim 15 , wherein program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprise:

program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, through measurement of input/output load values.

18. The computer system of claim 15 , wherein program instructions to acquire at least a desired response time range for each storage volume associated with an application, and at least one degraded response time range for at least one storage volume associated with the application, further comprise:

program instructions to acquire a desired response time range for each storage volume, an acceptable degraded response time range for each storage volume, a cost value associated with each tier of storage, and a priority value for each storage volume.

19. The computer system of claim 15 , wherein program instructions to evaluate a degree of optimization of volume placement utilizing a numeric score assigned by a fitness function, and evaluate a degree of optimization of one or more proposed volume placement(s) utilizing numeric score(s) assigned by the fitness function for each of the proposed volume placement(s), further comprise:

program instructions to perform an optimization analysis to check a response time for each volume associated with the application.

20. The computer system of claim 19 , wherein program instructions to perform an optimization analysis to check a response time for each volume associated with the application further comprise:

program instructions to perform an optimization analysis by projecting volume response times, given total volume configuration in a storage pool, by feeding historic performance data to a storage analysis algorithm capable of calculating response times for input/output loads run against specific storage configurations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2015
From: BOLIK, CHRISTIAN; BYRD, STEPHEN A.; RANDALL, BENJAMIN J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035382/0472 →
Continuity (1)
Related Publication 20160299711A1 · Oct 13, 2016