Dynamic Flushing Ownership for Multi-Node Storage Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face performance issues due to asymmetric IO ingest loads on storage nodes, leading to overloading of one node and underutilization of another, resulting in decreased system performance.

Innovation Solution

A method is implemented where flushing ownership for data containers is dynamically assigned based on the number of updates processed by each storage node, using a processing balance value and correction factor to redistribute the flush burden, ensuring that the least utilized node handles more flush jobs, thus balancing the load across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flushing ownership is distributed in the same proportionality as TO requests, then each storage node processes flush work according to its TO request distribution, but storage node A becomes overloaded while storage node B remains near idle, causing storage system performance to drop dramatically

Engineering Contradiction:
Improvedata consistencyVSAvoidstorage system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic flushing ownership assignment that adapts to asymmetric TO ingest loads. Instead of static proportional distribution, the system continuously monitors TO request distribution and adjusts flushing ownership dynamically. When storage node A receives more TO requests than storage node B, the system assigns a larger portion of flush work to storage node B to balance the overall load, preventing performance degradation while maintaining data consistency.

Inventive Principle:
Principle #15Dynamics

2Productivity

If storage node A processes more TO requests than storage node B, then storage node A handles more ingest work, but storage node A also receives more flush work in the same proportion, leading to overloading of storage node A

Engineering Contradiction:
ImproveTO ingest throughputVSAvoidload balance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies asymmetry by intentionally creating an asymmetric flushing ownership distribution that compensates for asymmetric TO request patterns. When storage node A has higher TO ingest load, the system deliberately assigns more flush ownership to storage node B, creating a counterbalancing asymmetry. This approach allows storage node A to maintain high TO ingest throughput while preventing it from becoming overloaded with flush work.

Inventive Principle:
Principle #4Asymmetry

3Ease of operation

If storage node B is assigned less flush work due to lower TO requests, then storage node B operates with less workload, but storage node B remains near idle while storage node A is overloaded

Engineering Contradiction:
Improveoperational simplicityVSAvoidsystem utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism that monitors TO request distribution across storage nodes and uses this information to adjust flushing ownership assignments. The system continuously gathers feedback on load patterns and dynamically reallocates flush work to achieve better balance. This feedback-driven approach maintains operational simplicity by automating the balancing process while significantly improving system utilization by keeping both storage nodes actively engaged.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12073118B2System and method for multi-node storage system flushing
Publication Date: 2024.08.27 EMC IP HLDG CO LLC
  • US12073118B2 patent drawing
  • US12073118B2 patent drawing
  • US12073118B2 patent drawing

AI summary

A method, computer program product, and computing system for processing, using a storage node, one or more updates to one or more metadata pages of a multi-node storage system. The one or more updates may be stored in one or more data containers in a cache memory system of the storage node, thus defining an active working set of data containers. Flushing ownership for each data container of the active working set may be assigned to one of the storage nodes based upon an assigned flushing ownership for each data container of a frozen working set and a number of updates within the frozen working set processed by each storage node, thus defining an assigned flushing storage node for each data container of the active working set. The one or more updates may be flushed, using the assigned flushing storage node, to a storage array.