GLISP: A Scalable GNN Learning System by Exploiting Inherent Structural Properties of Graphs
Zhongshu Zhu, Bin Jing, Xiaopei Wan, Zhizhen Liu, Lei Liang, Jun zhou
TL;DR
GLISP tackles the scalability challenge of deploying Graph Neural Networks on industrial-scale graphs with power-law degree distributions. It introduces AdaDNE, a vertex-cut partitioning algorithm tailored for load-balanced partitions, a memory-efficient graph data structure, a Gather-Apply sampling service, and a layerwise inference engine with a two-level embedding cache and PDS-based graph reordering. Key contributions include AdaDNE, the compact partitioned-data layout, online sampling with cooperative one-hop sampling, and a two-level caching scheme that yields substantial speedups—up to $6.53\times$ in training and $70.77\times$ in inference on graphs with billions of vertices and edges. The approach enables scalable GNN training and inference under limited resources, making industrial-scale graph learning more practical.
Abstract
As a powerful tool for modeling graph data, Graph Neural Networks (GNNs) have received increasing attention in both academia and industry. Nevertheless, it is notoriously difficult to deploy GNNs on industrial scale graphs, due to their huge data size and complex topological structures. In this paper, we propose GLISP, a sampling based GNN learning system for industrial scale graphs. By exploiting the inherent structural properties of graphs, such as power law distribution and data locality, GLISP addresses the scalability and performance issues that arise at different stages of the graph learning process. GLISP consists of three core components: graph partitioner, graph sampling service and graph inference engine. The graph partitioner adopts the proposed vertex-cut graph partitioning algorithm AdaDNE to produce balanced partitioning for power law graphs, which is essential for sampling based GNN systems. The graph sampling service employs a load balancing design that allows the one hop sampling request of high degree vertices to be handled by multiple servers. In conjunction with the memory efficient data structure, the efficiency and scalability are effectively improved. The graph inference engine splits the $K$-layer GNN into $K$ slices and caches the vertex embeddings produced by each slice in the data locality aware hybrid caching system for reuse, thus completely eliminating redundant computation caused by the data dependency of graph. Extensive experiments show that GLISP achieves up to $6.53\times$ and $70.77\times$ speedups over existing GNN systems for training and inference tasks, respectively, and can scale to the graph with over 10 billion vertices and 40 billion edges with limited resources.
