Dynamic Queue Depth Allocation for Multi-Site Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-site cloud storage systems, the static allocation of queue depth across multiple sessions can lead to inefficiencies, particularly in disaster recovery scenarios where secondary sites consume command buffers even when not actively used, limiting performance and causing wasteful resource allocation.
Innovation Solution
Implementing a dynamic queue depth allocation method that adjusts queue depth based on session activeness, allocating a minimum queue depth to non-preferred paths during normal conditions and increasing it only when the primary path fails, thereby optimizing resource utilization and improving performance for both disaster recovery and burst workloads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If static queue depth allocation is used across multiple sessions, then resource allocation is simplified, but resource utilization efficiency deteriorates due to wasteful consumption of command buffers at secondary sites
Solution Approach 1:
The patent implements dynamic queue depth allocation that adjusts the number of command buffers allocated to each session based on its current state. Active sessions receive higher queue depths while inactive or standby sessions receive reduced queue depths, allowing the system to adapt resource allocation in real-time rather than using fixed static allocation. This resolves the contradiction by maintaining simplicity through automated dynamic adjustment while dramatically improving resource utilization efficiency.
2Reliability
If minimum queue depth is allocated to non-preferred paths, then disaster recovery capability is maintained, but system performance deteriorates due to queue full responses during normal operations
Solution Approach 1:
The patent applies different queue depth allocations to different paths based on their role and state. Preferred active paths receive high queue depths for optimal performance, while non-preferred standby paths receive minimal queue depths sufficient for disaster recovery but insufficient to cause performance degradation. This local differentiation resolves the contradiction by giving each path the quality (queue depth) appropriate to its function.
Solution Approach 2:
The system dynamically changes the queue depth parameter for non-preferred paths based on whether they are in standby or active state. During normal operations, non-preferred paths have reduced queue depths to prevent queue full responses and maintain performance. When disaster recovery is needed, the parameter is increased to ensure reliability. This parameter adjustment resolves the contradiction between performance and disaster recovery capability.
3Productivity
If queue depth is increased for burst workloads, then processing capacity is improved, but resource waste increases during normal operations
Solution Approach 1:
The patent implements dynamic queue depth allocation that automatically adjusts the number of command buffers allocated to each session based on its current workload state. During burst workloads, active sessions receive increased queue depths to maximize processing capacity. During normal operations, queue depths are reduced to the minimum necessary level, preventing resource waste. This dynamic adaptation resolves the contradiction between processing capacity and resource waste by matching resource allocation to actual demand in real-time.
Data Source
AI summary
Aspects of the invention include techniques for implementing a dynamic queue depth in a multi-site system. A non-limiting example method includes initiating an initiator of a multi-site system and initiating a target system of the multi-site system. The target system includes a preferred site and a non-preferred site. The method includes receiving, by the target system, a session creation request from the initiator. The session creation request targets the non-preferred site. In response to the session creation request targeting the non-preferred site, a queue depth allocator of the multi-site system allocates a minimum queue depth to a path between the initiator and the non-preferred site.


