Abstract
For computations on large-scale graphs, one often resorts to parallel algorithms. However, parallel algorithms are difficult to write, debug and analyze. Worse still, it is difficult to make algorithms parallelly scalable, such that the more machines are used, the faster the algorithms run. Indeed, it is not yet known whether any PTIME computational problems admit parallelly scalable algorithms on shared-nothing systems. Is it possible to parallelize sequential graph algorithms and guarantee convergence at the correct results as long as the sequential algorithms are correct? Moreover, does a PTIME parallelly scalable problem exist on shared-nothing systems? This position paper answers both questions in the affirmative.
Similar content being viewed by others
References
Malewicz G, Austern M H, Bik A J C, et al. Pregel: a system for large-scale graph processing. In: Proceedings of International Conference on Management of Data, 2010
Low Y, Gonzalez J, Kyrola A, et al. Distributed GraphLab: a framework for machine learning in the cloud. Proc VLDB Endow, 2012, 5: 716–727
Tian Y Y, Balmin A, Corsten S A, et al. From “think like a vertex” to “think like a graph”. Proc VLDB Endow, 2013, 7: 193–204
Wang G Z, Xie W L, Demers A J, et al. Asynchronous large-scale graph processing made easy. In: Proceedings of Conference on Innovative Data Systems Research, 2013
Xie C N, Chen R, Guan H B, et al. SYNC or ASYNC: time to fuse for distributed graph-parallel computation. In: Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2015
Kruskal C P, Rudolph L, Snir M. A complexity theory of efficient parallel algorithms. Theory Comput Sci, 1990, 71: 95–132
Fan W F, Wang X, Wu Y H, et al. Association rules with graph patterns. Proc VLDB Endow, 2015, 8: 1502–1513
Fan W F, Hu C M, Liu X L, et al. Discovering graph functional dependencies. In: Proceedings of International Conference on Management of Data, 2018. 427–439
Fan W F, Lu P, Tian C, et al. Deducing certain fixes to graphs. Proc VLDB Endow, 2019, 12: 752–765
Fan W F, Wang X, Wu Y H, et al. Distributed graph simulation: impossibility and possibility. Proc VLDB Endow, 2013, 7: 1083–1094
Papadimitriou C H. Computational Complexity. Boston: Addison-Wesley, 1994
Fan W F, Yu W Y, Xu J B, et al. Parallelizing sequential graph computations. In: Proceedings of International Conference on Management of Data, 2017. 495–510
Fan W F, Lu P, Luo X J, et al. Adaptive asynchronous parallelization of graph algorithms. In: Proceedings of International Conference on Management of Data, 2018. 1141–1156
Yan D, Bu Y Y, Tian Y Y, et al. Big graph analytics platforms. FNT Databases, 2015, 7: 1–195
Raychev V, Musuvathi M, Mytkowicz T. Parallelizing user-defined aggregations using symbolic execution. In: Proceedings of Symposium on Operating Systems Principles, 2015
Pingali K, Nguyen D, Kulkarni M, et al. The tao of parallelism in algorithms. In: Proceedings of Programming Language Design and Implementation, 2011
Zhou Y, Liu L, Lee K, et al. Fast iterative graph computation with resource aware graph parallel abstractions. In: Proceedings of High Performance Distributed Computing, 2015
Radoi C, Fink S J, Rabbah R M, et al. Translating imperative code to MapReduce. In: Proceedings of Conference on Object-Oriented Programming Systems, Languages, and Applications, 2014
JáJá J. An Introduction to Parallel Algorithms. Boston: Addison-Wesley, 1992
Karp R M, Ramachandran V. Parallel algorithms for shared-memory machines. In: Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity. Amsterdam: Elsevier, 1990
Chong K W, Han Y J, Lam T W. On the parallel time complexity of undirected connectivity and minimum spanning trees. In: Proceedings of Symposium on Discrete Algorithms, 1999. 225–234
Tarjan R E, Vishkin U. An efficient parallel biconnectivity algorithm. SIAM J Comput, 1985, 14: 862–874
Chong K W, Nikolopoulos S D, Palios L. An optimal parallel co-connectivity algorithm. Theory Comput Syst, 2004, 37: 527–546
Brent R P. The parallel evaluation of general arithmetic expressions. J ACM, 1974, 21: 201–206
Spencer T H. Time-work tradeoffs for parallel algorithms. J ACM, 1997, 44: 742–778
Harris T J. A survey of PRAM simulation techniques. ACM Comput Surv, 1994, 26: 187–206
Herley K T, Bilardi G. Deterministic simulations of prams on bounded degree networks. SIAM J Comput, 1994, 23: 276–292
Karloff H J, Suri S, Vassilvitskii S. A model of computation for MapReduce. In: Proceedings of Symposium on Discrete Algorithms, 2010. 938–948
Goodrich M T, Sitchinava N, Zhang Q. Sorting, searching, and simulation in the MapReduce framework. In: Proceedings of International Symposium on Algorithms and Computation, 2011. 374–383
Yan D, Cheng J, Xing K, et al. Pregel algorithms for graph connectivity problems with performance guarantees. Proc VLDB Endow, 2014, 7: 1821–1832
Andreev K, Racke H. Balanced graph partitioning. In: Proceedings of ACM Symposium on Parallel Algorithms and Architectures, 2006
Bourse F, Lelarge M, Vojnovic M. Balanced graph edge partition. In: Proceedings of Knowledge Discovery and Data Mining, 2014. 1456–1465
Fan W F, Liu M Y, Xu R Q, et al. Think sequential, run parallel. In: Proceedings of Symposium on Real-Time and Hybrid Systems - Essays Dedicated to Professor Chaochen Zhou on the Occasion of His 80th Birthday, 2018
Fan W F, Jin R C, Liu M Y, et al. Application driven graph partitioning. In: Proceedings of ACM SIGMOD International Conference on Management of Data, 2020
Henzinger M R, Henzinger T, Kopke P. Computing simulations on finite and infinite graphs. In: Proceedings of Foundations of Computer Science, 1995
Fan W F, Li J Z, Ma S, et al. Graph pattern matching: from intractability to polynomial time. Proc VLDB Endow, 2010, 3: 264–275
Fan W F, Wang X, Wu Y H. Incremental graph pattern matching. In: Proceedings of International Conference on Management of Data, 2011
Valiant L G. A bridging model for parallel computation. Commun ACM, 1990, 33: 103–111
Jones N D. An introduction to partial evaluation. ACM Comput Surv, 1996, 28: 480–503
Ramalingam G, Reps T. On the computational complexity of dynamic graph problems. Theory Comput Sci, 1996, 158: 233–277
Fan W F, Hu C M, Tian C. Incremental graph computations: doable and undoable. In: Proceedings of International Conference on Management of Data, 2017. 155–169
Maon Y, Schieber B, Vishkin U. Parallel ear decomposition search (EDS) and st-numbering in graphs. Theory Comput Sci, 1986, 47: 277–298
Miller G L, Ramachandran V. Efficient parallel ear decomposition with applications. 1986. http://www.cs.cmu.edu/~glmiller/Publications/Papers/MillerRamachandran86.pdf
Bang-Jensen J, Gutin G Z. Digraphs: Theory, Algorithms and Applications. Berlin: Springer, 2008
Goodrich M T. Communication-efficient parallel sorting. SIAM J Comput, 1999, 29: 416–432
Gallager R G, Humblet P A, Spira P M. A distributed algorithm for minimum-weight spanning trees. ACM Trans Program Lang Syst, 1983, 5: 66–77
Fan W F, Liu M Y, Tian C, et al. Incrementalization of graph partitioning algorithms. Proc VLDB Endow, 2020, 13: 1261–1274
Fan W F, Hu C M, Liu M Y, et al. Dynamic scaling for parallel graph computations. Proc VLDB Endow, 2019, 12: 877–890
Acknowledgements
This work was supported in part by Shenzhen Institute of Computing Sciences, Beijing Advanced Innovation Center for Big Data and Brain Computing (Beihang University), Royal Society Wolfson Research Merit Award (Grant No. WRM/R1/180014), European Research Council (Grant No. 652976), and Engineering and Physical Sciences Research Council (Grant No. EP/M025268/1).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Fan, W., He, K., Li, Q. et al. Graph algorithms: parallelization and scalability. Sci. China Inf. Sci. 63, 203101 (2020). https://doi.org/10.1007/s11432-020-2952-7
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11432-020-2952-7