Graph Processing Accelerator with Dependency Path Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvegraph processing efficiencyVSAvoidsynchronization overhead time
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvestate update accuracyVSAvoidconvergence speed
Core Design Contradiction:
ReliabilityVSSpeed

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improveprocessing simplicityVSAvoiddynamic graph handling capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20230367815A1Energy-efficient hardware-software collaborative method and apparatus for graph processing
Publication Date: 2023.11.16 HUAZHONG UNIV OF SCI & TECH
  • US20230367815A1 patent drawing
  • US20230367815A1 patent drawing
  • US20230367815A1 patent drawing

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.