Distributed Graph Computation via Two-Phase Vertex Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional graph data computation systems require a large number of computational steps, leading to inefficiencies when processing large data sets, as the number of paths to consider increases rapidly with the size of the data set, resulting in slow processing times.
Innovation Solution
A distributed graph computation system that employs a two-phase computational cycle, separating reading from writing to simplify synchronization among processors, and partitions edge and vertex collections among multiple computational units, allowing for efficient edge and vertex attribute calculations and updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional iterative graph computation is used to ensure accurate path traversal, then computation accuracy is maintained, but processing time increases significantly
Solution Approach 1:
The patent segments the graph computation into independent vertex processing units that can operate in parallel. Each vertex processing unit handles specific vertices independently, allowing simultaneous computation across multiple vertices rather than sequential iteration through the entire graph. This segmentation enables accurate path traversal to occur concurrently, maintaining computation accuracy while dramatically reducing processing time.
2Quantity of substance
If the number of vertices and edges increases to handle larger data sets, then data coverage is improved, but the number of computational paths increases at a faster rate
Solution Approach 1:
The patent transitions from sequential iteration (one-dimensional processing) to parallel processing across multiple vertex processing units (adding spatial dimension). By distributing vertices across multiple independent processing units that operate simultaneously, the system can handle larger data sets with more vertices and edges without the computational paths increasing at a faster rate, as parallel execution offsets the increased path complexity.
3Productivity
If distributed computation is implemented to improve processing speed, then productivity increases, but synchronization complexity and race conditions may arise
Solution Approach 1:
The patent segments the graph into independent vertex processing units, each responsible for specific vertices and their outgoing edges. This segmentation creates natural isolation boundaries that minimize inter-unit dependencies and synchronization requirements. Each processing unit can update vertex states independently based on its local computations, reducing race conditions and synchronization complexity while maintaining high processing speed through parallel execution.
Data Source
AI summary
Methods and systems for distributed computation of graph data permit edge collection and vertex collection, each to be partitioned among a plurality of computational units. In one embodiment, the methods employ a two-phase computational cycle, which is repeated until the computation is complete. In a first phase, processing units process each active edge and vertex by doing the following: reading their current attribute values, executing programmed computational functions, updating edge attributes and sending data messages to vertices. In a second phase, each vertex update processor processes each of its active vertices by doing the following: reading its current attribute values and received data messages, executing a programmed computational function, and updating the vertex's attribute values.


