Distributed Graph Loading With Lazy Materialization for Balanced Partitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed graph loading in large datasets is inefficient due to high computational cost and data imbalance, particularly in distributed graph processing systems, where conventional methods require extensive network communication and complex computation for balancing.

Innovation Solution

A method involving minimal communication between computers to repartition a distributed graph by using intermediate representations of vertices and edges, with mutable data structures and segmented arrays, allowing for efficient reassignment and rebalancing of data partitions through tracking computers and ghost vertices to achieve a balanced workload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional distributed graph loading methods are used, then data can be loaded into the distributed system, but the process requires extensive network communication and complex computation for balancing, resulting in high computational overhead and long loading time

Engineering Contradiction:
Improvegraph loading speedVSAvoidloading time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing hash computations and partition assignments locally on each computing node before actual data loading occurs. Each node computes hash values for its local data files and determines partition assignments in advance, avoiding the need for extensive network communication during the actual loading phase. This preliminary local computation significantly reduces the time required for distributed graph loading while maintaining balanced data distribution across the cluster.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If hash-based partitioning is used to allocate vertices to computers, then partitioning can be achieved, but much communication is required during loading and data imbalance occurs when vertex degree distribution is skewed

Engineering Contradiction:
Improvepartitioning simplicityVSAvoiddata balance
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent applies local quality by allowing each computing node to independently compute hash values and determine partition assignments based on its local data characteristics. Each node adapts its partitioning strategy to its specific workload, using local hash computations to determine which partitions it will own. This localized approach maintains simplicity while achieving better data balance compared to centralized hash-based partitioning, as each node can optimize for its local vertex degree distribution patterns.

Inventive Principle:
Principle #3Local quality

3Reliability

If eager materialization of the initially loaded graph is performed, then the graph is fully materialized in memory, but the computational cost of balancing (repartitioning) increases significantly

Engineering Contradiction:
Improvedata availabilityVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by materializing only the necessary portions of the graph data in memory rather than performing eager full materialization. Each computing node materializes graph partitions that it has been assigned to own, based on local hash computations. This partial materialization approach maintains data availability for processing while significantly reducing the computational cost of balancing, as nodes only need to manage and transfer the partitions they actually need rather than materializing and rebalancing the entire graph.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12411672B2Method of distributed graph loading for minimal communication and good balance via lazy materialization and directory indirection using indexed tabular representation
Publication Date: 2025.09.09 ORACLE INT CORP
  • US12411672B2 patent drawing
  • US12411672B2 patent drawing
  • US12411672B2 patent drawing

AI summary

Techniques herein minimally communicate between computers to repartition a graph. In embodiments, each computer receives a partition of edges and vertices of the graph. For each of its edges or vertices, each computer stores an intermediate representation into an edge table (ET) or vertex table. Different edges of a vertex may be loaded by different computers, which may cause a conflict. Each computer announces that a vertex resides on the computer to a respective tracking computer. Each tracking computer makes assignments of vertices to computers and publicizes those assignments. Each computer that loaded conflicted vertices transfers those vertices to computers of the respective assignments. Each computer stores a materialized representation of a partition based on: the ET and vertex table of the computer, and the vertices and edges that were transferred to the computer. Edges stored in the materialized representation are stored differently than edges stored in the ET.