Skip to main content

Scalable Single-Source Shortest Path Algorithms on Distributed Memory Systems

  • Conference paper
  • First Online:
Soft Computing in Data Science (SCDS 2018)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 937))

Included in the following conference series:

Abstract

Single-source shortest path (SSSP) is a well-known graph computation that has been studied for more than half a century. It is one of the most common graph analytical analysis in many research areas such as networks, communication, transportation, electronics and so on. In this paper, we propose scalable SSSP algorithms for distributed memory systems. Our algorithms are based on a \( \Delta \)-stepping algorithm with the use of a two dimensional (2D) graph layout as an underlying graph data structure to reduce communication overhead and improve load balancing. The detailed evaluation of the algorithms on various large-scale real-world graphs is also included. Our experiments show that the algorithm with the 2D graph layout delivers up to three times the performance (in TEPS), and uses only one-fifth of the communication time of the algorithm with a one dimensional layout.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Amazon Web Services: Amazon Elastic Compute Cloud. http://aws.amazon.com/ec2/. Accessed 15 July 2018

  2. Beamer, S., Asanovi´c, K., Patterson, D.: Direction-optimizing breadth-first search. Sci. Prog. 21(3–4), 137–148 (2013)

    Google Scholar 

  3. Bellman, R.: On a routing problem. Q. Appl. Math. 16, 87–90 (1958)

    Article  Google Scholar 

  4. Buluc, A., Madduri, K.: Parallel breadth-first search on distributed memory systems. In: Proceedings of High Performance Computing, Networking, Storage and Analysis (SC) (2011)

    Google Scholar 

  5. Chakaravarthy, V.T., Checconi, F., Petrini, F., Sabharwal, Y.: Scalable single source shortest path algorithms for massively parallel systems. In: Proceedings of IEEE 28th International Parallel and Distributed Processing Symposium, pp. 889–901 May 2014

    Google Scholar 

  6. Chen, R., Ding, X., Wang, P., Chen, H., Zang, B., Guan, H.: Computation and communication efficient graph processing with distributed immutable view. In: Proceedings of the 23rd International Symposium on High-Performance Parallel and Distributed Computing, pp. 215–226. ACM (2014)

    Google Scholar 

  7. Davidson, A.A., Baxter, S., Garland, M., Owens, J.D.: Work-efficient parallel GPU methods for single-source shortest paths. In: International Parallel and Distributed Processing Symposium, vol. 28 (2014)

    Google Scholar 

  8. Dayarathna, M., Houngkaew, C., Suzumura, T.: Introducing ScaleGraph: an X10 library for billion scale graph analytics. In: Proceedings of the 2012 ACM SIGPLAN X10 Workshop, p. 6. ACM (2012)

    Google Scholar 

  9. Dijkstra, E.W.: A note on two problems in connection with graphs. Numer. Math. 1(1), 269–271 (1959)

    Article  MathSciNet  Google Scholar 

  10. Ford, L.A.: Network flow theory. Technical. report P-923, The Rand Corporation (1956)

    Google Scholar 

  11. Galois. http://iss.ices.utexas.edu/?p=projects/galois. Accessed 15 July 2018

  12. Gonzalez, J.E., Low, Y., Gu, H., Bickson, D., Guestrin, C.: PowerGraph: distributed graph-parallel computation on natural graphs. In: OSDI, vol. 12, p. 2 (2012)

    Google Scholar 

  13. The Graph 500. http://www.graph500.org. Accessed 15 July 2018

  14. Gregor, D., Lumsdaine, A.: The Parallel BGL: a generic library for distributed graph computations. Parallel Object-Oriented Sci. Comput. (POOSC) 2, 1–18 (2005)

    Google Scholar 

  15. Khayyat, Z., Awara, K., Alonazi, A., Jamjoom, H., Williams, D., Kalnis, P.: Mizan: a system for dynamic load balancing in large-scale graph processing. In: Proceedings of the 8th ACM European Conference on Computer Systems, pp. 169–182. ACM (2013)

    Google Scholar 

  16. Low, Y., Bickson, D., Gonzalez, J., Guestrin, C., Kyrola, A., Hellerstein, J.M.: Distributed GraphLab: a framework for machine learning and data mining in the cloud. Proc. VLDB Endow. 5(8), 716–727 (2012)

    Article  Google Scholar 

  17. Madduri, K., Bader, D.A., Berry, J.W., Crobak, J.R.: An experimental study of a parallel shortest path algorithm for solving large-scale graph instances, Chap. 2, pp. 23–35 (2007)

    Google Scholar 

  18. Meyer, U., Sanders, P.: ∆-stepping: a parallelizable shortest path algorithm. J. Algorithms 49(1), 114–152 (2003)

    Article  MathSciNet  Google Scholar 

  19. Panitanarak, T., Madduri, K.: Performance analysis of single-source shortest path algorithms on distributed-memory systems. In: SIAM Workshop on Combinatorial Scientific Computing (CSC), p. 60. Citeseer (2014)

    Google Scholar 

  20. Prabhakaran, V., Wu, M., Weng, X., McSherry, F., Zhou, L., Haridasan, M.: Managing large graphs on multi-cores with graph awareness. In: Proceedings of USENIX Annual Technical Conference (ATC) (2012)

    Google Scholar 

  21. Shun, J., Blelloch, G.E.: Ligra: a lightweight graph processing framework for shared memory. In: Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2013 pp. 135–146 (2013)

    Google Scholar 

  22. SNAP: Stanford Network Analysis Project. https://snap.stanford.edu/data/. Accessed 15 July 2018

  23. The University of Florida Sparse Matrix Collection. https://www.cise.ufl.edu/research/sparse/matrices/. Accessed 15 July 2018

  24. StarCluster. http://star.mit.edu/cluster/. Accessed 15 July 2018

  25. Wang, Y., Davidson, A., Pan, Y., Wu, Y., Riffel, A. Owens, J.D.: Gunrock: a high-performance graph processing library on the GPU. In: Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 265–266. PPoPP 2015 (2015)

    Google Scholar 

  26. White, T.: Hadoop: The Definitive Guide. O’Reilly Media Inc, Sebastopol (2012)

    Google Scholar 

  27. Xin, R.S., Gonzalez, J.E., Franklin, M.J. Stoica, I.: Graphx: A resilient distributed graph system on spark. In: First International Workshop on Graph Data Management Experiences and Systems, p. 2. ACM (2013)

    Google Scholar 

  28. Zhong, J., He, B.: Medusa: simplified graph processing on GPUs. Parallel Distrib. Syst. IEEE Trans. 25(6), 1543–1552 (2014)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgement

The author would like to thank Dr. Kamesh Madduri, an associate professor at Pennsylvania State University, USA, for the inspiration and kind support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thap Panitanarak .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Panitanarak, T. (2019). Scalable Single-Source Shortest Path Algorithms on Distributed Memory Systems. In: Yap, B., Mohamed, A., Berry, M. (eds) Soft Computing in Data Science. SCDS 2018. Communications in Computer and Information Science, vol 937. Springer, Singapore. https://doi.org/10.1007/978-981-13-3441-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-3441-2_2

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-3440-5

  • Online ISBN: 978-981-13-3441-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics