Storage QoS Controller Latency-Based Queue Depth Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face challenges in efficiently managing multiple workloads, as they often provide a best-effort service, leading to inefficiencies in resource allocation and difficulty in specifying service levels for each workload, especially in outsourced storage environments where workloads compete for shared resources.
Innovation Solution
A quality-of-service controller that prioritizes requests based on latency values and adjusts the target queue depth to maintain desired performance objectives, ensuring that each workload meets its specified latency and throughput requirements by selectively forwarding requests to storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate physical resources are assigned to each workload, then service level specification is improved, but system flexibility and resource utilization deteriorate
Solution Approach 1:
The patent segments the storage system into multiple virtual storage systems, each dedicated to a specific workload. This segmentation allows each workload to have its own virtual storage environment with guaranteed service levels while sharing the underlying physical infrastructure, thus maintaining both reliability and flexibility.
Solution Approach 2:
The patent introduces a virtualization layer as an intermediary between the physical storage resources and multiple workloads. This virtualization layer allocates and manages resources dynamically, providing service level guarantees to each workload without requiring dedicated physical resources, thereby maintaining system flexibility while improving service level specification.
2Reliability
If excess capacity is provisioned to ensure adequate service, then service quality is improved, but system cost increases
Solution Approach 1:
The patent implements dynamic resource allocation where the virtualization layer can adjust resource distribution in real-time based on actual workload demands. This dynamic approach ensures service quality is maintained while avoiding the need to provision excess capacity for peak loads, thus reducing overall resource requirements and system cost.
Solution Approach 2:
The patent creates a universal resource pool that serves multiple workloads simultaneously. The virtualization layer enables the same physical resources to be shared across different workloads with different service level requirements, maximizing resource utilization and eliminating the need for over-provisioning while maintaining service quality.
3Device complexity
If best effort service is provided to all requests, then system simplicity is maintained, but workload performance isolation deteriorates
Solution Approach 1:
The patent segments the storage system into multiple virtual storage systems, each handling a specific workload with dedicated resource allocation. This segmentation provides performance isolation between workloads while maintaining relative system simplicity through automated virtualization management, preventing the need for complex manual resource allocation.
Solution Approach 2:
The virtualization layer implements self-service mechanisms that automatically allocate and manage resources based on workload requirements and service level agreements. This automation maintains system simplicity by eliminating the need for complex manual configuration while providing effective performance isolation between workloads through intelligent resource management.
Data Source
AI summary
A quality-of-service controller and related method for a data storage system. Requests for each of a plurality of storage system workloads are prioritized. The requests are selectively forwarded to a storage device queue according to their priorities so as to maintain the device queue at a target queue depth. The target queue depth is adjusted response to a latency value for the requests wherein the latency value is computed based on a difference between an arrival time and a completion time of the requests for each workload. Prioritizing the requests may be accomplished by computing a target deadline for a request based on a monitored arrival time of the request and a target latency for its workload. To reduce latencies, the target queue depth may be reduced when the target latency for a workload is less than its computed latency value. To increase throughput, the target queue depth may be increased when the target latency for each workload is greater than each computed latency value.


