GPU Graph Sampling Acceleration via Alias Method

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graph sampling and random walk methods are inefficient and time-consuming, leading to high computing complexity, low execution efficiency, and long runtime, which severely limits their performance and hardware utilization, especially in latency-critical AIoT applications.

Innovation Solution

A GPU-based system for accelerating graph sampling and random walk using the alias method, which converts graph data into CSR format, employs a load balancing strategy to allocate tasks across variable-size thread groups, and operates in online and offline modes to efficiently generate and utilize alias tables for sampling and random walks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the alias method is used for biased graph sampling and random walk, then sampling accuracy is improved, but computing complexity increases and execution efficiency decreases

Engineering Contradiction:
Improvesampling accuracyVSAvoidcomputing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the alias table construction and sampling process into distinct phases: pre-processing phase for building the alias table with sorted probability arrays, and sampling phase for efficient neighbor selection. This segmentation allows complex probability calculations to be performed once during pre-processing, while sampling operations become simple lookups and comparisons, reducing overall computing complexity during actual graph processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-computing and storing the alias table with sorted probability arrays and corresponding neighbor mappings before actual sampling operations. This pre-processing step transforms the complex probability calculation problem into a simpler data structure that enables fast sampling, effectively moving computational burden from the sampling phase to the setup phase.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the alias method is parallelized on GPU, then execution efficiency is improved, but device complexity and implementation difficulty increase

Engineering Contradiction:
Improveexecution efficiencyVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transitions from sequential CPU-based alias method implementation to parallel GPU-based execution, adding the dimension of massive parallelism. By mapping each vertex sampling task to independent GPU threads and organizing alias table data in a GPU-friendly format, the patent achieves significant speedup while managing implementation complexity through systematic parallelization strategies.

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

Solution Approach 2:

The patent employs dynamic parallelization by creating GPU kernels that can handle variable numbers of vertices and adaptive thread block configurations. The implementation dynamically adjusts to different graph sizes and sampling requirements, allowing efficient utilization of GPU resources while maintaining manageable code complexity through flexible kernel designs.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If graph sampling is performed on large graphs, then sampling accuracy is improved, but processing time increases significantly

Engineering Contradiction:
Improvesampling accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces the traditional mechanical sequential processing system with a parallel computational system based on GPU architecture. By substituting CPU-based sequential alias method execution with GPU-based parallel execution, the patent achieves linear or near-linear speedup with the number of processing units, dramatically reducing processing time for large graphs while maintaining sampling accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If biased graph sampling is implemented with transition probability calculation, then sampling quality is improved, but computing complexity and runtime increase

Engineering Contradiction:
Improvesampling qualityVSAvoidcomputing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating and storing pre-computed alias tables that contain sorted probability arrays and corresponding neighbor mappings. Instead of recalculating transition probabilities during sampling, the system copies and utilizes the pre-established alias structure, transforming complex probability calculations into simple data retrieval operations that maintain sampling quality while reducing computational complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11875426B2Graph sampling and random walk acceleration method and system on GPU
Publication Date: 2024.01.16 SHANGHAI JIAOTONG UNIV
  • US11875426B2 patent drawing
  • US11875426B2 patent drawing
  • US11875426B2 patent drawing

AI summary

A graph sampling and random walk acceleration method and system based on GPU. The graph data is read from the storage medium through the CPU and converted into CSR format and then output to the GPU. The GPU works based on the defined working mode: Real-time generation of alias table and sampling; or offline judgment whether there is a pre-generated alias table and sampling, which executes the alias method efficiently and in parallel, and can significantly improve the performance of graph data processing on the same hardware platform, including improving the sampling throughput and reducing the overall running time.