Extent Store Layer Log Stream Checkpointing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional file systems face inefficiencies in logging and checkpointing metadata, leading to high write amplification and bandwidth disruption due to the need to write entire memory contents frequently, which is undesirable and disrupts system performance.
Innovation Solution
The implementation of an extent store layer with a key-value store organized as hash tables, where changes are recorded in a continuous log stream and written to SSD in batches, using a fuzzy checkpointing technique that represents a range of points in time rather than a single point, allowing for efficient logging and reconciliation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional file systems perform fixed checkpoints by writing the entire memory state to disk, then consistency is ensured, but write amplification increases and system performance deteriorates
Solution Approach 1:
The patent segments the monolithic checkpoint operation into incremental updates organized as a log stream. Instead of writing all metadata at once, changes are divided into discrete log entries that can be written sequentially to SSD, reducing the peak write burden and improving performance while maintaining consistency through the log structure.
Solution Approach 2:
The patent performs preliminary actions by maintaining a continuous log stream of metadata changes in memory before checkpointing. This log stream captures all modifications as they occur, allowing the system to prepare for checkpointing incrementally rather than requiring a complete memory dump at checkpoint time, thereby reducing write amplification.
2Reliability
If metadata updates are written frequently to ensure data integrity, then reliability improves, but write amplification to storage increases
Solution Approach 1:
The patent creates a copy of metadata changes in the form of log entries that reference the original data without duplicating the entire metadata set. Each log entry captures only the essential change information, allowing frequent updates to be recorded with minimal storage overhead and reduced write amplification compared to writing complete metadata copies.
Solution Approach 2:
The patent changes the parameter of update frequency by enabling more frequent logging of metadata changes to the log stream. This is made possible by the efficient log structure that minimizes the cost of each write operation, allowing the system to increase update frequency for better data integrity without proportionally increasing write amplification.
3Loss of information
If the entire memory is checkpointed to capture all metadata updates, then completeness is ensured, but bandwidth disruption occurs
Solution Approach 1:
The patent extracts only the necessary change information from the full memory state and stores it in the log stream. Instead of checkpointing the entire metadata memory, the system extracts and logs only the modifications that occurred, ensuring completeness of captured changes while minimizing the bandwidth required for write operations.
Solution Approach 2:
The patent applies partial action by writing only the portion of metadata that has changed (the log stream) rather than the entire memory contents. This selective approach captures all necessary updates for completeness while performing a partial write operation that causes minimal bandwidth disruption to the storage system.
4Speed
If metadata is spread evenly through main memory for efficient access, then read performance improves, but checkpointing becomes more expensive
Solution Approach 1:
The patent introduces the log stream as an intermediary structure that decouples the metadata storage organization from the checkpointing process. Metadata can remain spread evenly through memory for efficient reads, while the log stream serves as a mediator that captures and sequences the changes, allowing checkpointing to operate on the compact log rather than the distributed metadata, thus reducing checkpoint size.
Data Source
AI summary
In one embodiment, a cluster uses an extent store layer and a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents. One or more non-volatile logs (NVLogs) are maintained in the cluster. The one or more NVLogs include an extent store layer log maintained by the extent store layer. The extent store layer log records changes to the set of hash tables as a plurality of log stream structures, where each log stream structure is associated with a hash table. One or more storage devices of the cluster are organized as a plurality of log streams, where each log stream is associated with a corresponding log stream structure of the extent store layer log.


