Storage System Fair Resource Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face inefficiencies in resource utilization and management, particularly in handling data across multiple storage nodes and ensuring fair allocation of resources, leading to potential bottlenecks and data loss during power failures or node failures.

Innovation Solution

The implementation of a storage system with a cluster architecture that utilizes non-volatile solid-state storage units, distributed authorities for data management, and erasure coding schemes to ensure data redundancy and availability, along with a mechanism for proactive data rebuilding and rebalancing across storage nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored on multiple storage nodes with traditional architecture, then data redundancy is achieved, but system complexity and management overhead increase

Engineering Contradiction:
Improvedata redundancyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments data into chunks and distributes them across multiple storage nodes using erasure coding. Each node stores a portion of the encoded data, allowing the system to achieve redundancy without requiring complete copies of data on each node. This segmentation approach reduces the management complexity compared to traditional replication while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of data representation by applying erasure coding transformations. Instead of storing original data copies, the data is transformed into encoded chunks that can be reconstructed from any sufficient subset. This parameter change enables more efficient use of storage resources and simplifies the redundancy management model.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If traditional storage systems allocate resources without fair scheduling, then system throughput may increase, but resource utilization fairness deteriorates

Engineering Contradiction:
Improvesystem throughputVSAvoidresource utilization fairness
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system implements a feedback mechanism through its scheduling architecture that monitors resource usage across storage nodes and adjusts data allocation accordingly. The fair scheduling algorithm receives feedback about current system state and dynamically balances resource utilization, ensuring both high throughput and equitable distribution of storage resources among competing workloads.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If storage nodes are densely packed to increase capacity, then storage density improves, but heat dissipation and cooling requirements worsen

Engineering Contradiction:
Improvestorage capacityVSAvoidheat dissipation
Core Design Contradiction:
Quantity of substanceVSTemperature

Solution Approach 1:

The system segments storage capacity across distributed nodes rather than concentrating all storage in single dense arrays. This segmentation allows for better thermal management as heat is distributed across multiple physical locations rather than concentrated in one area, reducing cooling requirements while maintaining total storage capacity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11481261B1Preventing extended latency in a storage system
Publication Date: 2022.10.25 PURE STORAGE INC
  • US11481261B1 patent drawing
  • US11481261B1 patent drawing
  • US11481261B1 patent drawing

AI summary

Ensuring the fair utilization of system resources using workload based, time-independent scheduling, including: determining whether an amount of available system resources in the storage system has reached a predetermined reservation threshold; and responsive to determining that the amount of available system resources in the storage system has reached the predetermined reservation threshold: determining whether one or more entities in the storage system have utilized system resources in excess of their fair share by a predetermined threshold during one or more time-independent periods; and responsive to determining that one or more entities in the storage system have utilized system resources in excess of their fair share by the predetermined threshold during the time-independent period, limiting the one or more entities from issuing additional I/O requests to the storage system.