IP Library Granted Patent US 11,409,652
Granted Patent B2
US 11,409,652 · App. 17/124,962 · Granted Aug 9, 2022

Estimating worker nodes needed for performing garbage collection operations

Inventors: Nicholas A Noto (Sunnyvale, CA); Mariah Arevalo (Woodland, CA); Philip Shilane (Newtown, PA); Joseph S. Brandt (Salt Lake City, UT)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/0253G06F9/4843G06F9/505G06F16/1744
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,409,652
App. No.
17/124,962
Granted
Aug 9, 2022
Kind
B2
Abstract

Systems and methods for estimating the number of workers needed to perform a garbage collection operation are disclosed. Similarity groups are used to identify segments associated with objects in a computing system. Using deletion records that identify objects to be deleted, the similarity groups impacted by the deletion records can be identified. The number of workers can be determined based on the impacted similarity groups. More specifically, the number of impacted similarity groups and/or workers can be evaluated in terms of memory requirements, input/output constraints and/or time requirements to estimate the number or workers needed to clean similarity groups impacted by a garbage collection operation.

Claims (43)

1. A method for performing a garbage collection operation, the method comprising:

instantiating a controller that estimates a number of workers needed for the garbage collection operation; and

instantiating and allocating workers, wherein the workers;

identify impacted similarity groups within a compression region, wherein the impacted similarity groups include one or more segments that should be deleted;

mark the impacted similarity groups;

write-lock the impacted similarity groups;

mark live segments within an impacted similarity group; and

copy forward the live segments into a new compression region.

2. The method of claim 1 , wherein the controller is created within a Kubernetes cluster.

3. The method of claim 1 , wherein the impacted similarity groups are identified from a deletion bucket, which stores information related to deleted objects.

4. The method of claim 1 , wherein the information related to deleted objects includes slices associated with deleted objects and the impacted similarity groups can be determined from the slices associated with deleted objects.

5. The method of claim 1 , wherein the controller allocates assignments to the workers.

6. The method of claim 1 , wherein the controller estimates the number of workers using factors including one or more of an environmental variable, worker memory, impacted similarity groups, or IO operations.

7. The method of claim 1 , wherein the controller;

accesses deletion records to retrieve or access slice recipes;

identifies impacted similarity groups and determine the sizes of the impacted similarity groups;

estimates the number of workers needed to clean the impacted similarity groups; and

prepares worker assignments based on a number of the impacted similarity groups and a size of the impacted similarity groups.

8. The method of claim 1 , wherein while identifying the impacted similarity groups, the impacted similarity groups are mapped to data structures that include the live segments.

9. The method of claim 1 , wherein the impacted similarity groups include one or more subgroups.

10. The method of claim 1 , wherein the worker marks live fingerprints segments by obtaining slice recipes for slices of live objects, identifying from the slice recipe whether the similarity group associated with that slice is an impacted similarity group, and recording the live fingerprint segment in a live segment structure.

11. The method of claim 10 , wherein the live segment structure contains information including a number of live slices, the number of live segments, and a list of which segments are live.

12. The method of claim 1 , wherein workers only copy forward the live segments into the new compression region when a ratio of the live segments to segments to be deleted falls below a predetermined threshold.

13. The method of claim 1 , wherein the workers delete the compression region after the live segments have been copied forward to the new compression region.

14. A non-transitory computer readable medium comprising computer executable instructions that, when executed, perform a method of a garbage collection operation, the method comprising:

instantiating a controller that estimates a number of workers needed for the garbage collection operation, wherein the controller;

accesses deletion records to retrieve or access slice recipes;

identifies impacted similarity groups from the deletion records and determines a size of the impacted similarity groups;

estimates the number of workers needed to clean the impacted similarity groups; and

prepares worker assignments based on a number of the impacted similarity groups and the size of the impacted similarity groups; and

instantiating and allocating workers, wherein the workers;

identify compression regions that include the impacted similarity groups, wherein the impacted similarity groups includes one or more segments to be deleted; and

for each of the identified compression regions:

mark the impacted similarity groups;

write-lock the impacted similarity groups;

mark live segments within the impacted similarity groups; and

copy forward the live segments into a new compression region.

15. The non-transitory computer readable medium of claim 14 , wherein the impacted similarity groups are identified from a deletion bucket, which stores information related to deleted objects.

16. The non-transitory computer readable medium of claim 14 , wherein the information related to deleted objects includes slices associated with deleted objects and the impacted similarity groups can be determined from the slices associated with deleted objects.

17. The non-transitory computer readable medium of claim 14 , wherein the controller estimates the number of workers using factors including one or more of an environmental variable, worker memory, impacted similarity groups, or IO operations.

18. The non-transitory computer readable medium of claim 14 , wherein while identifying impacted similarity groups, the impacted similarity groups are mapped to data structures that include live segments.

19. The non-transitory computer readable medium of claim 14 , wherein the worker marks live fingerprints segments by obtaining slice recipes for slices of live objects, identifying from the slice recipe whether the similarity group associated with that slice is an impacted similarity group, and records the live fingerprint segment in a live segment structure.

20. The non-transitory computer readable medium of claim 14 , wherein workers only copy forward the live segments into the new compression region when a ratio of the live segments to segments to be deleted falls below a predetermined threshold.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2020
From: AREVALO, MARIAH
To: EMC CORPORATION
Reel/Frame 055330/0983 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2020
From: NOTO, NICHOLAS A.; SHILANE, PHILIP; BRANDT, JOSEPH S.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054681/0386 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054796/0001 →
Continuity (2)
Continuation 16389763 · Apr 19, 2019
Related Publication 20210103522A1 · Apr 8, 2021