Distributed QoS Management via Latency-Based Window Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing QoS management techniques for storage arrays are inefficient due to centralized throttling solutions that lead to substantial utilization losses and non-work-conserving behavior, particularly in distributed systems where storage arrays appear as 'black boxes' and are not easily configurable for resource allocation among multiple hosts accessing shared resources.

Innovation Solution

A method and system that manage IO request queues independently for each host, adjusting the window size based on current average latency to ensure fair distribution of resources and maintain low queuing delays while maximizing throughput, using an Exponentially Weighted Moving Average (EWMA) for latency calculation and an additive increase/multiplicative decrease (AIMD) policy for window size adjustment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If centralized throttling solutions are used to manage QoS for storage arrays, then resource allocation control is simplified, but utilization losses increase and work-conserving behavior is compromised

Engineering Contradiction:
ImproveQoS management complexityVSAvoidresource utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the centralized throttling function into distributed per-host issue queue managers. Each host independently manages its own issue queue using local latency measurements, eliminating the need for centralized coordination while maintaining QoS control. This segmentation resolves the contradiction by distributing complexity locally rather than centrally, preserving work-conserving behavior through independent host optimization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each host serves itself by autonomously managing its issue queue based on locally measured latency. The host uses its own latency measurements to adjust its issue queue window size without external intervention, making the system self-regulating. This self-service approach eliminates utilization losses associated with centralized throttling while keeping each host's management complexity low through autonomous operation.

Inventive Principle:
Principle #25Self-service

2Reliability

If host-based throttling solutions with centralized monitoring are used, then QoS control is achieved, but communication costs increase substantially at finer granularity

Engineering Contradiction:
ImproveQoS control accuracyVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the QoS control logic from centralized monitoring and places it within each host's issue queue manager. Each host independently measures its own latency and adjusts its issue queue window size locally, eliminating the need for continuous inter-host communication. This extraction maintains QoS control accuracy while dramatically reducing communication overhead to minimal local operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements local feedback where each host measures its own latency and uses this feedback to adjust its issue queue window size. This closed-loop control at the host level eliminates the need for centralized monitoring and communication, achieving QoS control accuracy through local latency measurement and adjustment without substantial communication costs.

Inventive Principle:
Principle #23Feedback

3Reliability

If strict throttling solutions are implemented to guarantee minimum service levels, then QoS guarantees are achieved, but efficiency losses increase and work-conserving behavior is lost

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidthroughput efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic issue queue window size adjustment based on measured latency rather than static throttling thresholds. Each host dynamically adjusts its window size in response to actual latency conditions, allowing flexible QoS guarantees that adapt to changing workload conditions. This dynamic approach maintains work-conserving behavior by allowing hosts to efficiently utilize available resources while still guaranteeing minimum service levels through latency-based control.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8127014B2Quality of service management
Publication Date: 2012.02.28 VMWARE INC
  • US8127014B2 patent drawing
  • US8127014B2 patent drawing
  • US8127014B2 patent drawing

AI summary

A method and system for providing quality of service to a plurality of hosts accessing a common resource is described. According to one embodiment, a plurality of IO requests is received from clients executing as software entities on one of the hosts. An IO request queue for each client is separately managed, and an issue queue is populated based on contents of the IO request queues. When a host issue queue is not full, a new IO request is entered into the host issue queue and is issued to the common resource. A current average latency observed at the host is calculated, and an adjusted window size is calculated at least in part based on the current average latency. The window size of the issue queue is adjusted according to the calculated window size.