Storage Controller Resource Fairness Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Resource management in complex computing systems, such as data storage array controllers, leads to resource starvation and inefficiencies due to erratic throughput and unfair allocation of resources, causing system-wide performance issues and potential deadlocks.

Innovation Solution

A fairness algorithm that monitors resource usage and allocates resources evenly among active systems, limiting excessive consumers while allowing under-allocated systems to process requests freely, and gradually reducing allocations as resources become scarce, preventing saw-tooth performance curves and ensuring fair access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If commands are queued when resources are exhausted, then resource starvation is avoided, but command latencies grow and system efficiency decreases

Engineering Contradiction:
Improveresource availabilityVSAvoidcommand latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system proactively monitors resource usage levels and rejects commands before resources are completely exhausted. By predicting resource exhaustion based on current usage trends and rejecting commands in advance, the system avoids the severe latency penalties associated with queuing commands when resources are depleted.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors resource usage and dynamically adjusts command acceptance based on real-time resource availability. This feedback mechanism allows the system to maintain optimal performance by adapting to changing resource conditions, rejecting commands when usage patterns indicate impending exhaustion.

Inventive Principle:
Principle #23Feedback

2Loss of time

If requests are rejected when resources are nearing exhaustion, then command latencies are reduced, but system throughput becomes erratic with saw-tooth performance curves

Engineering Contradiction:
Improvecommand latencyVSAvoidsystem throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system dynamically adjusts its resource management strategy based on real-time conditions, transitioning between different operational modes. Rather than using fixed rejection thresholds, the system adapts its behavior to current resource usage patterns, workload characteristics, and system state, maintaining smoother throughput while controlling latencies.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters such as resource allocation thresholds and command acceptance criteria based on monitored system state. By adjusting these parameters dynamically rather than using fixed values, the system achieves more consistent throughput while maintaining low latencies.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If resource monitoring and rejection mechanisms are implemented, then resource exhaustion is prevented, but additional resources are consumed for management overhead

Engineering Contradiction:
Improveresource managementVSAvoidcomputing power for management
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system implements monitoring and rejection mechanisms selectively rather than universally, applying resource management only where and when needed. By using partial monitoring focused on critical resources and conditions, the system reduces management overhead while maintaining effective resource control.

Inventive Principle:
Principle #16Partial or excessive action

4Productivity

If one or a small number of requesting systems consume all available resources, then those systems achieve high throughput, but other systems experience long latencies

Engineering Contradiction:
Improvethroughput for individual systemsVSAvoidlatency for other systems
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies different resource allocation policies to different requesting systems based on their individual needs, priorities, and usage patterns. Rather than uniform resource distribution, the system tailors resource access characteristics to local conditions, ensuring fair while efficient resource utilization across multiple systems.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7934027B2Critical resource management
Publication Date: 2011.04.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7934027B2 patent drawing
  • US7934027B2 patent drawing
  • US7934027B2 patent drawing

AI summary

In one embodiment, a method of managing critical resource usage in a storage network comprises receiving, in a storage controller, an input/output operation from a host, wherein the input/output operation identifies a storage unit, placing the input/output operation in a waiting queue, determining a maximum queue depth for at least one critical resource in the storage network required to execute the input/output command against the storage unit, and blocking one or more subsequent input/output commands from the host for the storage unit when the wait queue for the critical resource exceeds the maximum queue depth.