Parallel Compute Node Load Balancing via Dynamic Data Redistribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel computing, the uneven distribution of processing load across compute nodes leads to inefficient utilization of resources, as some nodes become overburdened while others remain underutilized, due to the partitioning of application data into segments of similar size without considering the varying processing requirements of each node.

Innovation Solution

The method involves partitioning application data into chunks, estimating the processing time for each chunk by each compute node, and redistributing chunks based on estimated processing time to balance the load, using data communications networks optimized for point-to-point and collective operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If application data is partitioned into segments of similar size and assigned to compute nodes, then data distribution is simplified, but processing load becomes unevenly distributed causing some nodes to be overburdened while others remain underutilized

Engineering Contradiction:
Improvedata partitioning simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic load balancing by allowing compute nodes to periodically exchange data segments based on their current processing status. Nodes monitor their own workload and that of neighboring nodes, then dynamically redistribute segments to maintain balanced processing loads, transforming the static data partitioning into a dynamic adaptive system that responds to changing computational conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where compute nodes continuously monitor their processing load and communicate this information to neighboring nodes. This feedback loop enables nodes to adjust data segment assignments in response to actual processing conditions, ensuring that segments are redistributed to nodes with lower current workloads, thereby maintaining efficient resource utilization

Inventive Principle:
Principle #23Feedback

2Productivity

If more compute nodes are added to parallel processing, then throughput increases, but overhead and cost increase while saturation point is reached

Engineering Contradiction:
ImprovethroughputVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data into smaller units called segments that can be independently assigned to different compute nodes. This segmentation enables fine-grained load distribution across a large number of nodes, allowing the system to scale throughput by adding nodes while managing complexity through automated segment management and dynamic redistribution protocols

Inventive Principle:
Principle #1Segmentation

3Productivity

If data chunks are redistributed based on estimated processing time, then load balancing improves, but communication overhead increases

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary estimation of processing time for data segments before actual processing begins. By evaluating characteristics of incoming segments and predicting their processing requirements in advance, nodes can make informed decisions about redistribution without needing to actually process the entire data before determining load balance implications, reducing unnecessary communication and computation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements local quality assessment by having each compute node evaluate the specific characteristics of data segments it receives or could receive, rather than using a uniform evaluation approach. Nodes assess local properties such as data type, size, and processing complexity to determine optimal assignments, enabling more precise load balancing that reduces unnecessary data movement and communication overhead

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8799917B2Balancing a data processing load among a plurality of compute nodes in a parallel computer
Publication Date: 2014.08.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8799917B2 patent drawing
  • US8799917B2 patent drawing
  • US8799917B2 patent drawing

AI summary

Methods, apparatus, and products are disclosed for balancing a data processing load among a plurality of compute nodes in a parallel computer that include: partitioning application data for processing on the plurality of compute nodes into data chunks; receiving, by each compute node, at least one of the data chunks for processing; estimating, by each compute node, processing time involved in processing the data chunks received by that compute node for processing; and redistributing, by at least one of the compute nodes to at least one of the other compute nodes, a portion of the data chunks received by that compute node in dependence upon the processing time estimated by that compute node.