Token Bucket QoS for Storage Resource Hierarchy Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in efficiently managing and allocating resources, particularly in handling input/output (I/O) operations across multiple levels of storage resources, leading to potential bottlenecks and inefficiencies in servicing requests.

Innovation Solution

A method and system that utilize a token-based bucket mechanism to manage available resources within a storage resource hierarchy, where buckets represent available tokens for I/O operations, allowing for the determination of whether to service I/O operations based on token availability across multiple levels, and queuing operations when resources are insufficient, with periodic replenishment of tokens according to specified QoS limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If I/O operations are serviced immediately when resources are available, then response time is improved, but resource allocation efficiency deteriorates due to bottlenecks

Engineering Contradiction:
ImproveI/O operation response timeVSAvoidresource allocation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs preliminary actions by checking token availability in buckets before servicing I/O operations. The token bucket mechanism pre-allocates tokens representing storage resources, and the system checks whether sufficient tokens are available before committing to service an I/O operation. This preliminary check prevents resource contention and bottlenecks by ensuring resources are reserved in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary token bucket mechanism between the I/O operation request and the actual storage resource allocation. The bucket acts as a mediator that controls the flow of I/O operations by permitting or queuing requests based on token availability. This intermediary layer decouples the I/O submission from immediate resource consumption, improving both response time and allocation efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If storage resources are allocated to multiple hosts simultaneously, then resource utilization is improved, but resource management complexity deteriorates

Engineering Contradiction:
Improvestorage resource utilizationVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The token bucket mechanism serves multiple functions simultaneously: it tracks resource availability, controls I/O flow, manages quality of service limits, and coordinates allocations across multiple hosts. This universal mechanism simplifies resource management by providing a single framework that handles multiple aspects of storage resource allocation, reducing overall system complexity while enabling multi-host access.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements feedback through the token bucket mechanism, where the availability of tokens provides real-time information about resource capacity. When tokens are consumed by I/O operations, the bucket state changes, providing feedback that triggers replenishment based on QoS limits. This feedback loop enables automated resource management across multiple hosts without requiring complex centralized coordination.

Inventive Principle:
Principle #23Feedback

3Reliability

If QoS limits are enforced strictly, then resource fairness is improved, but I/O operation throughput deteriorates

Engineering Contradiction:
Improvequality of service fairnessVSAvoidI/O operation throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The token bucket mechanism dynamically adjusts I/O operation handling based on real-time token availability. When tokens are abundant, I/O operations are serviced immediately, maximizing throughput. When tokens are depleted, operations are queued, enforcing QoS fairness. This dynamic behavior allows the system to adapt between throughput optimization and fairness enforcement based on current resource conditions, rather than applying static limits.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs periodic replenishment of tokens in the buckets based on configured QoS limits and time periods. This periodic action ensures that resources are fairly allocated over time intervals, preventing any single host or operation from monopolizing resources continuously. The periodic refilling mechanism maintains fairness while allowing bursts of I/O operations when tokens are available, balancing throughput and fairness.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10268419B1Quality of service for storage system resources
Publication Date: 2019.04.23 EMC IP HLDG CO LLC
  • US10268419B1 patent drawing
  • US10268419B1 patent drawing
  • US10268419B1 patent drawing

AI summary

A hierarchy of multiple levels of storage resources and associated QOS (quality of service) limits and buckets of tokens may be specified. A different QOS limit may be applied to each individual storage resource. The buckets may denote current amounts of tokens available for consumption in connection with servicing I/O operations. Each bucket may denote a current amount of available tokens for a corresponding storage resource of included in the hierarchy. Processing may include receiving a first I/O operation directed to a first storage resource, and determining, in accordance with the buckets of available tokens, whether to service the first I/O operation.