Extent Hashing for Distributed Storage Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, a single storage system often becomes overburdened with data access requests, leading to degraded performance and speed, as it fails to effectively leverage and distribute processing and storage resources across the cluster.

Innovation Solution

The implementation of an extent hashing technique that distributes data and metadata evenly among nodes in a cluster by using a hash function to generate a hash value, which is then truncated and divided into buckets, assigning these buckets to extent store instances based on capacity and resource utilization, ensuring uniform distribution and load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If data and metadata are concentrated on a single storage system, then simplicity of architecture is maintained, but processing load and storage consumption become excessive leading to degraded performance

Engineering Contradiction:
Improvestorage architecture simplicityVSAvoiddata access speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments data into extents and metadata into extent metadata, then distributes them across multiple storage systems using extent hashing. This segmentation allows the cluster to share processing and storage loads, improving data access speed while maintaining architectural simplicity through standardized distribution mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of distribution by using extent hashing to map extents to specific storage systems based on hash values. This creates a systematic multi-dimensional distribution approach across the cluster, transforming the single-point storage model into a distributed architecture that improves performance without excessive complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If data is distributed across multiple storage systems, then processing load is reduced and performance is improved, but system complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoiddistributed storage management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The extent hashing mechanism operates autonomously to distribute extents and metadata across storage systems without requiring complex centralized management. Each storage system independently computes hash values and places data accordingly, enabling self-service distribution that improves performance while minimizing management complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the distribution parameter from arbitrary or sequential placement to hash-based placement. By using extent hashing as the distribution parameter, the system achieves uniform load distribution across storage systems, improving data access speed while simplifying management through a deterministic and scalable approach.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If all storage systems service all data requests, then resource utilization is maximized, but load balancing becomes difficult to manage

Engineering Contradiction:
Improveresource utilizationVSAvoidload distribution management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The extent hash value acts as an intermediary that deterministically maps extents to specific storage systems. This intermediary mechanism enables automatic load balancing across the cluster, maximizing resource utilization while eliminating the need for complex manual load distribution management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces mechanical load balancing mechanisms (such as centralized schedulers or manual distribution) with a computational hash-based system. This substitution automates load distribution through deterministic hash calculations, improving resource utilization while simplifying operations through an algorithmic rather than mechanical approach.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9405783B2Extent hashing technique for distributed storage architecture
Publication Date: 2016.08.02 NETAPP INC
  • US9405783B2 patent drawing
  • US9405783B2 patent drawing
  • US9405783B2 patent drawing

AI summary

In one embodiment, a technique is provided for distributing data and associated metadata within a distributed storage architecture. A set of hash tables that embody mappings of cluster-wide identifiers associated with storage locations are stored for write data of write requests organized into extents. A hash value is generated from a hash function applied to each extent. The hash value is overloaded and used for multiple purposes within the distributed storage architecture, including (i) a remainder computation on the hash value to select a bucket of a plurality of buckets representative of the extents, (ii) a hash table selector of the hash value to select a hash table from the set of hash tables, and (iii) a hash table index computed from the hash value to select an entry from a plurality of entries of the selected hash table having a cluster-wide identifier identifying a storage location for the extent.