Dynamic Load Balancing for Heterogeneous Processing Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-end CPU-based clusters face performance issues due to load imbalances in heterogeneous processing environments, where some parallelized tasks finish faster and wait for others, leading to suboptimal performance in iterative convergence processes.
Innovation Solution
Implement a dynamic load balancing method that continuously measures computation, communication, and wait times across nodes, using an imbalance factor and time estimation models to repartition data and minimize waiting times, ensuring balanced processing phases across heterogeneous clusters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If parallel processing is implemented on heterogeneous clusters, then computational power and processing capacity are improved, but load imbalance causes some processors to wait for others, reducing overall efficiency
Solution Approach 1:
The patent implements dynamic load balancing by continuously monitoring completion times of processing phases and adjusting data partitioning across iterations. The system transitions from static to dynamic workload distribution, adapting to heterogeneous processor capabilities and varying phase completion patterns to optimize overall system productivity
Solution Approach 2:
The patent applies different data partitioning strategies to different processors based on their individual performance characteristics. By analyzing completion times of computation, communication, and wait phases for each processor, the system assigns data units locally optimized for each processor's capabilities, reducing global wait times
2Loss of time
If data is repartitioned to balance load across processors, then wait times are reduced, but system complexity increases due to dynamic monitoring and reassignment mechanisms
Solution Approach 1:
The patent implements a feedback mechanism where completion times of processing phases are monitored and used to inform subsequent data partitioning decisions. The system measures completion times for computation, communication, and wait phases, then uses this feedback to adjust data assignment in subsequent iterations, creating a closed-loop control system that reduces wait times through adaptive repartitioning
Solution Approach 2:
The system performs self-optimization by automatically monitoring its own performance metrics and adjusting data partitioning without external intervention. The load balancing mechanism uses internally collected completion time data to autonomously reassign data units, reducing the need for complex external control systems
3Measurement precision
If completion times of multiple processing phases are monitored, then load imbalance can be detected, but measurement and analysis complexity increases
Solution Approach 1:
The patent segments the processing workflow into distinct phases (computation, communication, wait phases) and measures completion times for each phase separately. This segmentation allows precise identification of which phase contributes to load imbalance, enabling targeted optimization strategies while simplifying the analysis of complex heterogeneous processor behavior
Data Source
AI summary
Methods and systems for managing data loads on a cluster of processors that implement an iterative procedure through parallel processing of data for the procedure are disclosed. One method includes monitoring, for at least one iteration of the procedure, completion times of a plurality of different processing phases that are undergone by each of the processors in a given iteration. The method further includes determining whether a load imbalance factor threshold is exceeded in the given iteration based on the completion times for the given iteration. In addition, the data is repartitioned by reassigning the data to the processors based on predicted dependencies between assigned data units of the data and completion times of a plurality of the processers for at least two of the phases. Further, the parallel processing is implemented on the cluster of processors in accordance with the reassignment.


