IP Library Granted Patent US 12,112,213
Granted Patent B2
US 12,112,213 · App. 17/216,929 · Granted Oct 8, 2024

Scheduling workloads based on predicted magnitude of storage capacity savings achieved through deduplication

Inventors: Jayanth Kumar Reddy Perneti (Bangalore, IN); Vinay Sawal (Fremont, CA)
Assignee: Dell Products L.P.
G06F9/5083G06F16/215
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 12,112,213
App. No.
17/216,929
Granted
Oct 8, 2024
Kind
B2
Abstract

An apparatus comprises a processing device configured to identify a plurality of workloads to be scheduled for execution on a storage system and to analyze the plurality of workloads to predict a magnitude of storage capacity savings achieved by applying one or more deduplication algorithms to data of the plurality of workloads. The processing device is further configured to determine a prioritization of the plurality of workloads based at least in part on the predicted magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of the plurality of workloads, and to schedule the plurality of workloads for execution on the storage system based at least in part on the determined prioritization of the plurality of workloads.

Claims (47)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

identifying a plurality of workloads to be scheduled for execution on a storage system, the plurality of workloads being associated with a first order, the first order being determined based at least in part on times at which the plurality of workloads are received;

analyzing the plurality of workloads to predict a magnitude of storage capacity savings achieved by applying one or more deduplication algorithms to data of the plurality of workloads;

determining a prioritization of the plurality of workloads based at least in part on the predicted magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of the plurality of workloads;

determining a scheduling of the plurality of workloads, based at least in part on the determined prioritization of the plurality of workloads, to reduce a rate at which an available storage capacity of the storage system is consumed by re-ordering the plurality of workloads to a second order, the second order having a first one of the plurality of workloads having a first predicted magnitude of storage capacity savings prior to a second one of the plurality of workloads having a second predicted magnitude of storage capacity savings, the first predicted magnitude of storage capacity savings being greater than the second predicted magnitude of storage capacity savings, the first one of the plurality of workloads being received later than the second one of the plurality of workloads; and

executing the plurality of workloads on the storage system in accordance with the determined scheduling to reduce the rate at which the available storage capacity of the storage system is consumed.

2. The apparatus of claim 1 wherein determining the scheduling of the plurality of workloads and executing the plurality of workloads in accordance with the determined scheduling are performed responsive to determining that the storage system has reached a designated threshold capacity usage.

3. The apparatus of claim 1 wherein analyzing the plurality of workloads to predict the magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of the plurality of workloads comprises identifying one or more types of data that are part of respective ones of the plurality of workloads.

4. The apparatus of claim 1 wherein predicting the magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of a given one of the plurality of workloads comprises:

detecting an amount of the data of the given workload predicted to achieve storage capacity savings by applying the one or more deduplication algorithms; and

determining membership of the given workload in respective ones of a plurality of membership functions based at least in part on the detected amount of data of the given workload predicted to achieve storage capacity savings by applying the one or more deduplication algorithms.

5. The apparatus of claim 4 wherein determining the prioritization of the given workload comprises assigning a priority value to the given workload based at least in part on its membership values for at least one of the plurality of membership functions.

6. The apparatus of claim 4 wherein determining the prioritization of the given workload comprises assigning a priority value to the given workload based at least in part on a combination of its membership values for each of the plurality of membership functions.

7. The apparatus of claim 4 wherein the plurality of membership functions comprises:

a first membership function for workloads with a first range of detected amounts of data predicted to achieve storage capacity savings by applying the one or more deduplication algorithms;

a second membership function for workloads with a second range of detected amounts of data predicted to achieve storage capacity savings by applying the one or more deduplication algorithms; and

a third membership function for workloads with a third range of detected amounts of data predicted to achieve storage capacity savings by applying the one or more deduplication algorithms.

8. The apparatus of claim 7 wherein the first range at least partially overlaps the second range, and wherein the second range at least partial overlaps the third range.

9. The apparatus of claim 7 wherein the first membership function and the third membership function comprise trapezoidal membership functions, and wherein the second membership function comprises a triangular membership function.

10. The apparatus of claim 4 wherein the plurality of membership functions comprises fuzzy membership sets, and wherein determining the prioritization of the given workload comprises assigning a priority value to the given workload based at least in part on applying one or more defuzzification algorithms to membership values of the given workload in each of the fuzzy membership sets.

11. The apparatus of claim 10 wherein applying the one or more defuzzification algorithms comprises applying one of a first of maxima defuzzification algorithm and a last of maxima defuzzification algorithm responsive to the given workload having a non-zero membership value for a single one of the fuzzy membership sets.

