Accurate, Efficient and Scalable Graph Embedding

Hanqing Zeng, Hongkuan Zhou, Ajitesh Srivastava, Rajgopal Kannan, Viktor Prasanna
10/28/2018
cs.LGcs.PFstat.ML

Official code: GraphSAINT/GraphSAINT (508 stars, MIT, last commit 2022-08-12). 1 more implementation below.

Abstract

The Graph Convolutional Network (GCN) model and its variants are powerful graph embedding tools for facilitating classification and clustering on graphs. However, a major challenge is to reduce the complexity of layered GCNs and make them parallelizable and scalable on very large graphs -- state-of the art techniques are unable to achieve scalability without losing accuracy and efficiency. In this paper, we propose novel parallelization techniques for graph sampling-based GCNs that achieve superior scalable performance on very large graphs without compromising accuracy. Specifically, our GCN guarantees work-efficient training and produces order of magnitude savings in computation and communication. To scale GCN training on tightly-coupled shared memory systems, we develop parallelization strategies for the key steps in training: For the graph sampling step, we exploit parallelism within and across multiple sampling instances, and devise an efficient data structure for concurrent accesses that provides theoretical guarantee of near-linear speedup with number of processing units. For the feature propagation step within the sampled graph, we improve cache utilization and reduce DRAM communication by data partitioning. We prove that our partitioning strategy is a 2-approximation for minimizing the communication time compared to the optimal strategy. We demonstrate that our parallel graph embedding outperforms state-of-the-art methods in scalability (with respect to number of processors, graph size and GCN model size), efficiency and accuracy on several large datasets. On a 40-core Xeon platform, our parallel training achieves $64\times$ speedup (with AVX) in the sampling step and $25\times$ speedup in the feature propagation step, compared to the serial implementation, resulting in a net speedup of $21\times$.

View on arXivView PDF

Code Implementations(2)

MIT

[ICLR 2020; IPDPS 2019] Fast and accurate minibatch training for deep GNNs and large graphs (GraphSAINT: Graph Sampling Based Inductive Learning Method).

50888C, C++Feb 4, 20194 years agoMIT
gatgcngraph-samplinggraphsageiclr+2 more
ZimpleX/gcn-ipdps19Community100%

Open source code for the GCN training algorithm published in IEEE/IPDPS'19

110Shell, PythonMar 2, 20194 years ago
gcngcn-training-algorithmipdps

Similar Papers

Cite this paper

@article{zeng2018accurate,
  title  = {Accurate, Efficient and Scalable Graph Embedding},
  author = {Hanqing Zeng and Hongkuan Zhou and Ajitesh Srivastava and Rajgopal Kannan and Viktor Prasanna},
  year   = {2018},
  eprint = {1810.11899},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1810.11899}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1810.11899.svg)](https://codeofpaper.com/paper/1810.11899)

Discussion