PSGraph: How Tencent Trains Extremely Large-Scale Graphs with Spark?

Jiawei Jiang,Pin Xiao,Lele Yu,Xiaosen Li,Jiefeng Cheng,Xupeng Miao,Zhipeng Zhang,Bin Cui
DOI: https://doi.org/10.1109/icde48307.2020.00137
2020-01-01
Abstract:Spark has extensively used in many applications of Tencent, due to its easy deployment, pipeline capability, and close integration with the Hadoop ecosystem. As the graph computing engine of Spark, GraphX is also widely deployed to process large-scale graph data in Tencent. However, when the size of the graph data is up to billion-scale, GraphX encounters serious performance degradation. Worse, Graphx cannot support the rising advancement of graph embedding (GE) and graph neural network (GNN) algorithms. To address these challenges, we develop a new graph processing system, called PSGraph, which uses Spark executor and PyTorch to perform calculation, and develops a distributed parameter server to store frequently accessed models. PSGraph can train extremely large-scale graph data in Tencent with the parameter server architecture, and enable the training of GE and GNN algorithms. Moreover, PSGraph still benefits from the advantages of Spark via staying inside the Spark ecosystem, and can directly replace GraphX without modification to the existing application framework. Our experiments show that PSGraph outperforms GraphX significantly.
What problem does this paper attempt to address?