Data Block Assignment Using Linear Regression for Load Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for assigning data blocks to nodes in distributed file systems, such as the greedy algorithm, often result in poor query performance due to inadequate consideration of data locality and past-performance statistics, leading to inefficient load balancing and remote data reading.

Innovation Solution

A method that involves gathering metadata for data blocks, constructing a linear regression model based on node data, and selectively assigning unassigned blocks to nodes using predicted load values, ensuring optimal load distribution and balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a greedy algorithm is used to assign data blocks to nodes, then the assignment process is simple and fast, but data locality is not optimized and query performance deteriorates

Engineering Contradiction:
Improveassignment speedVSAvoidquery performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by gathering metadata about data blocks and constructing a linear regression model before actual data assignment occurs. This preliminary analysis of node performance statistics enables optimized assignment decisions that improve query performance while maintaining reasonable assignment speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by using past-performance statistics from node data to inform future assignment decisions. The linear regression model continuously learns from historical performance data, allowing the system to adapt assignments based on actual node performance rather than assuming uniform distribution.

Inventive Principle:
Principle #23Feedback

2Device complexity

If data is assigned uniformly across nodes without considering past performance, then the assignment process is simple, but load balance deteriorates

Engineering Contradiction:
Improveassignment complexityVSAvoidload balance efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system changes parameters by transitioning from uniform data distribution assumptions to performance-based assignment. The linear regression model uses node-specific performance parameters derived from historical data to determine optimal assignments, dynamically adjusting which nodes receive which data blocks based on their demonstrated capabilities.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If remote data reading is avoided by assuming uniform data distribution, then data locality is partially improved, but assignment quality deteriorates when assumptions are violated

Engineering Contradiction:
Improvedata localityVSAvoidassignment quality
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system substitutes the mechanical greedy algorithm approach with a statistical modeling approach. Instead of relying on simple rules that assume uniform data distribution, the system uses a linear regression model that statistically analyzes actual node performance data to predict which assignments will achieve optimal data locality and load balance.

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

Data Source

PatentUS10127237B2Assignment of data within file systems
Publication Date: 2018.11.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10127237B2 patent drawing
  • US10127237B2 patent drawing
  • US10127237B2 patent drawing

AI summary

The embodiments relate to assigning data to processors of a file system. Metadata associated with respective blocks of data, and an initial batch of the blocks is assigned to nodes of a file system based on the metadata. Unassigned blocks are selectively assigned to one or more of the nodes. The selective assignment includes constructing a linear regression model based on node data, and determining a value for each node based on the linear regression model. Each value is associated with a predicted load corresponding to a new assignment of one or more unassigned blocks.