Skip to main content

Fast Dynamic Graph Algorithms

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11403))

  • 403 Accesses

Abstract

We show that dynamic graph algorithms are amenable to parallelism on graphics processing units (GPUs). Evolving graphs such as social networks undergo structural updates, and analyzing such graphs with the existing static graph algorithms is inefficient. To deal with such dynamic graphs, we present techniques to (i) represent evolving graphs, (ii) amortize the processing cost over multiple updates, and (iii) optimize graph analytic algorithms for GPUs. We illustrate the effectiveness of our proposed mechanisms with three dynamic graph algorithms: dynamic breadth-first search, dynamic shortest paths computation and dynamic minimum spanning tree maintenance. In particular, we show that the dynamic processing is beneficial up to a certain percentage of updates beyond which a static algorithm is more efficient.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://www.cse.iitm.ac.in/~rupesh/?mode=Research.

References

  1. Wang, Y., Davidson, A., Pan, Y., Wu, Y., Riffel, A., Owens, J.D.: Gunrock: a high-performance graph processing library on the GPU. In: PPoPP (2015)

    Google Scholar 

  2. Gharaibeh, A., Costa, L.B., Santos-Neto, E., Ripeanu, M.: A yoke of oxen and a thousand chickens for heavy lifting graph processing. In: PACT (2012)

    Google Scholar 

  3. Hong, S., Kim, S.K., Oguntebi, T., Olukotun, K.: Accelerating CUDA graph algorithms at maximum warp. In: PPoPP, pp. 267–276 (2011)

    Google Scholar 

  4. Merrill, D.G., Garland, M., Grimshaw, A.S.: Scalable GPU graph traversal. In: PPoPP (2012)

    Google Scholar 

  5. Nasre, R., Burtscher, M., Pingali, K.: Data-driven versus topology-driven irregular computations on GPUs. In: IPDPS, pp. 463–474 (2013)

    Google Scholar 

  6. Leskovec, J., Sosič, R.: SNAP: a general purpose network analysis and graph mining library in C++, June 2014. http://snap.stanford.edu/snap

  7. Pingali, K., et al.: The tao of parallelism in algorithms. In: PLDI, pp. 12–25 (2011)

    Google Scholar 

  8. Vineet, V., Harish, P., Patidar, S., Narayanan, P.J.: Fast minimum spanning tree for large graphs on the GPU. In: HPG, pp. 167–171 (2009)

    Google Scholar 

  9. Burtscher, M., Nasre, R., Pingali, K.: A quantitative study of irregular programs on GPUs. In: IISWC, pp. 141–151 (2012)

    Google Scholar 

  10. Hant, W., et al.: Chronos: a graph engine for temporal graph analysis. In: ECCS, p. 1 (2014)

    Google Scholar 

  11. Ren, C., Lo, E., Kao, B., Zhu, X., Cheng, R.: On querying historical evolving graph sequences. Proc. VLDB Endow. 4(11), 726–737 (2011)

    Google Scholar 

  12. Kan, A., Chan, J., Bailey, J., Leckie, C.: A query based approach for mining evolving graphs. In: Proceedings of the Eighth Australasian Data Mining Conference, vol. 101, pp. 139–150. Australian Computer Society Inc. (2009)

    Google Scholar 

  13. Yoo, A., Chow, E., Henderson, K., McLendon, W., Hendrickson, B., Catalyurek, U.: A scalable distributed parallel breadth-first search algorithm on BlueGene/L. In: SC, p. 25 (2005)

    Google Scholar 

  14. Bader, D.A., Madduri, K.: Designing multithreaded algorithms for breadth-first search and st-connectivity on the Cray MTA-2. In: ICPP, pp. 523–530 (2006)

    Google Scholar 

  15. Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., Chew, L.P.: Optimistic parallelism requires abstractions. SIGPLAN Not. (PLDI) 42(6), 211–222 (2007)

    Article  Google Scholar 

  16. Harish, P., Narayanan, P.J.: Accelerating large graph algorithms on the GPU using CUDA. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2007. LNCS, vol. 4873, pp. 197–208. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-77220-0_21

    Chapter  Google Scholar 

  17. Luo, L., Wong, M., Hwu, W.-M.: An effective GPU implementation of breadth-first search. In: DAC, pp. 52–55 (2010)

    Google Scholar 

  18. Hong, S., Oguntebi, T., Olukotun, K.: Efficient parallel graph exploration on multi-core CPU and GPU. In: PACT. PACT 2011 (2011)

    Google Scholar 

  19. Han, M., Daudjee, K.: Giraph unchained: barrierless asynchronous parallel execution in pregel-like graph processing systems. Proc. VLDB Endow. 8(9), 950–961 (2015)

    Article  Google Scholar 

  20. Nobari, S., Cao, T.-T., Karras, P., Bressan, S.: Scalable parallel minimum spanning forest computation. In: Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. PPoPP 2012, pp. 205–214. ACM, New York (2012). http://doi.acm.org/10.1145/2145816.2145842

  21. Huang, S., Fu, A.W.-C., Liu, R.: Minimum spanning trees in temporal graphs. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. SIGMOD 2015, pp. 419–430. ACM, New York (2015). http://doi.acm.org/10.1145/2723372.2723717

  22. Ashari, A., Sedaghati, N., Eisenlohr, J., Parthasarathy, S., Sadayappan, P.: Fast sparse matrix-vector multiplication on GPUs for graph applications. In: SC, pp. 781–792 (2014)

    Google Scholar 

  23. King, J., Gilray, T., Kirby, R.M., Might, M.: Dynamic sparse-matrix allocation on GPUs. In: Kunkel, J.M., Balaji, P., Dongarra, J. (eds.) ISC High Performance 2016. LNCS, vol. 9697, pp. 61–80. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41321-1_4

    Chapter  Google Scholar 

  24. Green, O., Bader, D.A.: cuSTINGER: supporting dynamic graph algorithms for GPUs. In: 2016 IEEE High Performance Extreme Computing Conference (HPEC), pp. 1–6, September 2016

    Google Scholar 

  25. Nasre, R., Burtscher, M., Pingali, K.: Morph algorithms on GPUs. In: PPoPP, pp. 147–156 (2013)

    Google Scholar 

  26. Cheramangalath, U., Nasre, R., Srikant, Y.N.: Falcon: a graph manipulation language for heterogeneous systems. ACM Trans. Archit. Code Optim. 12(4), 54:1–54:27 (2015). http://doi.acm.org/10.1145/2842618

Download references

Acknowledgments

We thank the reviewers and our shepherd Nancy Amato for their comments which considerably improved our work. This work is partially supported by IIT Madras Exploratory Research Grant CSE/16-17/837/RFER/RUPS.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rupesh Nasre .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Malhotra, G., Chappidi, H., Nasre, R. (2019). Fast Dynamic Graph Algorithms. In: Rauchwerger, L. (eds) Languages and Compilers for Parallel Computing. LCPC 2017. Lecture Notes in Computer Science(), vol 11403. Springer, Cham. https://doi.org/10.1007/978-3-030-35225-7_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-35225-7_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-35224-0

  • Online ISBN: 978-3-030-35225-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics