Concurrent Graph Computing on Shared Subgraphs to Reduce I/O Delays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graph computing methods are inefficient due to serial execution of algorithms, leading to low computing efficiency and increased memory overheads.

Innovation Solution

A method for concurrent graph computing using multiple algorithms across a distributed cloud environment, where subgraphs are loaded into multiple computing units and executed in parallel, optimizing task decomposition and scheduling based on algorithm similarity and data access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If serial execution of algorithms is used, then memory overhead is reduced, but computing efficiency deteriorates

Engineering Contradiction:
Improvememory overheadVSAvoidcomputing efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent divides the graph into multiple subgraphs and assigns them to different computing units. Each computing unit processes a specific subgraph independently, enabling parallel execution of algorithms across multiple units while reducing the memory burden on each individual unit compared to loading the entire graph.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-threaded serial execution to multi-threaded parallel execution by introducing multiple computing units. This dimensional change from sequential to concurrent processing enables simultaneous execution of multiple algorithms on different subgraphs, dramatically improving computing efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If the graph is loaded into memory for each algorithm, then computing accuracy is maintained, but time consumption increases

Engineering Contradiction:
Improvecomputing accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-dividing the graph into subgraphs and pre-assigning them to computing units before algorithm execution. This preparation enables parallel processing to begin immediately when algorithms are applied, eliminating the time loss associated with repeated loading and unloading operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuous useful action by keeping subgraphs loaded in memory across multiple algorithm executions. Once a subgraph is loaded into a computing unit's memory, it remains available for sequential algorithm processing without requiring repeated loading from external storage, thus eliminating I/O wait time and maintaining continuous computation.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If repeated loading and releasing of the graph is performed, then algorithm execution is simplified, but input/output bottleneck increases

Engineering Contradiction:
Improvealgorithm executionVSAvoidinput/output bottleneck
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the large graph into smaller subgraphs that can be independently managed. Each computing unit loads only its assigned subgraph into memory, significantly reducing the frequency and volume of I/O operations compared to loading the entire graph repeatedly. This segmentation maintains algorithm execution simplicity while eliminating the I/O bottleneck.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12411708B2Graph computing method and apparatus
Publication Date: 2025.09.09 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US12411708B2 patent drawing
  • US12411708B2 patent drawing
  • US12411708B2 patent drawing

AI summary

This application discloses a graph computing method and apparatus that support concurrent graph computing using a plurality of algorithms. A plurality of subgraphs of a graph are loaded into a plurality of computing units, and the plurality of computing units executes a plurality of algorithms in parallel, so that the same graph can be shared by the plurality of algorithms, and the plurality of algorithms can be executed in parallel on the same graph. In this way, the delay caused when one algorithm needs to executed after execution of another algorithm ends is avoided. The overall efficiency of performing graph computing is improved, and the overall time of performing graph computing is reduced.