Abstract
Graph is a significant data structure that describes the relationship between entries. Many application domains in the real world are heavily dependent on graph data. However, graph applications are vastly different from traditional applications. It is inefficient to use general-purpose platforms for graph applications, thus contributing to the research of specific graph processing platforms. In this survey, we systematically categorize the graph workloads and applications, and provide a detailed review of existing graph processing platforms by dividing them into general-purpose and specialized systems. We thoroughly analyze the implementation technologies including programming models, partitioning strategies, communication models, execution models, and fault tolerance strategies. Finally, we analyze recent advances and present four open problems for future research.
Similar content being viewed by others
References
Abou-Rjeili A, Karypis G, 2006. Multilevel algorithms for partitioning power-law graphs. Proc 20th IEEE Int Parallel and Distributed Processing Symp, Article 10. https://doi.org/10.1109/IPDPS.2006.1639360
Ajwani D, Dementiev R, Meyer U, 2006. A computational study of external-memory BFS algorithms. Proc 17th Annual ACM-SIAM Symp on Discrete Algorithm, p.601–610.
Ajwani D, Meyer U, Osipov V, 2007. Improved external memory BFS implementations. Proc Meeting on Algorithm Engineering and Expermiments, p.3–12.
Arge L, Brodal GS, Toma L, 2000. On external-memory MST, SSSP, and multi-way planar graph separation. Proc 7th Scandinavian Workshop on Algorithm Theory, p.433–447. https://doi.org/10.1007/3-540-44985-X_37
Atwood J, Towsley D, 2016. Diffusion-convolutional neural networks. https://arxiv.org/abs/1511.02136
Avery C, 2011. Giraph: large-scale graph processing infrastructure on Hadoop. Proc Hadoop Summit, p.5–9.
Awerbuch B, Gallager RG, 1985. Distributed BFS algorithms. 26th Annual Symp on Foundations of Computer Science, p.250–256. https://doi.org/10.1109/SFCS.1985.20
Bader DA, Cong G, 2006. Fast shared-memory algorithms for computing the minimum spanning forest of sparse graphs. J Parall Distr Comput, 66(11): 1366–1378. https://doi.org/10.1016/j.jpdc.2006.06.001
Bader DA, Madduri K, 2006. Parallel algorithms for evaluating centrality indices in real-world networks. Int Conf on Parallel Processing, p.539–550. https://doi.org/10.1109/ICPP.2006.57
Bao NT, Suzumura T, 2013. Towards highly scalable pregel-based graph processing platform with x10. Proc 22nd Int Conf on World Wide Web, p.501–508. https://doi.org/10.1145/2487788.2487984
Batarfi O, El Shawi R, Fayoumi AG, et al., 2015. Large scale graph processing systems: survey and an experimental evaluation. Clust Comput, 18(3): 1189–1213. https://doi.org/10.1007/s10586-015-0472-6
Baumes J, Goldberg M, Magdon-Ismail M, 2005. Efficient identification of overlapping communities. IEEE Int Conf on Intelligence and Security Informatics, p.27–36. https://doi.org/10.1007/11427995_3
Becchetti L, Boldi P, Castillo C, et al., 2008. Efficient semi-streaming algorithms for local triangle counting in massive graphs. Proc 14th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining, p.16–24. https://doi.org/10.1145/1401890.1401898
Belkin M, Niyogi P, 2001. Laplacian eigenmaps and spectral techniques for embedding and clustering. Proc 14th Int Conf on Neural Information Processing Systems, p.585–591.
Binnig C, Crotty A, Galakatos A, et al., 2016. The end of slow networks: it’s time for a redesign. Proc VLDB Endowm, 9(7): 528–539. https://doi.org/10.14778/2904483.2904485
Borgelt C, Berthold MR, 2002. Mining molecular fragments: finding relevant substructures of molecules. IEEE Int Conf on Data Mining, p.51–58. https://doi.org/10.1109/ICDM.2002.1183885
Brandes U, 2001. A faster algorithm for betweenness centrality. J Math Sociol, 25(2): 163–177. https://doi.org/10.1080/0022250X.2001.9990249
Bruna J, Zaremba W, Szlam A, et al., 2014. Spectral networks and locally connected networks on graphs. https://arxiv.org/abs/1312.6203
Bu YY, Howe B, Balazinska M, et al., 2010. HaLoop: efficient iterative data processing on large clusters. Proc VLDB Endowm, 3(1-2): 285–296. https://doi.org/10.14778/1920841.1920881
Bu YY, Borkar V, Jia J, et al., 2014. Pregelix: big(ger) graph analytics on a dataflow engine. Proc VLDB Endowm, 8(2): 161–172. https://doi.org/10.14778/2735471.2735477
Bulug A, Madduri K, 2011. Parallel breadth-first search on distributed memory systems. Proc Int Conf for High Performance Computing, Networking, Storage and Analysis, Article 65. https://doi.org/10.1145/2063384.2063471
Bulug A, Meyerhenke H, Safro I, et al., 2016. Recent advances in graph partitioning. In: Kliemann L, Sanders P (Eds.), Algorithm Engineering. Springer, Cham, p.117–158. https://doi.org/10.1007/978-3-319-49487-6_4
Chan TM, 2010. More algorithms for all-pairs shortest paths in weighted graphs. SIAM J Comput, 39(5): 2075–2089. https://doi.org/10.1137/08071990X
Chang LJ, Lin XM, Zhang WJ, et al., 2015. Optimal enumeration: efficient top-k tree matching. Proc VLDB Endowm, 8(5): 533–544. https://doi.org/10.14778/2735479.2735486
Chen R, Weng X, He B, et al., 2010. Large graph processing in the cloud. Proc ACM SIGMOD Int Conf on Management of Data, p.1123–1126. https://doi.org/10.1145/1807167.1807297
Chen R, Ding X, Wang P, et al., 2014. Computation and communication efficient graph processing with distributed immutable view. Proc 23rd Int Symp on High-Performance Parallel and Distributed Computing, p.215–226. https://doi.org/10.1145/2600212.2600233
Chen R, Shi J, Chen Y, et al., 2015. PowerLyra: differentiated graph computation and partitioning on skewed graphs. 10th European Conf on Computer Systems, Article 1.
Chen YZ, Wei XD, Shi JX, et al., 2016. Fast and general distributed transactions using RDMA and HTM. Proc 11th European Conf on Computer Systems, Article 26. https://doi.org/10.1145/2901318.2901349
Cheung TY, 1983. Graph traversal techniques and the maximum flow problem in distributed computation. IEEE Trans Softw Eng, 9(4): 504–512. https://doi.org/10.1109/TSE.1983.234958
Chi Y, Dai G, Wang Y, et al., 2016. NXgraph: an efficient graph processing system on a single machine. IEEE 32nd Int Conf on Data Engineering, p.409–420. https://doi.org/10.1109/ICDE.2016.7498258
Da Z, Mhembere D, Burns R, et al., 2015. FlashGraph: processing billion-node graphs on an array of commodity SSDS. Proc 13th USENIX Conf on File and Storage Technologies, p.45–58.
Dean J, Ghemawat S, 2008. MapReduce: simplified data processing on large clusters. Commun ACM, 51(1): 107–113. https://doi.org/10.1145/1327452.1327492
Defferrard M, Bresson X, Vandergheynst P, 2016. Convolutional neural networks on graphs with fast localized spectral filtering. https://arxiv.org/abs/1606.09375
Desikan P, Pathak N, Srivastava J, et al., 2005. Incremental page rank computation on evolving graphs. Special Interest Tracks and Posters of the 14th Int Conf on World Wide Web, p.1094–1095. https://doi.org/10.1145/1062745.1062885
Doekemeijer N, Varbanescu AL, 2014. A Survey of Parallel Graph Processing Frameworks. Technical Report No. PDS-2014–003, Delft University of Technology, the Netherlands.
Dragojević A, Narayanan D, Hodson O, et al., 2014. FaRM: fast remote memory. Proc 11th USENIX Conf on Networked Systems Design and Implementation, p.401–414.
Duvenaud D, Maclaurin D, Aguilera-Iparraguirre J, et al., 2015. Convolutional networks on graphs for learning molecular fingerprints. Proc 28th Int Conf on Neural Information Processing Systems, p.2224–2232.
Ekanayake J, Li H, Zhang B, et al., 2010. Twister: a runtime for iterative MapReduce. Proc 19th ACM Int Symp on High Performance Distributed Computing, p.810–818.
Farkas IJ, Abel D, Palla G, et al., 2007. Weighted network modules. New J Phys, 9(6): 180. https://doi.org/10.1088/1367-2630/9/6/180
Garey MR, Johnson DS, Stockmeyer L, 1974. Some simplified NP-complete problems. Proc 6th Annual ACM Symp on Theory of Computing, p.47–63. https://doi.org/10.1145/800119.803884
Gonzalez JE, Low Y, Gu H, et al., 2012. PowerGraph: distributed graph-parallel computation on natural graphs. Proc 10th USENIX Conf on Operating Systems Design and Implementation, p.17–30.
Gonzalez JE, Xin RS, Dave A, et al., 2014. GraphX: graph processing in a distributed dataflow framework. Proc 11th USENIX Conf on Operating Systems Design and Implementation, p.599–613.
Han WS, Lee J, Lee JH, 2013a. TurboISO: towards ultrafast and robust subgraph isomorphism search in large graph databases. Proc Int Conf on Management of Data, p.337–348.
Han WS, Lee S, Park K, et al., 2013b. TurboGraph: a fast parallel graph engine handling billion-scale graphs in a single PC. Proc 19th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining, p.77–85. https://doi.org/10.1145/2487575.2487581
Harish P, Vineet V, Narayanan P, 2009. Large graph algorithms for massively multithreaded architectures. Technical Report No. IIIT/TR/2009/74. Centre for Visual Information Technology, University of Hyderabad, India.
Hirschberg DS, Chandra AK, Sarwate DV, 1979. Computing connected components on parallel computers. Commun ACM, 22(8): 461–464. https://doi.org/10.1145/359138.359141
Ho LY, Li TH, Wu JJ, et al., 2013. Kylin: an efficient and scalable graph data processing system. IEEE Int Conf on Big Data, p.193–198. https://doi.org/10.1109/BigData.2013.6691574
Holder LB, Cook DJ, Djoko S, 1994. Substructure discovery in the SUBDUE system. Proc 3rd Int Conf on Knowledge Discovery and Data Mining, p.169–180.
Huan J, Wang W, Prins J, 2003. Efficient mining of frequent subgraphs in the presence of isomorphism. 3rd IEEE Int Conf on Data Mining, p.549–552. https://doi.org/10.1109/ICDM.2003.1250974
Huan J, Wang W, Prins J, et al., 2004. SPIN: mining maximal frequent subgraphs from graph databases. 10th Int Conf on Knowledge Discovery and Data Mining, p.581–586. https://doi.org/10.1145/1014052.1014123
Huang J, Abadi DJ, 2016. Leopard: lightweight edge oriented partitioning and replication for dynamic graphs. Proc VLDB Endowm, 9(7): 540–551. https://doi.org/10.14778/2904483.2904486
Inokuchi A, Washio T, Motoda H, 2000. An Apriori-based algorithm for mining frequent substructures from graph data. European Conf on Principles of Data Mining and Knowledge Discovery, p.13–23. https://doi.org/10.1007/3-540-45372-5_2
Jain N, Liao G, Willke TL, 2013. GraphBuilder: scalable graph ETL framework. 1st Int Workshop on Graph Data Management Experiences and Systems, Article 4. https://doi.org/10.1145/2484425.2484429
Kalavri V, Liagouris J, Hoffmann M, et al., 2018. Three steps is all you need: fast, accurate, automatic scaling decisions for distributed streaming dataflows. 13th USENIX Symp on Operating Systems Design and Implementation, p.783–798.
Kamvar SD, Haveliwala TH, Manning CD, et al., 2003. Extrapolation methods for accelerating PageRank computations. Proc 12th Int Conf on World Wide Web, p.261–270. https://doi.org/10.1145/775152.775190
Kang U, Tsourakakis CE, Faloutsos C, 2009. PEGASUS: a peta-scale graph mining system implementation and observations. 9th IEEE Int Conf on Data Mining, p.229–238. https://doi.org/10.1109/ICDM.2009.14
Kelley S, 2009. The existence and discovery of overlapping communities in large-scale networks. PhD Thesis, Rensselaer Polytechnic Institute, Troy, NY, USA.
Kipf TN, Welling M, 2016a. Semi-supervised classification with graph convolutional networks. https://arxiv.org/abs/1609.02907
Kipf TN, Welling M, 2016b. Variational graph auto-encoders. https://arxiv.org/abs/1611.07308
Kolountzakis MN, Miller GL, Peng R, et al., 2012. Efficient triangle counting in large graphs via degree-based vertex partitioning. Int Math, 8(1-2): 161–185. https://doi.org/10.1080/15427951.2012.625260
Kuramochi M, Karypis G, 2003. GREW: a scalable frequent subgraph discovery algorithm. 4th IEEE Int Conf on Data Mining, p.439–442. https://doi.org/10.1109/ICDM.2004.10024
Kuramochi M, Karypis G, 2004. An efficient algorithm for discovering frequent subgraphs. IEEE Trans Knowl Data Eng, 16(9): 1038–1051. https://doi.org/10.1109/TKDE.2004.33
Kutzkov K, Pagh R, 2014. Triangle counting in dynamic graph streams. Scandinavian Workshop on Algorithm Theory, p.306–318. https://doi.org/10.1007/978-3-319-08404-6_27
Kyrola A, Blelloch GE, Guestrin C, 2012. GraphChi: large-scale graph computation on just a PC. Proc USENIX Symp on Operating Systems Design and Implementation, p.31–46.
Lancichinetti A, Fortunato S, Kertész J, 2009. Detecting the overlapping and hierarchical community structure in complex networks. N J Phys, 11(3): 19–44.
Lang K, 2004. Finding good nearly balanced cuts in power law graphs. Yahoo Research Labs, CA, USA. http://www.optimization-online.org/db_file/2004/12/1023.pdf [Assessed on Sept. 16, 2019].
Lee C, Reid F, Mcdaid A, et al., 2010. Detecting highly overlapping community structure by greedy clique expansion. 4th SNA-KDD Workshop on Social Network Mining and Analysis, p.1–10.
Leiserson CE, Schardl TB, 2010. A work-efficient parallel breadth-first search algorithm (or how to cope with the nondeterminism of reducers). Proc 22nd Annual ACM Symp on Parallelism in Algorithms and Architectures, p.303–314. https://doi.org/10.1145/1810479.1810534
Liu H, Huang HH, 2017. Graphene: fine-grained IO management for graph computing. Proc 15th USENIX Conf on File and Storage Technologies, p.285–300.
Lotker Z, Patt-Shamir B, Peleg D, 2006. Distributed MST for constant diameter graphs. Distr Comput, 18(6): 453–460. https://doi.org/10.1007/s00446-005-0127-6
Low Y, Gonzalez JE, Kyrola A, et al., 2010. GraphLab: a new framework for parallel machine learning. https://arxiv.org/abs/1408.2041
Low Y, Bickson D, Gonzalez J, et al., 2012. Distributed GraphLab: a framework for machine learning and data mining in the cloud. Proc VLDB Endowm, 5(8): 716–727. https://doi.org/10.14778/2212351.2212354
Ma H, Yang H, Lyu MR, et al., 2008. Mining social networks using heat diffusion processes for marketing candidates selection. Proc 17th ACM Conf on Information and Knowledge Management, p.233–242. https://doi.org/10.1145/1458082.1458115
Maass S, Min C, Kashyap S, et al., 2017. Mosaic: processing a trillion-edge graph on a single machine. Proc 20th European Conf on Computer Systems, p.527–543. https://doi.org/10.1145/3064176.3064191
Maheshwari A, Zeh N, 2001. I/O-efficient algorithms for graphs of bounded treewidth. Proc 12th Annual ACM-SIAM Symp on Discrete Algorithms, p.89–90.
Malewicz G, Austern MH, Bik AJ, et al., 2010. Pregel: a system for large-scale graph processing. Proc ACM SIGMOD Int Conf on Management of Data, p.135–146.
Matsumoto K, Nakasato N, Sedukhin SG, 2011. Blocked all-pairs shortest paths algorithm for hybrid CPU-GPU system. IEEE 13th Int Conf on High Performance Computing and Communications, p.145–152. https://doi.org/10.1109/HPCC.2011.28
McCune RR, Weninger T, Madey G, 2015. Thinking like a vertex: a survey of vertex-centric frameworks for large-scale distributed graph processing. ACM Comput Surv, 48(2): 25. https://doi.org/10.1145/2818185
Miao X, 2015. DynaDiffuse: a dynamic diffusion model for continuous time constrained influence maximization. Proc 29th AAAI Conf on Artificial Intelligence, p.346–352.
Mihalcea R, 2004. Graph-based ranking algorithms for sentence extraction, applied to text summarization. Proc ACL on Interactive Poster and Demonstration Sessions, Article 20. https://doi.org/10.3115/1219044.1219064
Murray DG, McSherry F, Isaacs R, et al., 2013. Naiad: a timely dataflow system. Proc 24th ACM Symp on Operating Systems Principles, p.439–455.
Nanongkai D, 2014. Distributed approximation algorithms for weighted shortest paths. Proc 46th Annual ACM Symp on Theory of Computing, p.565–573. https://doi.org/10.1145/2591796.2591850
Nguyen D, Lenharth A, Pingali K, 2013. A lightweight infrastructure for graph analytics. Proc 24th ACM Symp on Operating Systems Principles, p.456–471. https://doi.org/10.1145/2517349.2522739
Niepert M, Ahmed M, Kutzkov K, 2016. Learning convolutional neural networks for graphs. https://arxiv.org/abs/1605.05273
Nuutila E, Soisalon-Soininen E, 1994. On finding the strongly connected components in a directed graph. Inform Process Lett, 49(1): 9–14. https://doi.org/10.1016/0020-0190(94)90047-7
Pan SR, Hu RQ, Long GD, et al., 2018 Adversarially regularized graph autoencoder for graph embedding. https://arxiv.org/abs/1802.04407
Power R, Li JY, 2010. Piccolo: building fast, distributed programs with partitioned tables. Proc 9th USENIX Conf on Operating Systems Design and Implementation, p.293–306.
Psorakis I, Roberts S, Ebden M, et al., 2011. Overlapping community detection using Bayesian non-negative matrix factorization. Phys Rev E, 83(2): 066114. https://doi.org/10.1103/PhysRevE.83.066114
Rahimian F, Payberah AH, Girdzijauskas S, et al., 2014. Distributed vertex-cut partitioning. IFIP Int Conf on Distributed Applications and Interoperable Systems, p.186–200. https://doi.org/10.1007/978-3-662-43352-2_15
Ren XG, Wang JH, 2015. Exploiting vertex relationships in speeding up subgraph isomorphism over large graphs. Proc VLDB Endowm, 8(5): 617–628. https://doi.org/10.14778/2735479.2735493
Rodriguez MA, 2015. The Gremlin graph traversal machine and language (invited talk). Proc 15th Symp on Database Programming Languages, p.1–10. https://doi.org/10.1145/2815072.2815073
Roy A, Mihailovic I, Zwaenepoel W, 2013. X-Stream: edge-centric graph processing using streaming partitions. Proc 24th ACM Symp on Operating Systems Principles, p.472–488. https://doi.org/10.1145/2517349.2522740
Roy A, Bindschaedler L, Malicevic J, et al., 2015. Chaos: scale-out graph processing from secondary storage. Proc 25th Symp on Operating Systems Principles, p.410–424. https://doi.org/10.1145/2815400.2815408
Sabrin KM, Lin Z, Chau DHP, et al., 2013. MMap: Mining Billion-Scale Graphs on a PC with Fast, Minimalist Approach via Memory Mapping. Technical Report No. GT-CSE-2013–04, Georgia Institute of Technology, Atlanta, USA.
Sakr S, Bajaber F, Barnawi A, et al., 2015. Big data processing systems: state-of-the-art and open challenges. Int Conf on Cloud Computing, p.1–8.
Sarma AD, Molla AR, Pandurangan G, et al., 2013. Fast distributed PageRank computation. Int Conf on Distributed Computing and Networking, p.11–26. https://doi.org/10.1007/978-3-642-35668-1_2
Scarselli F, Gori M, Tsoi AC, et al., 2009. The graph neural network model. IEEE Trans Neur Netw, 20(1): 61–80. https://doi.org/10.1109/TNN.2008.2005605
Schloegel K, Karypis G, Kumar V, 2000. Parallel multilevel algorithms for multi-constraint graph partitioning. Proc 6th Int European Conf on Parallel Processing, p.296–310. https://doi.org/10.1007/3-540-44520-X_39
Seo S, Yoon EJ, Kim J, et al., 2010. HAMA: an efficient matrix computation with the MapReduce framework. IEEE Second Int Conf on Cloud Computing Technology and Science, p.721–726. https://doi.org/10.1109/CloudCom.2010.17
Shang HC, Zhang Y, Lin XM, et al., 2008. Taming verification hardness: an efficient algorithm for testing subgraph isomorphism. Proc VLDB Endowm, 1(1): 364–375. https://doi.org/10.14778/1453856.1453899
Shao B, Wang HX, Li YT, 2013. Trinity: a distributed graph engine on a memory cloud. Proc ACM SIGMOD Int Conf on Management of Data, p.505–516. https://doi.org/10.1145/2463676.2467799
Shen HW, Cheng XQ, Cai K, et al., 2008. Detect overlapping and hierarchical community structure in networks. Phys A, 388(8):1706–1712. https://doi.org/10.1016/j.physa.2008.12.021
Shen YY, Chen G, Jagadish HV, et al., 2014. Fast failure recovery in distributed graph processing systems. Proc VLDB Endowm, 8(4): 437–448. https://doi.org/10.14778/2735496.2735506
Shi JX, Yao YY, Chen R, et al., 2016. Fast and concurrent RDF queries with RDMA-based distributed graph exploration. Proc 12th USENIX Conf on Operating Systems Design and Implementation, p.317–332.
Shun JL, Blelloch GE, 2013. Ligra: a lightweight graph processing framework for shared memory. ACM SIGPLAN Not, 48(8): 135–146. https://doi.org/10.1145/2442516.2442530
Simmhan Y, Kumbhare A, Wickramaarachchi C, et al., 2014. GoFFish: a sub-graph centric framework for large-scale graph analytics. European Conf on Parallel Processing, p.451–462. https://doi.org/10.1007/978-3-319-09873-9_38
Stanton I, Kliot G, 2012. Streaming graph partitioning for large distributed graphs. Proc 18th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining, p.1222–1230. https://doi.org/10.1145/2339530.2339722
Sundaram N, Satish N, Patwary MMA, et al., 2015. Graph-Mat: high performance graph analytics made productive. Proc VLDB Endowm, 8(11): 1214–1225. https://doi.org/10.14778/2809974.2809983
Taleb Y, Stutsman R, Antoniu G, et al., 2018. Tailwind: fast and atomic RDMA-based replication. USENIX Annual Technical Conf, p.850–863.
Tangwongsan K, Pavan A, Tirthapura S, 2013. Parallel triangle counting in massive streaming graphs. Proc 22nd ACM Int Conf on Information and Knowledge Management, p.781–786. https://doi.org/10.1145/2505515.2505741
Tian YY, Balmin A, Corsten SA, et al., 2013. From “think like a vertex” to “think like a graph.” Proc VLDB Endowm, 7(3):193–204. https://doi.org/10.14778/2732232.2732238
Ullmann JR, 1976. An algorithm for subgraph isomorphism. JACM, 23(1): 31–42. https://doi.org/10.1145/321921.321925
Valiant LG, 1990. A bridging model for parallel computation. Commun ACM, 33(8): 103–111. https://doi.org/10.1145/79173.79181
Vaswani A, Shazeer N, Parmar N, et al., 2017. Attention is all you need. https://arxiv.org/abs/1706.03762
Veličković P, Cucurull G, Casanova A, et al., 2017. Graph attention networks. https://arxiv.org/abs/1710.10903
Vora K, Xu GH, Gupta R, 2016. Load the edges you need: a generic I/O optimization for disk-based graph processing. USENIX Annual Technical Conf, p.507–522.
Vora K, Gupta R, Xu GQ, 2017. KickStarter: fast and accurate computations on streaming graphs via trimmed approximations. Proc 22nd Int Conf on Architectural Support for Programming Languages and Operating Systems, p.237–251. https://doi.org/10.1145/3037697.3037748
Wang DX, Cui P, Zhu WW, 2016. Structural deep network embedding. 22nd ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining, p.1225–1234. https://doi.org/10.1145/2939672.2939753
Wang K, Xu GH, Su Z, et al., 2015. GraphQ: graph query processing with abstraction refinement-scalable and programmable analytics over very large graphs on a single PC. USENIX Annual Technical Conf, p.387–401.
Wang K, Hussain A, Zuo ZQ, et al., 2017. Graspan: a single-machine disk-based graph system for interprocedural static analyses of large-scale systems code. ACM SIGPLAN Not, 52(4): 389–404. https://doi.org/10.1145/3093336.3037744
Wang K, Zuo ZQ, Thorpe J, et al., 2018. RStream: marrying relational algebra with streaming for efficient graph mining on a single machine. Proc 12th USENIX Conf on Operating Systems Design and Implementation, p.763–782.
Wang P, Zhang K, Chen R, et al., 2014. Replication-based fault-tolerance for large-scale graph processing. 44th Annual IEEE/IFIP Int Conf on Dependable Systems and Networks, p.562–573. https://doi.org/10.1109/DSN.2014.58
Washio T, Motoda H, 2003. State of the art of graph-based data mining. ACM SIGKDD Explor Newsl, 5(1): 59–68. https://doi.org/10.1145/959242.959249
Xie CN, Chen R, Guan HB, et al., 2015. SYNC or ASYNC: time to fuse for distributed graph-parallel computation. ACM SIGPLAN Not, 50(8): 194–204. https://doi.org/10.1145/2858788.2688508
Xie WL, Wang GZ, Bindel D, et al., 2013. Fast iterative graph computation with block updates. Proc VLDB Endowm, 6(14): 2014–2025. https://doi.org/10.14778/2556549.2556581
Yan D, Cheng J, Lu Y, et al., 2014. Blogel: a block-centric framework for distributed computation on real-world graphs. Proc VLDB Endowm, 7(14): 1981–1992. https://doi.org/10.14778/2733085.2733103
Yan XF, Han JW, 2002. gSpan: graph-based substructure pattern mining. Proc IEEE Int Conf on Data Mining, p.721–724. https://doi.org/10.1109/ICDM.2002.1184038
Yan XF, Han JW, 2003. CloseGraph: mining closed frequent graph patterns. Proc ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining, p.286–295. https://doi.org/10.1145/956750.956784
Yoo A, Chow E, Henderson K, et al., 2005. A scalable distributed parallel breadth-first search algorithm on BlueGene/L. Proc ACM/IEEE Conf on Supercomputing, Article 25. https://doi.org/10.1109/SC.2005.4
Yuan PP, Zhang WY, Xie CF, et al., 2014. Fast iterative graph computation: a path centric approach. Proc Int Conf for High Performance Computing, Networking, Storage and Analysis, p.401–412.
Zaharia M, Chowdhury M, Franklin MJ, et al., 2010. Spark: cluster computing with working sets. Proc 2nd USENIX Conf on Hot Topics in Cloud Computing, Article 10.
Zhang KY, Chen R, Chen HB, 2015. NUMA-aware graph-structured analytics. ACM SIGPLAN Not, 50(8): 183–193. https://doi.org/10.1145/2858788.2688507
Zhang MX, Wu YW, Chen K, et al., 2016. Exploring the hidden dimension in graph processing. Proc 12th USENIX Conf on Operating Systems Design and Implementation, p.285–300.
Zhang S, Wang RS, Zhang XS, 2007. Identification of overlapping community structure in complex networks using fuzzy c-means clustering. Phys A, 374(1): 483–490. https://doi.org/10.1016/j.physa.2006.07.023
Zhang Y, Liao XF, Jin H, et al., 2018. CGraph: a correlations-aware approach for efficient concurrent iterative graph processing. USENIX Annual Technical Conf, p.1–12.
Zhang YH, Chen R, Chen HB, 2017. Sub-millisecond stateful stream querying over fast-evolving linked data. Proc 26th Symp on Operating Systems Principles, p.614–630. https://doi.org/10.1145/3132747.3132777
Zhang YM, Li DS, Guo CX, et al., 2017a. CubicRing: exploiting network proximity for distributed in-memory key-value store. IEEE/ACM Trans Netw, 25(4): 2040–2053. https://doi.org/10.1109/TNET.2017.2669215
Zhang YM, Li DS, Zhang CX, et al., 2017b. GraphA: efficient partitioning and storage for distributed graph computation. IEEE Trans Serv Comput, online. https://doi.org/10.1109/TSC.2017.2778737
Zhang YM, Li DS, Liu L, 2019. Leveraging glocality for fast failure recovery in distributed RAM storage. ACM Trans Stor, 15(1): 3. https://doi.org/10.1145/3289604
Zhao Y, Yoshigoe K, Xie M, et al., 2014. LightGraph: lighten communication in distributed graph-parallel processing. IEEE Int Congress on Big Data, p.717–724. https://doi.org/10.1109/BigData.Congress.2014.106
Zhou C, Gao J, Sun B, et al., 2014. MOCgraph: scalable distributed graph processing using message online computing. Proc VLDB Endowm, 8(4): 377–388. https://doi.org/10.14778/2735496.2735501
Zhu G, Lin X, Zhu K, et al., 2012. TreeSpan: efficiently computing similarity all-matching. Proc ACM SIG-MOD Int Conf on Management of Data, p.529–540. https://doi.org/10.1145/2213836.2213896
Zhu XW, Han WT, Chen WG, 2015. GridGraph: large-scale graph processing on a single machine using 2-level hierarchical partitioning. USENIX Annual Technical Conf, p.375–386.
Zhu XW, Chen WG, Zheng WM, et al., 2016. Gemini: a computation-centric distributed graph processing system. USENIX Symposium on Operating Systems Design and Implementation, p.301–316.
Author information
Authors and Affiliations
Contributions
Dong-sheng LI guided the research. Ning LIU designed the research and drafted the manuscript. Xiong-lve LI helped organize the manuscript. Dong-sheng LI and Yi-ming ZHANG revised and edited the final version.
Corresponding author
Additional information
Compliance with ethics guidelines
Ning LIU, Dong-sheng LI, Yi-ming ZHANG, and Xionglve LI declare that they have no conflict of interest.
Project supported by the National Key Program of China (No. 2018YFB2101100), the National Natural Science Foundation of China (Nos. 61932001 and 61872376), and the Major State Research Development Program of China (No. 2016YFB0201305)
Dr. Dong-sheng LI, corresponding author of this invited review article, received the BS degree (with honors) and PhD degree (with honors) in computer science from College of Computer Science, National University of Defense Technology (NUDT), Changsha, China, in 1999 and 2005, respectively. He was awarded the prize of National Excellent Doctoral Dissertation by the Ministry of Education of China in 2008. He is now a full professor at the National Lab for Parallel and Distributed Processing, NUDT. He is a corresponding expert of Frontiers of Information Technology & Electronic Engineering. His research interests include parallel and distributed computing, cloud computing, and large-scale data management.
Rights and permissions
About this article
Cite this article
Liu, N., Li, Ds., Zhang, Ym. et al. Large-scale graph processing systems: a survey. Front Inform Technol Electron Eng 21, 384–404 (2020). https://doi.org/10.1631/FITEE.1900127
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1631/FITEE.1900127