IP Library Granted Patent US 11,928,517
Granted Patent B2
US 11,928,517 · App. 17/370,300 · Granted Mar 12, 2024

Feature resource self-tuning and rebalancing

Inventors: Xiangping Chen (Sherborn, MA); David Meiri (Somerville, MA)
Assignee: EMC IP Holding Company LLC
G06F9/505H04L67/1097G06F2209/501
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,928,517
App. No.
17/370,300
Granted
Mar 12, 2024
Kind
B2
Abstract

An apparatus comprises at least one processing device that includes a processor coupled to a memory. The processing device is configured to identify a plurality of resource objects associated with a processing device, to group correlated resource objects according to processing device utilization of the resource objects, to assign a first weight to a first resource object grouping, wherein the first weight is associated with a performance impact of the first resource object grouping on the processing device, and to release at least some of the first resource object grouping to provide additional resources to a second resource object grouping, the additional resources resulting from the releasing, wherein the first object grouping is selected for the releasing based on a comparison between the first weight and a second weight associated with the second resource object grouping, wherein the releasing is performed to improve performance of the processing device.

Claims (51)

1. A method comprising:

identifying a plurality of resource objects associated with a processing device;

grouping correlated resource objects according to processing device utilization of the resource objects;

assigning a first weight to a first resource object grouping, wherein the first weight is associated with a performance impact of the first resource object grouping on the processing device; and

releasing at least some of the first resource object grouping to provide additional resources to a second resource object grouping, the additional resources resulting from the releasing, wherein the first object grouping is selected for the releasing based on a comparison between the first weight and a second weight associated with the second resource object grouping, wherein the releasing is performed to improve performance of the processing device, wherein the method is performed by a self-tuning resource allocating system executing on at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 further comprising:

tuning the performance of the processing device at runtime by iteratively grouping, assigning, and releasing to achieve a preferred performance of the processing device based on at least one of a workload and configuration of the processing device.

3. The method of claim 2 further comprising:

providing a template for pre-allocating resources on a second processing device based on the tuning performed for the processing device.

4. The method of claim 3 further comprising:

obtaining a plurality of pre-allocation templates from a plurality of processing devices; and

tailoring a pre-allocation template for a third processing device based on commonalities among the plurality of pre-allocation templates.

5. The method of claim 1 further comprising:

adjusting at least one weight to align a predicted performance of the processing device with an actual performance.

6. The method of claim 1 further comprising:

updating pre-allocated resources to improve the performance of the processing device, wherein the pre-allocated resources were pre-allocated based on a presumed performance, and wherein the pre-allocated resources are updated based on an actual performance associated with the processing device.

7. The method of claim 1 wherein identifying the plurality of resource objects associated with the processing device comprises:

identifying each of the plurality of resource objects using a unique identifier.

8. The method of claim 7 wherein identifying each of the plurality of resource objects using a unique identifier comprises:

tagging each of the plurality of resource objects with the unique identifier.

9. The method of claim 1 wherein grouping correlated resource objects according to processing device utilization of the resource objects comprises:

analyzing code associated with operations that execute on the processing device to determine which of the resource objects associated with the process device are correlated.

10. The method of claim 1 wherein grouping correlated resource objects according to processing device utilization of the resource objects comprises:

determining similar resource utilization statistics during a sampling period to determine which of the resource objects associated with the processing device are correlated.

11. The method of claim 1 wherein assigning the first weight to the first resource object grouping comprises:

calculating a weight for the first resource object grouping using a linear regression function and utilization statistics associated with the first resource object group associated with a sampling period.

12. The method of claim 11 further comprising:

assigning a random weight to the first resource object grouping prior to calculating the weight for the first resource object grouping.

13. The method of claim 1 wherein assigning the first weight to the first resource object grouping comprises:

assigning a weight for each resource object group for at least one performance metric associated with the performance of the processing device.

14. The method of claim 1 wherein assigning the first weight to the first resource object grouping comprises:

assigning a weight associated with a workload on the processing device and a performance criterion associated with the processing device.

15. The method of claim 1 wherein releasing the at least some of the first resource object grouping comprises:

determining the performance of the processing devices is less than a preferred performance of the processing device; and

in response, releasing the at least some of the first resource object grouping to improve the performance of the processing device to more closely align with the preferred performance of the processing device.

16. The method of claim 1 wherein releasing the at least some of the first resource object grouping comprises:

sorting a plurality of resource object grouping weights to identify resource object groups with lower weights as candidates for the releasing.

17. The method of claim 1 wherein the at least one processing device comprises at least one processing core of a multi-core storage node of a distributed storage system.

18. The method of claim 1 wherein the at least one processing device is associated with a distributed content addressable storage (CAS) system.

19. An apparatus comprising:

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

said at least one processing device being configured:

to identify a plurality of resource objects associated with a processing device;

to group correlated resource objects according to processing device utilization of the resource objects;

to assign a first weight to a first resource object grouping, wherein the first weight is associated with a performance impact of the first resource object grouping on the processing device; and

to release at least some of the first resource object grouping to provide additional resources to a second resource object grouping, the additional resources resulting from the releasing, wherein the first object grouping is selected for the releasing based on a comparison between the first weight and a second weight associated with the second resource object grouping, wherein the releasing is performed to improve performance of the processing device.

20. 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 said at least one processing device:

to identify a plurality of resource objects associated with a processing device;

to group correlated resource objects according to processing device utilization of the resource objects;

to assign a first weight to a first resource object grouping, wherein the first weight is associated with a performance impact of the first resource object grouping on the processing device; and

to release at least some of the first resource object grouping to provide additional resources to a second resource object grouping, the additional resources resulting from the releasing, wherein the first object grouping is selected for the releasing based on a comparison between the first weight and a second weight associated with the second resource object grouping, wherein the releasing is performed to improve performance of the processing device.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 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 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2021
From: CHEN, XIANGPING; MEIRI, DAVID
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056791/0965 →
Continuity (1)
Related Publication 20230012021A1 · Jan 12, 2023