Hierarchical Workload Allocation for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale distributed storage systems face bottlenecks due to uneven workload distribution, leading to inefficient resource utilization and metadata waste, especially when scaling out, as existing methods either underutilize or overutilize shards and workload allocation units.

Innovation Solution

A hierarchical workload allocation method that dynamically reallocates first and second type shards among workload allocation units, maintaining association with compute cores while optimizing load balancing, allowing for efficient scaling without disrupting ongoing tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If workload is statically allocated to shards, then system structure is simple, but resource utilization becomes inefficient when scaling out

Engineering Contradiction:
Improveworkload allocation structureVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic workload allocation where the system automatically reassigns shards to compute cores based on current system state. When compute nodes are added or removed, the workload allocation unit dynamically recalculates and redistributes shards to maintain optimal balance, transforming the static allocation model into an adaptive dynamic system that responds to scaling events.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the allocation parameters (which compute core handles which shard) based on system configuration. The workload allocation unit monitors compute node availability and adjusts the mapping between compute cores and shards, changing the distribution parameters to optimize resource utilization without requiring fixed static assignments.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If shards are reallocated during scale-out, then resource utilization improves, but ongoing storage operations may be disrupted

Engineering Contradiction:
Improveresource utilizationVSAvoidstorage operation continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The workload allocation unit performs preliminary assessment before reallocation by identifying which compute nodes are newly added or removed. It plans the shard redistribution in advance, determining the optimal target allocation before actually moving shards, thereby preparing the system to minimize disruption to ongoing operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system performs rapid shard reassignment during scale-out events by skipping unnecessary intermediate steps. The workload allocation unit directly reallocates shards from underutilized compute cores to newly added compute cores in a single coordinated operation, reducing the time window during which operations could be disrupted.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Quantity of substance

If new compute nodes are added, then system capacity increases, but workload balancing becomes more complex

Engineering Contradiction:
Improvecompute resource capacityVSAvoidworkload balancing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The workload allocation unit implements self-service automation that autonomously detects when compute nodes are added to the cluster and automatically performs the complex task of redistributing shards. The system serves itself by monitoring its own state and executing rebalancing operations without external intervention, handling the increased complexity of workload balancing across more nodes through automated decision-making.

Inventive Principle:
Principle #25Self-service

4Device complexity

If workload is concentrated on fewer nodes, then metadata management is simpler, but system bottlenecks increase

Engineering Contradiction:
Improvemetadata management complexityVSAvoidsystem throughput
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The system segments the workload by dividing shards and distributing them across multiple compute cores. The workload allocation unit creates a segmented distribution pattern where no single compute node holds all shards, thereby segmenting the metadata management burden and preventing bottlenecks while maintaining manageable complexity through systematic distribution rules.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11726827B2Hierarchical workload allocation in a storage system
Publication Date: 2023.08.15 VAST DATA LTD
  • US11726827B2 patent drawing
  • US11726827B2 patent drawing
  • US11726827B2 patent drawing

AI summary

A method for hierarchical workload allocation in a storage system, the method may include determining to reallocate a compute workload of a current compute core of the storage system; wherein the current compute core is responsible for executing a workload allocation unit that comprises one or more first type shards; and reallocating the compute workload by (a) maintaining the responsibility of the current compute core for executing the workload allocation unit, and (b) reallocating at least one first type shard of the one or more first type shards to a new workload allocation unit that is allocated to a new compute core of new compute cores.