Aggregating IO Requests to Optimize Physical Large Block Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Active-active storage systems face inefficiencies in utilizing persistent memory tiers due to mismatched transaction block sizes and the need to recalculate parity on each write, leading to suboptimal use of physical large blocks (PLBs) and increased latency.
Innovation Solution
The method involves aggregating IO requests based on a block size, selecting IO requests from different lists to reach the desired block size, and committing these aggregated requests in batches to persistent storage, thereby optimizing the use of PLBs and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If IO requests are processed individually with mismatched block sizes, then transaction latency is reduced, but physical large block (PLB) utilization efficiency deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-calculating parity information and pre-aggregating IO requests into batches before committing them to storage. This allows the system to optimize block size utilization in advance while maintaining low latency through asynchronous processing and background aggregation operations.
Solution Approach 2:
The patent merges multiple small IO requests into larger batches that can be efficiently written to PLBs. By combining multiple transactions with mismatched block sizes into unified write operations, the system achieves both low latency (through batch processing) and high PLB utilization efficiency (through optimized block size aggregation).
2Reliability
If parity is recalculated on each write operation, then data integrity is maintained, but write performance deteriorates
Solution Approach 1:
The system performs preliminary parity calculations during the aggregation phase before the actual write operation. By pre-computing parity information for batches of IO requests, the system maintains data integrity while avoiding repeated parity calculations during commit operations, thus improving write performance.
Solution Approach 2:
The patent combines multiple write operations into a single batch operation where parity is calculated once for the entire batch rather than individually for each write. This merging approach maintains data integrity through comprehensive parity coverage while dramatically improving write performance by eliminating redundant calculations.
Data Source
AI summary
A method, computer program product, and computer system for receiving, by a computing device, a plurality of IO requests. A portion of the plurality of IO requests may be aggregated based upon a block size. The portion of the plurality of IO requests may be committed to persistent storage in a batch based upon, at least in part, aggregating the portion of the plurality of IO requests based upon the block size.


