Multi-level bucket aggregation for journal destaging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional journal destaging in distributed storage systems is inefficient for certain types of write operations, such as random writes and writes to many small logical storage volumes, leading to low metadata update amortization and excessive bandwidth utilization, which degrades overall IO processing performance.
Innovation Solution
The implementation of multi-level bucket aggregation, where metadata updates are organized into first-level and second-level buckets, allowing for improved amortization and reduced bandwidth consumption by aggregating metadata pages from multiple first-level buckets into second-level buckets, optimizing the number of updates and maintaining high amortization for large logical storage volumes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If fixed-size pages are used for destaging metadata updates, then simplicity of implementation is maintained, but amortization efficiency deteriorates and excessive bandwidth is consumed
Solution Approach 1:
The patent segments metadata updates into variable-sized batches based on the number of updates, rather than using fixed-size pages. This segmentation allows the system to optimize batch sizes dynamically, improving amortization efficiency while maintaining implementation simplicity through the use of hash-based bucketing structures.
Solution Approach 2:
The system dynamically adjusts the number of metadata updates per batch based on runtime conditions. By using variable batch sizes instead of fixed pages, the system can adapt to different workload patterns, thereby improving amortization efficiency without significantly complicating the implementation.
2Productivity
If metadata updates are aggregated into large batches, then amortization efficiency improves, but bandwidth utilization increases and IO processing performance deteriorates
Solution Approach 1:
The patent applies partial aggregation by combining only a selective number of metadata updates into batches, rather than aggregating all updates. This partial action approach optimizes the balance between amortization efficiency and bandwidth utilization, preventing excessive bandwidth consumption while maintaining improved amortization compared to fixed-page methods.
Solution Approach 2:
The system changes the parameter of batch size from fixed to variable, allowing dynamic adjustment based on workload characteristics. This parameter change enables the system to optimize amortization efficiency for different types of write operations while controlling bandwidth utilization through adaptive batch sizing.
3Ease of manufacture
If conventional batch aggregation is used for all write operations, then implementation simplicity is maintained, but performance deteriorates for random writes and writes to small logical storage volumes
Solution Approach 1:
The patent applies local quality by using hash-based bucketing to group metadata updates from the same logical storage volume together. This local grouping optimizes performance for specific types of workloads (random writes, small volumes) while maintaining overall system simplicity, as the same mechanism handles all write operations uniformly.
Solution Approach 2:
The patent introduces hash-based bucketing as an intermediary structure between the write operations and the batch aggregation process. This intermediary organizes metadata updates in a way that improves performance for diverse workload types while keeping the overall implementation simple and uniform across different operation types.
Data Source
AI summary
An apparatus comprises at least one processing device configured to maintain a metadata update journal for at least a first storage node of a plurality of storage nodes of a distributed storage system, and to destage the metadata update journal of the first storage node to one or more storage devices accessible to the first storage node. The metadata update journal of the first storage node utilizes a multi-level bucket aggregation of metadata updates in which metadata pages each comprising a plurality of address-to-hash mapping pairs are arranged in a plurality of first-level buckets containing respective subsets of the metadata pages for respective different logical storage volumes, and a plurality of second-level buckets are each configured to aggregate multiple metadata pages from different ones of the first-level buckets in order to increase a number of metadata updates in each second-level bucket relative to numbers of metadata updates in its corresponding first-level buckets.


