Log-Structured Translation Table Updates for Lower Lock Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face inefficiencies in managing translation tables (TTs) for metadata pages due to in-place updates, leading to increased contention and latency, especially when using a log-structured system (LSS) for metadata, which can result in excessive lock contention and cache resource consumption.
Innovation Solution
Implement a log-structured system (LSS) for translation tables (TTs) by maintaining a unified cache structure for TT entries and using entry-level locking instead of page-level locking, along with a unified hash table to manage both TT cache entries and TT log entries, reducing contention and optimizing cache usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If in-place updates are used for translation table entries, then update speed is improved, but lock contention increases and cache resource consumption increases
Solution Approach 1:
The translation table is divided into multiple pages, and locking is applied at the page level rather than entry level. This segmentation allows multiple entries within the same page to be updated concurrently without requiring individual entry locks, reducing overall lock contention while maintaining update speed.
Solution Approach 2:
The system introduces a new dimension of organization by implementing a log-structured storage system for translation table updates. Instead of directly updating entries in the main translation table, updates are logged and applied asynchronously, separating the update path from the access path and reducing lock contention.
2Device complexity
If in-place updates are used for translation table entries, then device complexity is reduced, but cache resource consumption increases
Solution Approach 1:
Update operations are extracted from the main translation table access path and placed into a separate log structure. This allows the main translation table to be read without requiring updates to be immediately reflected in cache, reducing cache resource consumption while maintaining simple device architecture.
Solution Approach 2:
Updates are recorded in advance in a log structure before being applied to the translation table. This preliminary action allows the system to track changes without immediately modifying the main translation table, reducing cache resource consumption while keeping device complexity low.
3Productivity
If log-structured system is used for metadata, then productivity is improved, but lock contention increases
Solution Approach 1:
The log-structured metadata system is divided into multiple segments or pages, each with its own locking mechanism. This segmentation allows concurrent access to different segments, improving productivity while reducing lock contention through parallel processing capabilities.
4Measurement precision
If entry-level locking is used instead of page-level locking, then access precision is improved, but lock contention increases
Solution Approach 1:
The system segments the translation table into pages and applies locking at the page level rather than individual entry level. This segmentation provides sufficient access precision for most operations while dramatically reducing lock contention by allowing multiple entries within the same page to be accessed concurrently.
Data Source
AI summary
In at least one embodiment, processing can include: receiving, from a client, a request to access a metadata (MD) page, wherein the request specifies a lock type denoting a particular level of access to the MD page that is being requested by the request; and responsive to receiving the request, performing first processing including: locking the MD page and a corresponding translation table entry E1 for the MD page in accordance with the lock type denoting a particular level of access being requested, wherein E1 maps a logical address LA1 of the MD page to a physical storage or location PA1 on non-volatile storage where the MD page is stored; and subsequent to said locking, returning a response including the MD page to the client.


