Concurrent Graph Computing on Shared Subgraphs to Reduce I/O Delays
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Loss of energy
If serial execution of algorithms is used, then memory overhead is reduced, but computing efficiency deteriorates
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.
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.
2Measurement precision
If the graph is loaded into memory for each algorithm, then computing accuracy is maintained, but time consumption increases
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.
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.
3Ease of operation
If repeated loading and releasing of the graph is performed, then algorithm execution is simplified, but input/output bottleneck increases
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.
Data Source
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.


