Deduplication-Aware Load Balancing in Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed storage systems that implement both load balancing and data deduplication fail to consider deduplicated data when making load balancing decisions, leading to suboptimal storage utilization.

Innovation Solution

The system incorporates a bloom filter and load balancing hints data structure to identify nodes with the most deduplicated data blocks, allowing for targeted rebalancing that minimizes new data allocation and accelerates the load balancing process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If existing load balancing mechanisms move data across nodes periodically to ensure storage utilization thresholds are met, then storage utilization is maintained, but storage utilization optimization is suboptimal because deduplicated data is not considered

Engineering Contradiction:
Improvestorage utilizationVSAvoidload balancing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring deduplication metadata and bloom filters across nodes, using this information to dynamically adjust load balancing decisions. The load balancer receives feedback about which nodes have deduplicated blocks and uses this feedback to make informed data movement decisions that optimize storage utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The invention changes the parameters considered in load balancing from simple storage capacity metrics to include deduplication-aware parameters such as the presence of deduplicated blocks (tracked via bloom filters) and deduplication metadata. This parameter change enables the system to identify target nodes that already have relevant deduplicated data, thereby optimizing storage utilization.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If data is moved across nodes in traditional load balancing, then storage distribution is balanced, but data transfer time increases due to lack of awareness of existing deduplicated blocks

Engineering Contradiction:
Improvedata distribution balanceVSAvoiddata transfer time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-computing and maintaining bloom filters that indicate the presence of deduplicated blocks on each node before load balancing operations. This preliminary information preparation allows the load balancer to quickly identify target nodes that already have the required deduplicated data, avoiding unnecessary data transfers and reducing data transfer time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of copying entire data objects during load balancing, the system uses bloom filters (a compact data structure) to represent the presence of deduplicated blocks. This copying approach transfers minimal information (bloom filter bits) rather than actual data blocks, significantly reducing transfer time while maintaining the ability to make informed load balancing decisions.

Inventive Principle:
Principle #26Copying

3Reliability

If new data copies are created during load balancing, then data availability is maintained, but storage space is wasted due to duplication

Engineering Contradiction:
Improvedata availabilityVSAvoidstorage space waste
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The system applies local quality by making load balancing decisions specific to each target node's deduplication characteristics. By examining bloom filters locally at each node, the system identifies which nodes already have deduplicated blocks and directs data placement accordingly. This local analysis enables the system to place data only where necessary, maintaining data availability while minimizing redundant storage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system discards the traditional approach of creating full data copies during load balancing and recovers storage space by leveraging existing deduplicated blocks. When a target node already has the required deduplicated data (identified via bloom filters), the system discards the need to create new copies, thereby recovering storage space that would otherwise be wasted.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11461027B2Deduplication-aware load balancing in distributed storage systems
Publication Date: 2022.10.04 VMWARE INC
  • US11461027B2 patent drawing
  • US11461027B2 patent drawing
  • US11461027B2 patent drawing

AI summary

Techniques for enabling deduplication-aware load balancing in a distributed storage system are provided. In one set of embodiments, a node of the distributed storage system can receive an I/O (Input/Output) request pertaining to a data block of a storage object stored on a local storage component of the node. The node can further determine whether the I/O request requires insertion of a new entry into a deduplication hash table associated with the local storage component or deletion of an existing entry from the deduplication hash table. If the I/O request requires insertion of a new hash table entry, the node can add an identifier of the data block into a probabilistic data structure associated with the local storage component, where the probabilistic data structure is configured to maintain information regarding distinct data blocks that are likely present in the local storage component. Alternatively, if the I/O request requires deletion of an existing hash table entry, the node can remove the identifier of the data block from the probabilistic data structure.