Optimistic Locking for Shared File System Transaction Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Shared file systems face bottlenecks due to the need for exclusive reservation of data storage units for lock acquisition, which prevents other contexts from accessing unrelated resources until the reservation is released, leading to inefficiencies and potential data corruption.
Innovation Solution
Implement an 'optimistic locking' method that defers exclusive reservation of the data storage unit until the transaction is completed in memory, allowing locks to be acquired simultaneously under a single reservation, reducing the number of reservations required and increasing operational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive reservation of data storage unit is performed for lock acquisition, then data corruption is prevented, but operational efficiency deteriorates due to bottleneck
Solution Approach 1:
The patent applies preliminary action by reading lock states and constructing completed transactions in memory before acquiring locks. This allows the system to prepare transaction details beforehand, then acquire all required locks simultaneously under a single reservation, reducing the bottleneck of sequential lock acquisition while maintaining data integrity through proper locking protocols
2Reliability
If separate reservations are made for each lock, then lock acquisition is ensured, but the number of reservations increases creating bottleneck
Solution Approach 1:
The patent merges multiple lock acquisition operations into a single reservation by first reading all required lock states in memory, constructing the complete transaction, and then acquiring all locks simultaneously under one reservation. This consolidates what would otherwise be multiple separate reservations into a single operation, reducing system complexity and eliminating the bottleneck
Data Source
AI summary
In a file system shared by multiple servers, reservation of a data storage unit such as a LUN of a disk array to acquire locks in order to commit a transaction acting on data stored in the data storage unit is deferred until the transaction is completed in RAM and the locks can be acquired in parallel during a single instance of reserving the data storage unit.


