Global Cache Reference Delay for I/O Lock Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face increased read and write I/O response times and decreased performance due to the rising resources required for managing access to cached data and metadata, leading to inefficiencies in global cache management.
Innovation Solution
A method is implemented to manage global caches by accessing cache entries upon receiving I/O requests, holding references to determine if the operation is sequential, and delaying the release of these references to reduce the need for frequent global system lock acquisitions and releases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If global cache management uses traditional reference acquisition and release methods for each I/O operation, then cache access control is maintained, but I/O response time increases and system lock acquisition frequency increases
Solution Approach 1:
The system performs preliminary actions by acquiring references to cache entries before I/O operations and delaying their release until after the operations complete. This preliminary reference acquisition allows multiple I/O operations to proceed without repeated lock acquisitions, reducing I/O response time while maintaining cache access control through the reference counting mechanism.
Solution Approach 2:
The patent implements continuity of useful action by keeping references to cache entries held throughout the duration of I/O operations rather than releasing and re-acquiring them for each operation. This continuous reference holding eliminates the need for repeated system lock acquisitions and releases, maintaining reliable cache access control while significantly reducing I/O response time.
2Stability of the object's composition
If global cache management acquires and releases system locks for each cache access, then cache integrity is maintained, but CPU contention increases and I/O performance decreases
Solution Approach 1:
The system performs preliminary reference acquisition to cache entries before I/O operations begin. This preliminary action establishes the reference count and associated lock state upfront, allowing subsequent I/O operations to proceed without repeated lock acquisitions. Cache integrity is maintained through the reference counting mechanism while I/O performance improves due to reduced CPU contention from fewer lock operations.
Solution Approach 2:
By maintaining continuous reference holding throughout I/O operations, the patent eliminates the need for repeated system lock acquisitions and releases. This continuous action preserves cache integrity through the reference counting mechanism while significantly improving I/O performance by reducing CPU contention and eliminating redundant lock operations.
3Quantity of substance
If global cache management releases references immediately after cache entry access, then cache resource availability is maximized, but the number of system lock operations increases
Solution Approach 1:
The system performs preliminary reference acquisition before I/O operations and delays reference release until after operations complete. This preliminary action ensures cache entries are available for the duration of needed operations while reducing the total number of system lock operations. Cache resource availability is maintained through proper reference counting while device complexity is reduced by eliminating redundant lock acquisitions and releases.
Solution Approach 2:
The patent implements continuous reference holding throughout I/O operations rather than immediate release. This continuity ensures cache resources remain available during operations while significantly reducing the number of system lock operations. The reference counting mechanism maintains proper cache resource availability management while reducing operational complexity.
Data Source
AI summary
A method is used in managing global caches in data storage systems. A cache entry of a global cache of a data storage system is accessed upon receiving a request to perform an I/O operation on a storage object. The cache entry is associated with the storage object. Accessing the cache entry includes holding a reference to the cache entry. A determination is made as to whether the I/O operation is associated with a sequential access. Based on the determination, releasing the reference to the cache entry is delayed.


