Advertisement

Scalable Single-Source Shortest Path Algorithms on Distributed Memory Systems

  • Thap PanitanarakEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 937)

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.

Keywords

SSSP Parallel SSSP Parallel algorithm Graph algorithm 

Notes

Acknowledgement

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

References

  1. 1.
    Amazon Web Services: Amazon Elastic Compute Cloud. http://aws.amazon.com/ec2/. Accessed 15 July 2018
  2. 2.
    Beamer, S., Asanovi´c, K., Patterson, D.: Direction-optimizing breadth-first search. Sci. Prog. 21(3–4), 137–148 (2013)Google Scholar
  3. 3.
    Bellman, R.: On a routing problem. Q. Appl. Math. 16, 87–90 (1958)CrossRefGoogle Scholar
  4. 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. 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 2014Google Scholar
  6. 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. 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. 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. 9.
    Dijkstra, E.W.: A note on two problems in connection with graphs. Numer. Math. 1(1), 269–271 (1959)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Ford, L.A.: Network flow theory. Technical. report P-923, The Rand Corporation (1956)Google Scholar
  11. 11.
    Galois. http://iss.ices.utexas.edu/?p=projects/galois. Accessed 15 July 2018
  12. 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. 13.
    The Graph 500. http://www.graph500.org. Accessed 15 July 2018
  14. 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. 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. 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)CrossRefGoogle Scholar
  17. 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. 18.
    Meyer, U., Sanders, P.: ∆-stepping: a parallelizable shortest path algorithm. J. Algorithms 49(1), 114–152 (2003)MathSciNetCrossRefGoogle Scholar
  19. 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. 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. 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. 22.
    SNAP: Stanford Network Analysis Project. https://snap.stanford.edu/data/. Accessed 15 July 2018
  23. 23.
    The University of Florida Sparse Matrix Collection. https://www.cise.ufl.edu/research/sparse/matrices/. Accessed 15 July 2018
  24. 24.
    StarCluster. http://star.mit.edu/cluster/. Accessed 15 July 2018
  25. 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. 26.
    White, T.: Hadoop: The Definitive Guide. O’Reilly Media Inc, Sebastopol (2012)Google Scholar
  27. 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. 28.
    Zhong, J., He, B.: Medusa: simplified graph processing on GPUs. Parallel Distrib. Syst. IEEE Trans. 25(6), 1543–1552 (2014)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2019

Authors and Affiliations

  1. 1.Department of Mathematics and Computer ScienceChulalongkorn UniversityPatumwanThailand

Personalised recommendations