Parallel Processing Load Balancing via Cumulative Deviation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel processing systems, load imbalances occur where some processing elements are idle while others have multiple tasks, leading to inefficient resource utilization and increased idle time, as conventional methods fail to effectively distribute tasks across identical or non-identical processing elements.

Innovation Solution

A method for load balancing in parallel processing systems involves determining the total number of tasks, calculating local mean and deviation for each processing element, and redistributing tasks based on cumulative deviations to ensure each element has a consistent number of tasks, maximizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are distributed among parallel processing elements using conventional methods, then processing can be performed in parallel, but load imbalances occur where some processing elements are idle while others have multiple tasks

Engineering Contradiction:
Improveparallel processing throughputVSAvoididle time of processing elements
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms where processing elements communicate their task completion status and workload information to neighbors. This feedback enables dynamic load balancing decisions, allowing the system to adapt to changing workload conditions and redistribute tasks to minimize idle time while maintaining parallel processing throughput.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancing approach transitions from static task distribution to dynamic redistribution. Processing elements can request additional tasks or transfer excess tasks based on real-time workload conditions, enabling the system to adapt dynamically and keep all processing elements actively engaged throughout the parallel processing operation.

Inventive Principle:
Principle #15Dynamics

2Productivity

If more tasks are assigned to certain processing elements to maintain continuous work, then productivity increases, but resource utilization becomes unbalanced and some elements remain idle

Engineering Contradiction:
Improvetask completion rateVSAvoidresource utilization balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

Processing elements autonomously monitor their own workload and initiate task redistribution when imbalances are detected. Each processing element can request tasks from overloaded neighbors or offer excess tasks to underutilized neighbors without centralized control, enabling self-regulating resource utilization balance while maintaining high productivity.

Inventive Principle:
Principle #25Self-service

3Device complexity

If conventional load balancing methods are used, then task distribution is simplified, but the methods fail to effectively distribute tasks across identical or non-identical processing elements

Engineering Contradiction:
Improveload balancing algorithm complexityVSAvoidtask distribution effectiveness
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements local load balancing where each processing element independently manages its own workload and communicates only with immediate neighbors. This local approach effectively distributes tasks across heterogeneous processing elements without requiring complex global optimization algorithms, maintaining simplicity while improving task distribution effectiveness for both identical and non-identical elements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7430742B2Method for load balancing a line of parallel processing elements
Publication Date: 2008.09.30 MICRON TECHNOLOGY INC
  • US7430742B2 patent drawing
  • US7430742B2 patent drawing
  • US7430742B2 patent drawing

AI summary

A method for balancing the load of a parallel processing system having parallel processing elements (PEs) linked serially in a line with first and second ends, wherein each of the PEs has a local number of tasks associated therewith, the method comprising determining a total number of tasks present on the line; notifying each of the PEs of the total number of tasks, calculating a local mean number of tasks for each of the PEs, and calculating a local deviation for each of the PEs. The method also comprises determining a first local cumulative deviation for each of the PEs, determining a second local cumulative deviation for each of the PEs, and redistributing tasks among the PEs in response to the first local cumulative deviation and the second local cumulative deviation.