Resumable Garbage Collection Using Persistent Bloom Filters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Garbage collection in computer systems can be inefficient when suspended and resumed, leading to incorrect processing of objects written during suspension, resulting in cleaning inefficiencies and loss of previous work due to hash collisions and the need to reinitialize the cleaning process.
Innovation Solution
A resumable garbage collector system that generates data structures based on object unique identifiers, persists suspension information, and uses bloom filters to track deduplicated objects, allowing for seamless resumption of garbage collection without re-executing previous phases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If garbage collection is suspended and resumed, then system resources can be reallocated, but previous work is lost and reinitialization is required
Solution Approach 1:
The patent applies preliminary action by persisting the state of processed objects and their hash values before suspension. When garbage collection resumes, the system retrieves this persisted state and continues processing from where it left off, avoiding the need to reinitialize and reprocess already-cleaned objects. This preserves the work done during suspension and eliminates redundant reinitialization overhead.
2Reliability
If traditional garbage collection reprocesses all objects after resumption, then consistency can be maintained, but processing efficiency decreases
Solution Approach 1:
The patent extracts and stores the state information of processed objects (including their hash values and processing status) into persistent storage before suspension. Upon resumption, the system retrieves this extracted state information and uses it to skip already-processed objects, thereby maintaining consistency without reprocessing. This extraction mechanism allows the system to preserve reliability while dramatically improving productivity by avoiding redundant processing of the same objects.
3Measurement precision
If hash collisions occur during garbage collection, then object identification may be incorrect, but reprocessing is required to ensure accuracy
Solution Approach 1:
The patent creates and persists a copy of the object state information including hash values before garbage collection suspension. When resuming, the system retrieves these persisted copies and uses them to verify object identities without re-computing hashes from scratch. This copying approach maintains measurement precision by preserving accurate object identification information while reducing reprocessing time, as the system can quickly restore and verify object states from the persisted copies rather than重新计算所有哈希值.
Data Source
AI summary
Generate first data structure based on unique identifiers of objects in object storages. Set indicators in positions in first data structure corresponding to hashes of unique identifiers of active objects in storages. When garbage collection is suspended, store suspension information to persistent storage. Set indicators in second data structure positions corresponding to hashes of unique identifiers of data objects that are deduplicated to storages while garbage collection is suspended. When garbage collection is resumed, retrieve suspension information from persistent storage. Set indicators in positions in first data structure corresponding to hashes of unique identifiers of data objects corresponding to indicators set in second data structure positions. Copy active objects from first object storage to second if number of active objects in first object storage does not satisfy threshold. Reset indicators in first data structure positions corresponding to hashes of unique identifiers of active objects copied to second storage.


