Skip to main content
Log in

Graph algorithms: parallelization and scalability

  • Position Paper
  • Published:
Science China Information Sciences Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

  2. 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

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

  5. 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

  6. Kruskal C P, Rudolph L, Snir M. A complexity theory of efficient parallel algorithms. Theory Comput Sci, 1990, 71: 95–132

    Article  MathSciNet  Google Scholar 

  7. Fan W F, Wang X, Wu Y H, et al. Association rules with graph patterns. Proc VLDB Endow, 2015, 8: 1502–1513

    Article  Google Scholar 

  8. 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

  9. Fan W F, Lu P, Tian C, et al. Deducing certain fixes to graphs. Proc VLDB Endow, 2019, 12: 752–765

    Article  Google Scholar 

  10. Fan W F, Wang X, Wu Y H, et al. Distributed graph simulation: impossibility and possibility. Proc VLDB Endow, 2013, 7: 1083–1094

    Article  Google Scholar 

  11. Papadimitriou C H. Computational Complexity. Boston: Addison-Wesley, 1994

    MATH  Google Scholar 

  12. 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

  13. 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

  14. Yan D, Bu Y Y, Tian Y Y, et al. Big graph analytics platforms. FNT Databases, 2015, 7: 1–195

    Article  Google Scholar 

  15. Raychev V, Musuvathi M, Mytkowicz T. Parallelizing user-defined aggregations using symbolic execution. In: Proceedings of Symposium on Operating Systems Principles, 2015

  16. Pingali K, Nguyen D, Kulkarni M, et al. The tao of parallelism in algorithms. In: Proceedings of Programming Language Design and Implementation, 2011

  17. 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

  18. 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

  19. JáJá J. An Introduction to Parallel Algorithms. Boston: Addison-Wesley, 1992

    MATH  Google Scholar 

  20. 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

    Google Scholar 

  21. 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

  22. Tarjan R E, Vishkin U. An efficient parallel biconnectivity algorithm. SIAM J Comput, 1985, 14: 862–874

    Article  MathSciNet  Google Scholar 

  23. Chong K W, Nikolopoulos S D, Palios L. An optimal parallel co-connectivity algorithm. Theory Comput Syst, 2004, 37: 527–546

    Article  MathSciNet  Google Scholar 

  24. Brent R P. The parallel evaluation of general arithmetic expressions. J ACM, 1974, 21: 201–206

    Article  MathSciNet  Google Scholar 

  25. Spencer T H. Time-work tradeoffs for parallel algorithms. J ACM, 1997, 44: 742–778

    Article  MathSciNet  Google Scholar 

  26. Harris T J. A survey of PRAM simulation techniques. ACM Comput Surv, 1994, 26: 187–206

    Article  Google Scholar 

  27. Herley K T, Bilardi G. Deterministic simulations of prams on bounded degree networks. SIAM J Comput, 1994, 23: 276–292

    Article  MathSciNet  Google Scholar 

  28. Karloff H J, Suri S, Vassilvitskii S. A model of computation for MapReduce. In: Proceedings of Symposium on Discrete Algorithms, 2010. 938–948

  29. 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

  30. Yan D, Cheng J, Xing K, et al. Pregel algorithms for graph connectivity problems with performance guarantees. Proc VLDB Endow, 2014, 7: 1821–1832

    Article  Google Scholar 

  31. Andreev K, Racke H. Balanced graph partitioning. In: Proceedings of ACM Symposium on Parallel Algorithms and Architectures, 2006

  32. Bourse F, Lelarge M, Vojnovic M. Balanced graph edge partition. In: Proceedings of Knowledge Discovery and Data Mining, 2014. 1456–1465

  33. 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

  34. 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

  35. Henzinger M R, Henzinger T, Kopke P. Computing simulations on finite and infinite graphs. In: Proceedings of Foundations of Computer Science, 1995

  36. 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

    Article  Google Scholar 

  37. Fan W F, Wang X, Wu Y H. Incremental graph pattern matching. In: Proceedings of International Conference on Management of Data, 2011

  38. Valiant L G. A bridging model for parallel computation. Commun ACM, 1990, 33: 103–111

    Article  Google Scholar 

  39. Jones N D. An introduction to partial evaluation. ACM Comput Surv, 1996, 28: 480–503

    Article  Google Scholar 

  40. Ramalingam G, Reps T. On the computational complexity of dynamic graph problems. Theory Comput Sci, 1996, 158: 233–277

    Article  MathSciNet  Google Scholar 

  41. 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

  42. Maon Y, Schieber B, Vishkin U. Parallel ear decomposition search (EDS) and st-numbering in graphs. Theory Comput Sci, 1986, 47: 277–298

    Article  MathSciNet  Google Scholar 

  43. Miller G L, Ramachandran V. Efficient parallel ear decomposition with applications. 1986. http://www.cs.cmu.edu/~glmiller/Publications/Papers/MillerRamachandran86.pdf

  44. Bang-Jensen J, Gutin G Z. Digraphs: Theory, Algorithms and Applications. Berlin: Springer, 2008

    MATH  Google Scholar 

  45. Goodrich M T. Communication-efficient parallel sorting. SIAM J Comput, 1999, 29: 416–432

    Article  MathSciNet  Google Scholar 

  46. 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

    Article  Google Scholar 

  47. Fan W F, Liu M Y, Tian C, et al. Incrementalization of graph partitioning algorithms. Proc VLDB Endow, 2020, 13: 1261–1274

    Article  Google Scholar 

  48. Fan W F, Hu C M, Liu M Y, et al. Dynamic scaling for parallel graph computations. Proc VLDB Endow, 2019, 12: 877–890

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Wenfei Fan.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11432-020-2952-7

Keywords

Navigation