12. The apparatus of claim 11 wherein the first of maxima defuzzification algorithm is utilized when the given workload has a non-zero membership value for a single one of the fuzzy membership sets having a highest priority level.

13. The apparatus of claim 11 wherein the last of maxima defuzzification algorithm is utilized when the given workload has a non-zero membership value for a single one of the fuzzy membership sets having a priority level below a highest priority level.

14. The apparatus of claim 10 wherein applying the one or more defuzzification algorithms comprises applying a center of sum defuzzification algorithm responsive to the given workload having a non-zero membership value for at least two of the fuzzy membership sets.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

identifying a plurality of workloads to be scheduled for execution on a storage system, the plurality of workloads being associated with a first order, the first order being determined based at least in part on times at which the plurality of workloads are received;

analyzing the plurality of workloads to predict a magnitude of storage capacity savings achieved by applying one or more deduplication algorithms to data of the plurality of workloads;

determining a prioritization of the plurality of workloads based at least in part on the predicted magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of the plurality of workloads;

determining a scheduling of the plurality of workloads, based at least in part on the determined prioritization of the plurality of workloads, to reduce a rate at which an available storage capacity of the storage system is consumed by re-ordering the plurality of workloads to a second order, the second order having a first one of the plurality of workloads having a first predicted magnitude of storage capacity savings prior to a second one of the plurality of workloads having a second predicted magnitude of storage capacity savings, the first predicted magnitude of storage capacity savings being greater than the second predicted magnitude of storage capacity savings, the first one of the plurality of workloads being received later than the second one of the plurality of workloads; and

executing the plurality of workloads on the storage system in accordance with the determined scheduling to reduce the rate at which the available storage capacity of the storage system is consumed.

16. The computer program product of claim 15 wherein predicting the magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of a given one of the plurality of workloads comprises:

detecting an amount of the data of the given workload predicted to achieve storage capacity savings by applying the one or more deduplication algorithms; and

determining membership of the given workload in respective ones of a plurality of membership functions based at least in part on the detected amount of data of the given workload predicted to achieve storage capacity savings by applying the one or more deduplication algorithms.

17. The computer program product of claim 16 wherein the plurality of membership functions comprises fuzzy membership sets, and wherein determining the prioritization of the given workload comprises assigning a priority value to the given workload based at least in part on applying one or more defuzzification algorithms to membership values of the given workload in each of the fuzzy membership sets.

18. A method comprising:

identifying a plurality of workloads to be scheduled for execution on a storage system, the plurality of workloads being associated with a first order, the first order being determined based at least in part on times at which the plurality of workloads are received;

analyzing the plurality of workloads to predict a magnitude of storage capacity savings achieved by applying one or more deduplication algorithms to data of the plurality of workloads;

determining a prioritization of the plurality of workloads based at least in part on the predicted magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of the plurality of workloads;

determining a scheduling of the plurality of workloads, based at least in part on the determined prioritization of the plurality of workloads, to reduce a rate at which an available storage capacity of the storage system is consumed by re-ordering the plurality of workloads to a second order, the second order having a first one of the plurality of workloads having a first predicted magnitude of storage capacity savings prior to a second one of the plurality of workloads having a second predicted magnitude of storage capacity savings, the first predicted magnitude of storage capacity savings being greater than the second predicted magnitude of storage capacity savings, the first one of the plurality of workloads being received later than the second one of the plurality of workloads; and

executing the plurality of workloads on the storage system in accordance with the determined scheduling to reduce the rate at which the available storage capacity of the storage system is consumed;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

19. The method of claim 18 wherein predicting the magnitude of the storage capacity savings achieved by applying the one or more deduplication algorithms to the data of a given one of the plurality of workloads comprises:

detecting an amount of the data of the given workload predicted to achieve storage capacity savings by applying the one or more deduplication algorithms; and

determining membership of the given workload in respective ones of a plurality of membership functions based at least in part on the detected amount of data of the given workload predicted to achieve storage capacity savings by applying the one or more deduplication algorithms.

20. The method of claim 19 wherein the plurality of membership functions comprises fuzzy membership sets, and wherein determining the prioritization of the given workload comprises assigning a priority value to the given workload based at least in part on applying one or more defuzzification algorithms to membership values of the given workload in each of the fuzzy membership sets.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2021
From: PERNETI, JAYANTH KUMAR REDDY; SAWAL, VINAY
To: DELL PRODUCTS L.P.
Reel/Frame 055765/0728 →
Continuity (1)
Related Publication 20220318070A1 · Oct 6, 2022