GNN SM Scheduling for Vertex-Centric Massive Graph Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graph neural network (GNN) frameworks suffer from inefficient memory and cache management, static kernel scheduling, and high preprocessing latency, limiting their scalability and performance in processing massive graphs.
Innovation Solution
Implement a destination-vertex-centric streaming multiprocessor (SM) with feature-wise thread scheduling, dynamic kernel placement using a cost model, and preprocessing task division into subtasks for parallel execution to reduce runtime and memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If edge-centric operations are used for node aggregation in GNN frameworks, then graph processing capability is improved, but lock and synchronization overhead increases significantly degrading overall performance
Solution Approach 1:
The patent inverts the traditional edge-centric aggregation approach by implementing destination-vertex-centric computation. Instead of iterating through edges to aggregate node features, the system iterates through destination vertices and processes their incoming edges, eliminating the need for locks and synchronization while maintaining graph processing capability
Solution Approach 2:
The patent segments the graph processing workload by allocating different destination vertices to different streaming multiprocessors (SMs). This segmentation allows parallel processing of vertex aggregations without requiring synchronization between threads, as each SM independently processes its assigned vertices
2Loss of time
If vertex-centric operations are applied to GNN computing, then lock overhead is reduced, but memory and cache management becomes inefficient limiting parallel data processing scalability
Solution Approach 1:
The patent applies local quality by optimizing memory access patterns for each destination vertex processed by an SM. The system loads only the necessary neighbor vertex embeddings and edge features into local memory for each vertex, minimizing cache usage while maintaining efficient parallel processing scalability
Solution Approach 2:
The patent changes the dimensionality of parallel processing by organizing computation around destination vertices rather than edges or source vertices. This dimensional shift in the computation graph allows for more efficient memory access patterns and better utilization of GPU memory hierarchy, improving parallel processing scalability
3Ease of manufacture
If static kernel scheduling is used for embedding aggregation, then implementation simplicity is maintained, but dimensionality reduction opportunities are missed increasing computation and memory requirements
Solution Approach 1:
The patent implements dynamic kernel scheduling that adapts to the dimensionality of input embeddings. The system automatically selects aggregation kernels optimized for different embedding dimensions, enabling dimensionality reduction while maintaining implementation simplicity through automated kernel selection rather than manual configuration
4Loss of energy
If GNN preprocessing is performed sequentially, then resource consumption is reduced, but latency increases significantly accounting for 81.7% of total processing time
Solution Approach 1:
The patent enables continuous useful action by overlapping preprocessing operations with GNN computation. The system performs preprocessing tasks such as embedding lookup and feature extraction in parallel with the main GNN computation pipeline, eliminating idle time and reducing overall latency without significantly increasing resource consumption
Solution Approach 2:
The patent performs preliminary actions by pre-computing and caching vertex embeddings and graph features before the main GNN computation. This preliminary preprocessing reduces the computational burden during the main processing phase, lowering latency while keeping resource consumption manageable through efficient caching
Data Source
AI summary
Provided is an apparatus including a streaming multiprocess scheduler and a computation unit, wherein the streaming multiprocess scheduler obtains a subgraph and an embedding table per layer, determines a number of SMs to be allocated for processing embeddings of a destination-vertex based on a feature dimension and a maximum number of threads in each of the SMs, and allocates the determined number of SMs to each of all destination-vertices included in the subgraph, and the computation unit obtains, by each of the SMs, embeddings of a destination-vertex allocated to each SM, obtains, by each SM, embeddings of at least one or more neighbor-vertices of the destination-vertex using the subgraph, and performs, by each SM, a user-designated operation using the embeddings of the destination-vertex and the embeddings of the neighbor-vertices.


