Resource Virtualization Switch QoS for Storage Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional servers lack quality of service (QoS) differentiation for storage applications, leading to delays and bandwidth inefficiencies, as traffic from multiple applications is aggregated onto shared queues without QoS mechanisms, resulting in critical applications being blocked or slowed by less critical requests.
Innovation Solution
A resource virtualization switch is introduced to provide QoS by mapping communications from multiple servers to port adapters connected to a fibre channel fabric, using multiple queues with different QoS characteristics such as priority and bandwidth, allowing for per-application resource allocation and traffic shaping.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traffic from multiple storage applications is aggregated onto shared queues, then device driver complexity is reduced, but quality of service differentiation is lost and critical applications may be blocked by less critical requests
Solution Approach 1:
The patent introduces a switch with a queue manager as an intermediary component between the device driver and storage applications. The queue manager receives I/O requests from the device driver and distributes them to multiple application-specific queues based on QoS parameters. This intermediary enables QoS differentiation without requiring the device driver to implement complex QoS logic, thus resolving the contradiction by maintaining driver simplicity while achieving reliability through the intermediate queue management layer.
2Productivity
If a single storage application uses all available bandwidth, then application performance is maximized, but other applications suffer from bandwidth starvation
Solution Approach 1:
The patent implements local quality by creating distinct queues with differentiated QoS characteristics for different storage applications. Each application is assigned specific queues with tailored bandwidth and priority settings according to their requirements. This allows critical applications to receive guaranteed bandwidth and priority treatment while less critical applications use remaining capacity, thereby achieving both high performance for individual applications and fair bandwidth distribution across the system.
Solution Approach 2:
The queue manager dynamically adjusts queue parameters such as bandwidth allocation, priority levels, and threshold settings based on application requirements and system conditions. By changing these parameters locally for different applications and queues, the system optimizes productivity for each application while ensuring adequate bandwidth distribution, resolving the contradiction between maximizing individual performance and maintaining overall resource availability.
3Ease of operation
If I/O requests from different server applications are aggregated onto shared queues, then resource utilization is simplified, but delays in handling requests for one application affect all applications
Solution Approach 1:
The patent segments the shared queue into multiple application-specific queues, each handling I/O requests for a particular storage application. This segmentation isolates traffic flows so that delays in one application's requests do not block others. The queue manager handles the complexity of managing multiple queues, maintaining ease of operation from the application perspective while eliminating the time loss caused by aggregation-induced blocking.
4Quantity of substance
If QoS mechanisms are applied at the server level, then bandwidth allocation is controlled, but application-level QoS differentiation is not achieved
Solution Approach 1:
The patent adds another dimension to QoS management by introducing application-level queue differentiation within the server. Instead of only server-level bandwidth control, the system now operates at two levels: server-level aggregation for overall bandwidth management and application-level queue assignment for fine-grained QoS differentiation. This dimensional expansion enables both bandwidth control and application-specific QoS policies to coexist, resolving the contradiction between centralized control and decentralized adaptability.
Data Source
AI summary
Methods and apparatus are provided for allowing quality of service (QoS) configuration for storage applications running on servers connected to a storage area network (SAN). Resources such as host bus adapters (HBAs) are offloaded from individual servers onto a resource virtualization switch. Servers are connected to the resource virtualization switch using an I/O bus connection. The resource virtualization switch provides storage applications running on connected servers with different quality of service levels. The resource virtualization switch can also apply traffic shaping policies associated with QoS.


