Workload-Balanced Graph Partitioning for Distributed Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed graph processing systems face inefficiencies due to suboptimal graph partitioning, leading to workload imbalances and bottlenecks, as existing methods struggle to minimize remote edges and achieve equal workload distribution across machines, often relying on external tools or centralized partitioning that can exceed memory limits and decrease throughput.

Innovation Solution

A system that initially partitions a graph into subsets and uses iterative workload balancing, where each machine calculates a numeric workload value, and a central computer adjusts partitions by offloading work from overloaded machines to underutilized ones until convergence is achieved, ensuring balanced processing loads across computers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If graph data is partitioned to minimize remote edges, then communication between machines is reduced, but the workload distribution becomes unbalanced

Engineering Contradiction:
Improvecommunication overheadVSAvoidworkload balance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system changes the parameters of partitioning by considering multiple factors simultaneously (workload balance, remote edge minimization, partition size) rather than optimizing for a single parameter. This allows the partitioning to achieve both reduced communication overhead and balanced workload distribution by adjusting partition boundaries based on composite criteria.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies different partitioning strategies to different regions of the graph based on local characteristics. By analyzing the specific properties of each graph region (density, connectivity, workload requirements), the system creates locally optimized partitions that minimize remote edges in high-communication areas while maintaining workload balance in computation-intensive areas.

Inventive Principle:
Principle #3Local quality

2Productivity

If graph data is partitioned to achieve equal workload distribution, then system throughput is improved, but the number of remote edges increases

Engineering Contradiction:
Improvesystem throughputVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system modifies the partitioning parameters to simultaneously optimize for workload equality and remote edge minimization. By using a multi-objective optimization approach that adjusts partition boundaries based on both workload metrics and communication metrics, the system achieves balanced workloads without excessive increase in remote edges.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If external partitioning tools like ParMetis are used to minimize remote edges, then communication is reduced, but the complexity and computational cost increase

Engineering Contradiction:
Improvecommunication overheadVSAvoidpartitioning complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system implements self-service partitioning by using the graph processing workload itself to guide the partitioning optimization. Rather than relying on complex external tools, the system leverages workload information and performance feedback from the actual graph processing tasks to automatically adjust and optimize partition boundaries, reducing dependency on sophisticated external partitioning software.

Inventive Principle:
Principle #25Self-service

4Manufacturing precision

If centralized partitioning is performed on a single machine, then partitioning decisions can be made globally, but the central machine may exceed memory limits and become a bottleneck

Engineering Contradiction:
Improvepartitioning optimalityVSAvoidmemory requirements
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The system segments the partitioning process itself by distributing the partitioning computation across multiple machines rather than concentrating it on a single central machine. Each machine participates in the partitioning computation for its local data, and these local partitioning decisions are coordinated to achieve global optimality. This segmentation of the partitioning process eliminates the memory bottleneck while maintaining partitioning quality.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9477532B1Graph-data partitioning for workload-balanced distributed computation with cost estimation functions
Publication Date: 2016.10.25 ORACLE INT CORP
  • US9477532B1 patent drawing
  • US9477532B1 patent drawing
  • US9477532B1 patent drawing

AI summary

Techniques herein perform workload-balanced graph partitioning. Each graph partition is distributed to a respective computer. Each computer applies a workload-estimation function to its partition to calculate a numeric workload-value that indicates how much computation the partition needs. Each computer sends its numeric workload-value to a master computer. The master compares the highest and lowest numeric workload-values. If the difference exceeds a threshold, the master detects how much work should overloaded-computers offload to under-utilized computers. To each overloaded-computer, the master sends a directive with a balancing numeric workload-value that indicates how much computation to offload and an identifier of an under-utilized computer to receive the offload. Based on this directive and the workload-estimation function, an overloaded-computer selects a portion of its partition that corresponds to the balancing numeric workload-value, removes that portion from its partition, and transfers the portion to the under-utilized computer, which adds the portion to its partition.