Staggering Garbage Collection via Time Thresholds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In evenly distributed homogeneous storage systems with log-structured storage devices, concurrent garbage collection operations can lead to sudden performance degradation due to simultaneous triggering across multiple devices.
Innovation Solution
Introducing time and alternative low storage region thresholds to stagger the initiation of garbage collection operations across storage devices, ensuring that garbage collection is triggered only when the unused storage region count meets specific thresholds and a timer expires, thereby spreading out these operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If garbage collection is triggered based on default low storage region threshold, then storage space is efficiently reclaimed, but simultaneous triggering across multiple devices causes performance degradation
Solution Approach 1:
The system performs preliminary actions by introducing time thresholds and alternative low storage region thresholds before garbage collection triggering. Each storage device is assigned a random time threshold and alternative threshold in advance, which prevents simultaneous triggering while maintaining efficient space reclamation. This preliminary configuration resolves the contradiction by preparing staggered triggering conditions that balance performance stability with storage efficiency.
2Productivity
If garbage collection operations are concurrent across multiple storage devices, then storage space is reclaimed quickly, but system performance experiences sudden degradation
Solution Approach 1:
The system implements periodic action by introducing time thresholds that cause garbage collection operations to trigger at different periodic intervals. Each storage device uses a randomly assigned time threshold, creating a distributed periodic triggering pattern. This approach maintains productivity through regular space reclamation while avoiding the harmful effect of simultaneous operations by spreading them out across different time periods.
Solution Approach 2:
The system applies parameter changes by modifying the triggering parameters from a single default low storage region threshold to multiple parameters including time thresholds and alternative low storage region thresholds. This parameter expansion allows the system to control when garbage collection occurs, balancing reclamation speed with performance stability by adjusting temporal and threshold parameters independently.
3Reliability
If time threshold and alternative low storage region threshold are introduced, then concurrency of garbage collection is reduced, but system complexity increases
Solution Approach 1:
The system applies segmentation by dividing the garbage collection triggering logic into separate, independent components: default low storage region threshold, alternative low storage region threshold, and time threshold. Each component serves a specific purpose and can be managed independently. This segmentation reduces the perceived complexity by organizing parameters into functional groups, making the system more maintainable despite the increased number of parameters.
Data Source
AI summary
Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device, a garbage collection operation is initiated. In some embodiments, processing the input/output operations includes using a log-structured array format.


