Batch Number Request Ordering in Storage Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage system clusters face challenges in managing the execution order of requests, particularly when dealing with long-running or lost requests, as existing protocols lack the ability to specify arbitrary or exact orderings of requests within channels, leading to potential throughput issues and congestion.
Innovation Solution
The introduction of a batch number in the request ID allows for flexible execution ordering within channels, enabling arbitrary or concurrent execution of requests with the same batch number, while ensuring that requests with higher batch numbers are executed only after those with lower batch numbers, thus imposing a clear ordering constraint.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If requests are processed in strict sequence within channels, then ordering is maintained, but throughput decreases due to long-running requests blocking subsequent requests
Solution Approach 1:
The patent segments the request processing into batches using batch numbers. Requests with the same batch number can be processed concurrently or in any order, while maintaining ordering between different batches. This segmentation allows the system to process multiple requests within a batch simultaneously without violating the ordering constraint between batches, thereby improving throughput while maintaining reliability.
Solution Approach 2:
The patent introduces dynamic batch number assignment that allows flexibility in request processing. The batch number provides a dynamic ordering mechanism where requests can be grouped into batches that can be processed in parallel, and the batch number dynamically controls the ordering constraint. This dynamic approach allows the system to adapt between strict ordering and concurrent processing based on batch boundaries.
2Productivity
If requests are processed in arbitrary order to improve throughput, then concurrency increases, but explicit ordering constraints are violated
Solution Approach 1:
The patent changes the parameter of request identification by adding batch numbers to the request ID structure. This parameter change enables the system to distinguish between requests that can be processed in any order (same batch) and requests that require ordering (different batches). The batch number parameter provides a new dimension for controlling execution order without preventing concurrent processing of requests within the same batch.
3Measurement precision
If strict ordering is enforced for all requests, then ordering accuracy is maintained, but system complexity increases due to congestion management
Solution Approach 1:
The patent extracts the ordering constraint from individual request processing and applies it at the batch level instead. By taking out the ordering requirement from each individual request and applying it only between batches, the system reduces the complexity of congestion management while maintaining ordering accuracy. Requests within a batch can be processed without strict ordering constraints, simplifying the management logic.
Data Source
AI summary
A method for operating a computer data storage system is described. A plurality of requests are received from a client, each request of the plurality of requests having assigned a unique sequence number, each request being an input/output request to a data storage device. The plurality of requests is divided into a plurality of subsets of requests. A unique batch number is assigned to each subset of requests so that each subset of requests is assigned a unique batch number. A first subset of requests having a first batch number is executed in arbitrary order with respect to the sequence number of each request. A second subset of requests is executed in response to a second batch number after execution of all of the first subset of requests has completed.


