IP Library Granted Patent US 11,599,441
Granted Patent B2
US 11,599,441 · App. 16/838,079 · Granted Mar 7, 2023

Throttling processing threads

Inventors: Ramesh Doddaiah (Westborough, MA); Malak Alshawabkeh (Franklin, MA); Mohammed Asher (Bangalore, IN); Rong Yu (West Roxbury, MA)
Assignee: EMC IP Holding Company LLC
G06F11/3433G06F9/505G06F11/3476G06F11/3485G06N20/00
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 11,599,441
App. No.
16/838,079
Granted
Mar 7, 2023
Kind
B2
Abstract

Embodiments of the present disclosure relate to throttling processing threads of a storage device. One or more input/output (I/O) workloads of a storage device can be monitored. One or more resources consumed by each thread of each storage device component to process each operation included in a workload can be analyzed. Based on the analysis, consumption of each resource consumed by each thread can be controlled.

Claims (52)

1. An apparatus comprising a memory and at least one processor configured to:

monitor one or more input/output (I/O) workloads of one or more storage devices;

analyze one or more resources consumed by one or more threads of each storage device component to process one or more operations included in each workload;

control consumption of the one or more resources by each thread based on the analysis, wherein controlling resource consumption includes limiting one or more out-of-context threads from accessing the one or more resources.

2. The apparatus of claim 1 further configured to:

analyze the one or more I/O workloads for each storage device to identify workload patterns of each storage device; and

predict I/O workload characteristics corresponding to one or more anticipated workloads for each storage device based on the identified patterns.

3. The apparatus of claim 2 further configured to store the analysis each thread's resource consumption in global memory.

4. The apparatus of claim 3 further configured to:

analyze I/O workload processing of each storage device component;

predict I/O workload characteristics corresponding to one or more anticipated workloads for each storage device component; and

store the analysis and the predictions in the global memory.

5. The apparatus of claim 4 further configured to:

analyze the one or more resources consumed each storage device component thread based on the analyzed storage device component workload processing;

predict resource consumption for each component's threads based on the analyzed resource consumption of each thread; and

store the analyzed resource consumption of each thread and the predicted resource consumption for each component's threads in the global memory.

6. The apparatus of claim 5 further configured to generate one or more resource consumption policies for each component's thread based on each thread's predicted resource consumption.

7. The apparatus of claim 6 further configured to generate the one or more resource consumption policies based further on one or more of each analyzed workload, predicted workload, analyzed resource consumptions, predicted resource consumptions for each component of a subject storage device.

8. The apparatus of claim 6 further configured to:

retrieve information including each analyzed workload, predicted workload, analyzed resource consumptions, and predicted resource consumptions for each component of each storage device of one or more storage device clusters in a storage area network (SAN); and

generate the one or more resource consumption policies based further on the retrieved information.

9. The apparatus of claim 8 further configured to generate the one or more resource consumption policies using one or more machine learning (ML) engines, the one or more ML engines including on-policy reinforcement learning.

10. The apparatus of claim 9 further configured to:

generate one or more random resource consumption policies;

execute the one or more random resource consumption policies; and

optimize one or more current resource consumption policies based on analyzed results of the executed resource consumption policies using the one or more ML engines.

11. A method comprising:

monitoring one or more input/output (I/O) workloads of one or more storage devices;

analyzing one or more resources consumed by one or more threads of each storage device component to process one or more operations included in each workload; and

controlling consumption of the one or more resources by each thread based on the analysis, wherein controlling resource consumption includes limiting one or more out-of-context threads from accessing the one or more resources.

12. The method of claim 11 further comprising:

analyzing the one or more I/O workloads for each storage device to identify workload patterns of each storage device; and

predicting I/O workload characteristics corresponding to one or more anticipated workloads for each storage device based on the identified patterns.

13. The method of claim 12 further comprising storing the analysis of each thread's resource consumption in global memory.

14. The method of claim 13 further comprising:

analyzing I/O workload processing of each storage device component;

predicting I/O workload characteristics corresponding to one or more anticipated workloads for each storage device component; and

storing the analysis and the predictions in the global memory.

15. The method of claim 14 further comprising:

analyzing the one or more resources consumed each storage device component thread based on the analyzed storage device component workload processing;

predicting resource consumption for each component's threads based on the analyzed resource consumption of each thread; and

storing the analyzed resource consumption of each thread and the predicted resource consumption for each component's threads in the global memory.

16. The method of claim 15 further comprising generating one or more resource consumption policies for each component's thread based on each thread's predicted resource consumption.

17. The method of claim 16 further comprising generating the one or more resource consumption policies based further on one or more of each analyzed workload, predicted workload, analyzed resource consumptions, predicted resource consumptions for each component of a subject storage device.

18. The method of claim 16 further comprising:

retrieving information including each analyzed workload, predicted workload, analyzed resource consumptions, and predicted resource consumptions for each component of each storage device of one or more storage device clusters in a storage area network (SAN); and

generating the one or more resource consumption policies based further on the retrieved information.

19. The method of claim 18 further comprising generating the one or more resource consumption policies using one or more machine learning (ML) engines, the one or more including on-policy reinforcement learning.

20. The method of claim 19 further comprising:

generating one or more random resource consumption policies;

executing the one or more random resource consumption policies; and

optimizing one or more current resource consumption policies based on analyzed results of the executed resource consumption policies using the one or more ML engines.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 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 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →