NXgraph: An Efficient Graph Processing System on a Single Machine
Yuze Chi, Guohao Dai, Yu Wang, Guangyu Sun, Guoliang Li, Huazhong Yang

TL;DR
NXgraph is a high-performance single-machine graph processing system that employs novel data structures and adaptive strategies to outperform existing systems on large-scale graphs, enabling fast computations like PageRank.
Contribution
The paper introduces NXgraph, featuring vertex intervals, edge sub-shards, and adaptive update strategies, achieving efficient and scalable graph processing on a single machine.
Findings
Outperforms GraphChi, TurboGraph, VENUS, and GridGraph in various benchmarks.
Completes PageRank on a 1.5 billion edge graph in 2.05 seconds.
Achieves high parallelism and data locality through novel data structures and strategies.
Abstract
Recent studies show that graph processing systems on a single machine can achieve competitive performance compared with cluster-based graph processing systems. In this paper, we present NXgraph, an efficient graph processing system on a single machine. With the abstraction of vertex intervals and edge sub-shards, we propose the Destination-Sorted Sub-Shard (DSSS) structure to store a graph. By dividing vertices and edges into intervals and sub-shards, NXgraph ensures graph data access locality and enables fine-grained scheduling. By sorting edges within each sub-shard according to their destination vertices, NXgraph reduces write conflicts among different threads and achieves a high degree of parallelism. Then, three updating strategies, i.e., Single-Phase Update (SPU), Double-Phase Update (DPU), and Mixed-Phase Update (MPU), are proposed in this paper. NXgraph can adaptively choose the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
