IO Request Reordering for Cross-Array Page Lock Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
IO performance degradation occurs during data replication between storage arrays with different page sizes due to lock contention when IOs are misaligned, leading to increased latency.
Innovation Solution
A method to determine if an IO request shares the same page with a previous request based on the source and target terminal's page sizes, and queue subsequent requests if they do, thereby reordering IOs to avoid page sharing and improve transmission speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If IO requests are transmitted without considering page size alignment, then transmission speed is maintained, but lock contention occurs causing increased latency
Solution Approach 1:
The system performs preliminary detection of page size differences between source and target storage arrays before transmitting IO requests. By calculating the page size ratio and determining alignment status in advance, the system can proactively queue misaligned requests to avoid lock contention, rather than reacting to latency issues after they occur.
Solution Approach 2:
The system queues IO requests that would cause page sharing before transmission occurs. By predicting which requests will land on the same target page and queuing them in advance, the system prevents lock contention from occurring, thereby reducing latency without significantly impacting overall transmission speed.
2Productivity
If page size is changed to improve storage efficiency, then storage efficiency improves, but IO replication performance deteriorates
Solution Approach 1:
The system dynamically adjusts IO transmission parameters based on the detected page size relationship between source and target arrays. When page size differences are detected, the system modifies transmission behavior by queueing certain requests, thereby adapting to the target array's page structure and maintaining replication performance despite different page size configurations.
Solution Approach 2:
The system applies different transmission strategies to different IO requests based on their alignment characteristics. Well-aligned requests are transmitted immediately while misaligned requests are queued, allowing the system to optimize for both storage efficiency (by allowing page size changes) and replication performance (by selectively adjusting transmission behavior).
Data Source
AI summary
Techniques for processing an input/output (IO) request involve transmitting a first IO request from a source terminal to a target terminal. Such techniques further involve determining whether a second IO request shares the same page of the target terminal with the first IO request based on a first page size of the source terminal and a second page size of the target terminal, the second IO request being after the first IO request. Such techniques further involve placing, in response to the second IO request sharing the same page of the target terminal with the first IO request, the second IO request in a queue for queuing up to wait for transmission. In this way, sequential IO requests are reordered, thereby avoiding IO performance degradation during cross-storage array platform replication, and improving the data transmission speed.


