Replication Log Space Allocation for Cluster I/O Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In clustered environments with data volume replication, heavy I/O loads from one node can cause I/O starvation and bottlenecks due to differences in storage performance characteristics and the limited capacity of the replication log, leading to throttling and delayed write operations across the cluster, which negatively impacts overall I/O performance and latency uniformity.

Innovation Solution

Implement a write operation scheduling and load balancing system that allocates space in the replication log based on each node's capacity to manage its backlog without throttling, using scheduling priorities for data volumes and maintaining a global or local queue to ensure fair and efficient scheduling of write operations across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a node is allocated more space in the replication log to increase its write throughput, then the node's I/O performance is improved, but other nodes experience I/O starvation and throttling

Engineering Contradiction:
Improvewrite throughputVSAvoidI/O access fairness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the replication log space allocation for each node based on real-time storage performance characteristics and current I/O load conditions. Nodes with better storage performance can be allocated more space temporarily, while nodes with poorer performance receive less space, preventing I/O starvation and ensuring fair access across the cluster

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the allocation parameter (replication log space) based on measured storage performance characteristics of each node. By monitoring and adjusting the replication log space allocation parameter dynamically, the system optimizes write throughput for each node while maintaining overall cluster fairness

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the replication log capacity is increased to accommodate more write operations, then write-order fidelity is maintained, but I/O bottlenecks and throttling occur due to limited processing capacity

Engineering Contradiction:
Improvewrite-order fidelityVSAvoidI/O processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies different quality levels of service to different nodes based on their storage performance characteristics. High-performance nodes receive preferential treatment with more replication log space allocation, while low-performance nodes receive less, creating a localized optimization that maintains write-order fidelity where needed while avoiding bottlenecks

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The replication log space allocation is made dynamic rather than static, allowing the system to adapt to changing I/O loads and storage performance conditions. This dynamic adjustment prevents bottlenecks by ensuring that the total replication log space allocated does not exceed the processing capacity of the cluster

Inventive Principle:
Principle #15Dynamics

3Device complexity

If storage performance characteristics are standardized across nodes to simplify management, then system complexity is reduced, but I/O performance optimization and load balancing are compromised

Engineering Contradiction:
Improvestorage management complexityVSAvoidcluster-wide I/O performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Each node autonomously reports its storage performance characteristics to the cluster management system. The system then uses this self-reported information to automatically calculate and allocate replication log space, eliminating the need for manual configuration while optimizing I/O performance based on actual node capabilities

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback mechanism where nodes report their storage performance characteristics and the cluster management system adjusts replication log space allocation accordingly. This closed-loop feedback enables automatic optimization of I/O performance without increasing management complexity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9952786B1I/O scheduling and load balancing across the multiple nodes of a clustered environment
Publication Date: 2018.04.24 ARCTERA US LLC
  • US9952786B1 patent drawing
  • US9952786B1 patent drawing
  • US9952786B1 patent drawing

AI summary

Write operations are scheduled for multiple nodes in a shared storage cluster that supports volume replication. Requests are received from nodes for allocation of space for write operations in a replication log. In response to a received request, the current capacity of the requesting node to manage a backlog can be determined. The amount of space in the replication log allocated to the node is then calibrated to the node's capacity, thereby preventing self-throttling. A separate priority can be assigned to each volume, and space in the replication log assigned to each volume based on its priority. Nodes can target synchronous and other latency sensitive operations to higher priority volumes. A single global queue can be maintained to schedule write operations for all nodes, thereby providing a fair scheduling. A separate local queue can be maintained for each node, thereby providing specific levels of preference to specific nodes.