Graph Processing Accelerator with Dependency Path Prefetching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graph processing technologies face inefficiencies due to insufficient use of multi-core processors, slow dissemination of vertex states, and inability to handle dynamic graph structures, leading to poor parallelism and slow convergence in iterative graph algorithms.
Innovation Solution
An energy-efficient collaborative graph processing method and apparatus that includes a dependency path prefetching unit and a direct dependency managing unit, which convert indirect dependencies into direct dependencies using a 4-stage pipeline and update dependency indexes dynamically, enabling efficient state dissemination and parallel processing across multi-core processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If iterative graph algorithms are processed on multi-core processors using conventional methods, then processing can be performed in parallel, but synchronization overheads increase and parallelism efficiency decreases due to dependency chains among vertices
Solution Approach 1:
The graph is partitioned into multiple subgraphs and assigned to different processor cores, with dependency relationships between vertices recorded and managed. This segmentation allows each core to process its assigned subgraph independently while maintaining correctness through recorded dependencies, thereby reducing synchronization overhead and improving parallel processing efficiency
Solution Approach 2:
Dependency relationships among graph vertices are pre-calculated and recorded before the actual graph processing begins. This preliminary action enables processors to anticipate and prepare for future state updates without waiting for synchronization events, significantly reducing synchronization overhead and improving overall processing productivity
2Reliability
If vertex states are disseminated along dependency paths in the topological structure of graphs, then state updates can be propagated, but convergence speed decreases due to multiple rounds of dissemination and inactive vertices waiting for neighbor states
Solution Approach 1:
The system dynamically adjusts the processing order of vertices based on their dependency relationships rather than following a fixed topological order. Vertices are processed as soon as their dependencies are satisfied, enabling more flexible and efficient state propagation that accelerates convergence while maintaining update accuracy
Solution Approach 2:
The system records and utilizes dependency relationships between vertices to determine processing order and state propagation paths. This feedback mechanism ensures that vertices are updated in the correct sequence while avoiding unnecessary waiting, thereby maintaining reliability while improving convergence speed
3Ease of manufacture
If existing graph processing solutions are used for static graphs, then processing can be performed, but they fail to handle dynamic changes in graph structure, losing timeliness
Solution Approach 1:
The system is designed to handle both static and dynamic graph structures using the same core methodology. The dependency recording and processing mechanism works universally for different graph types, providing adaptability to dynamic changes while maintaining the simplicity and ease of implementation of conventional processing methods
Data Source
AI summary
The present invention relates to energy-efficient collaborative method and apparatus for graph processing, wherein the apparatus comprises at least: a dependency path prefetching unit for receiving active vertex information and prefetching an edge of graph partition along a dependency path, starting with an active vertex in a circular queue; and a direct dependency managing unit for converting dependency relationship between head and tail vertices of a core dependency path into direct dependency and managing it in a cache, and updating dependency indexes according to dynamic changes in graph structure during dynamic graph processing, so as to ensure accurate results of graph processing. The accelerator of the present invention is capable of being integrated into a multi-core processor, thereby processing multiple paths on multiple processor kernels with high concurrency, and in turn accelerating dissemination of vertex states in a graph to speed convergence during graph processing.


