Sub-block Ranged Locking for Journal Block Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed file systems, concurrent operations on non-overlapping sub-block ranges of a journal block often require exclusive locks, limiting the ability to process multiple independent operations simultaneously, which can lead to bottlenecks and reduced performance.
Innovation Solution
Implementing a ranged BTL hash table to track locking states of sub-block ranges, allowing for the establishment of shared locks on non-intersecting subsets of sub-block ranges, enabling independent and concurrent processing of write transactions without the need for exclusive locks over the entire block.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive locks are used on journal blocks to ensure data consistency, then reliability is improved, but productivity deteriorates due to sequential processing requirements
Solution Approach 1:
The patent divides a journal block into multiple sub-blocks and implements granular locking at the sub-block level rather than locking the entire block. This segmentation allows different transactions to access different sub-blocks simultaneously, enabling concurrent operations while maintaining data consistency within each sub-block. The locking mechanism is split into multiple independent locks corresponding to different sub-block ranges.
2Reliability
If exclusive locks are applied to entire journal blocks, then reliability is improved, but loss of time increases due to waiting for lock release
Solution Approach 1:
By segmenting the journal block into sub-blocks and implementing independent locks for each sub-block, the patent reduces lock wait time. Transactions can acquire locks on specific sub-blocks they need without waiting for locks on other sub-blocks to be released. This granular approach minimizes the time transactions spend waiting for locks while ensuring data consistency is maintained through proper locking protocols.
3Reliability
If exclusive locks are used on journal blocks, then reliability is improved, but device complexity increases due to lock management overhead
Solution Approach 1:
The patent introduces a data structure that organizes sub-block locks in a systematic manner, dividing the journal block into manageable sub-block segments. This segmentation approach, while adding some complexity, provides a structured framework for lock management that enables concurrent access control. The segmented lock structure allows for more efficient tracking and management compared to a monolithic lock approach.
4Reliability
If sequential processing is used to maintain data consistency, then reliability is improved, but productivity deteriorates due to inability to process multiple operations simultaneously
Solution Approach 1:
The patent segments the journal block into multiple sub-blocks that can be independently locked and processed. This segmentation enables parallel processing of multiple transactions that operate on different sub-blocks simultaneously, while still maintaining data consistency through proper locking protocols. The system can process multiple operations in parallel rather than forcing sequential execution, thereby improving throughput while preserving reliability.
Data Source
AI summary
Implementations are provided herein for sub-block ranged locking on a journal block. A file system locking scheme can be adjusted to provide ranged locks on sub-blocks of a journal block. By locking sub-block ranges of a journal block, two independent operations on the same block that do not overlap on a sub-block range can operate independent of each other and be processed concurrently without requiring an exclusive lock over the entire block. Delta write locks, delta read locks, and shared locks can be established on a sub-block range level.


