Scalable Segment Cleaning for Log-Structured File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log-structured file systems (LFS) face challenges in preserving segment cleaning efficiencies at scale, leading to inefficiencies in resource utilization and increased costs due to write amplification and difficulty in load balancing.

Innovation Solution

Implementing a scalable segment cleaning mechanism that determines counts of segment cleaners and virtual nodes, assigns each virtual node to a segment cleaner, and reassesses assignments based on changes in cleaner and node counts, using techniques like consistent hashing for load balancing and a segment usage table to track usage and identify cleaning candidates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If segment cleaning is performed in traditional LFS, then storage space can be reclaimed, but write amplification increases and resource utilization deteriorates at large scale

Engineering Contradiction:
Improvestorage space reclamationVSAvoidwrite amplification
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The system segments the LFS into multiple log segments and introduces virtual nodes as intermediate layers between physical segments and segment cleaners. Each virtual node manages a subset of segments, enabling finer-grained control and reducing the overhead on individual cleaners, thereby mitigating write amplification while maintaining effective storage reclamation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Virtual nodes are introduced as intermediary components between physical log segments and segment cleaners. These virtual nodes aggregate segment cleaning requests and coordinate with multiple cleaners, distributing the workload efficiently and reducing the direct burden on individual cleaners, thus lowering write amplification while preserving storage reclamation capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If LFS is implemented on large scale, then storage capacity increases, but segment cleaning efficiency deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidsegment cleaning efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system divides the large-scale LFS into multiple manageable units by introducing virtual nodes that each oversee specific subsets of log segments. This segmentation allows segment cleaners to work on smaller, more manageable portions of data, maintaining cleaning efficiency even as overall storage capacity scales to petabyte levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a virtualization dimension to the traditional LFS architecture. By introducing virtual nodes as an intermediate layer between physical segments and cleaners, the system creates a new organizational dimension that enables efficient management and cleaning of large-scale storage without linearly increasing cleaner overhead.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If more segment cleaners are added to handle increased workload, then cleaning capacity increases, but system complexity and load balancing difficulty increase

Engineering Contradiction:
Improvecleaning capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Virtual nodes serve as mediators between multiple segment cleaners and the underlying log segments. They abstract the complexity of coordinating numerous cleaners, providing a simplified interface for workload distribution and automatically managing load balancing across cleaners, thus increasing cleaning capacity without proportionally increasing system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Virtual nodes perform multiple functions including segment assignment, cleaning coordination, and load balancing across multiple segment cleaners. This multi-functionality consolidates several management responsibilities into a single component, reducing overall system complexity while enabling the deployment of numerous cleaners to handle increased workload.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11494110B2Scalable segment cleaning for a log-structured file system
Publication Date: 2022.11.08 VMWARE INC
  • US11494110B2 patent drawing
  • US11494110B2 patent drawing
  • US11494110B2 patent drawing

AI summary

Scalable segment cleaning for log-structured file systems (LFSs) includes determining counts of segment cleaners and virtual nodes, with each virtual node being associated with a plurality of objects. Each virtual node is assigned to a selected segment cleaner. Based at least on the assignments, performing, for each virtual node, segment cleaning of the objects by the assigned segment cleaner. A portion, less than all, of the virtual nodes are reassigned to a newly selected segment cleaner based on a change of the count of the segment cleaners and/or a change of the count of the virtual nodes. Based at least on the reassignments, segment cleaning of the objects is performed, for each reassigned virtual node, by the reassigned segment cleaner. In some examples, the objects comprise virtual machine disks (VMDKs) and the segment cleaning uses a segment usage table (SUT) to track segment usage and identify segment cleaning candidates.