Families of Graph Algorithms: SSSP Case Study

  • Thejaka Amila Kanewala
  • Marcin Zalewski
  • Andrew Lumsdaine
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10417)


Single-Source Shortest Paths (SSSP) is a well-studied graph problem. Examples of SSSP algorithms include the original Dijkstra’s algorithm and the parallel \(\varDelta \)-stepping and KLA-SSSP algorithms. In this paper, we use a novel Abstract Graph Machine (AGM) model to show that all these algorithms share a common logic and differ from one another by the order in which they perform work. We use the AGM model to thoroughly analyze the family of algorithms that arises from the common logic. We start with the basic algorithm without any ordering (Chaotic), and then we derive the existing and new algorithms by methodically exploring semantic and spatial ordering of work. Our experimental results show that new derived algorithms show better performance than the existing distributed memory parallel algorithms, especially at higher scales.


Single-source shortest paths (SSSP) Distributed-memory graph algorithms 



This research is based upon work supported by the National Science Foundation under grant 1319520. Access to computational resources was supported in part by Lilly Endowment, Inc., through its support for the Indiana University Pervasive Technology Institute, and in part by the Indiana METACyt Initiative. The Indiana METACyt Initiative at IU was also supported in part by Lilly Endowment, Inc. Significant part of this work was performed while the authors were affiliated with Indiana University.


  1. 1.
    Bellman, R.: On a routing problem. Technical report, DTIC Document (1956)Google Scholar
  2. 2.
    Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: a recursive model for graph mining. In: SDM, vol. 4, pp. 442–446. SIAM (2004)Google Scholar
  3. 3.
    Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer. Math. 1(1), 269–271 (1959)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Edmonds, N., Breuer, A., Gregor, D., Lumsdaine, A.: Single-source shortest paths with the parallel boost graph library. In: The Ninth DIMACS Implementation Challenge: The Shortest Path Problem, Piscataway, NJ, pp. 219–248 (2006)Google Scholar
  5. 5.
    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
  6. 6.
    Harshvardhan, Fidel, A., Amato, N.M., Rauchwerger, L.: KLA: a new algorithmic paradigm for parallel graph computations. In: Proceedings of 23rd International Conference on Parallel Architectures and Compilation, pp. 27–38. ACM (2014)Google Scholar
  7. 7.
    Kanewala, T.A., Zalewski, M., Lumsdaine, A.: Abstract graph machine. arXiv preprint arXiv:1604.04772 (2016)
  8. 8.
    Lenharth, A., Nguyen, D., Pingali, K.: Priority queues are not good concurrent priority schedulers. The University of Texas at Austin, Department of Computer Sciences. Technical report TR-11-39 (2011)Google Scholar
  9. 9.
    Meyer, U., Sanders, P.: \(\delta \)-stepping: a parallelizable shortest path algorithm. J. Algorithms 49(1), 114–152 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Nguyen, D., Lenharth, A., Pingali, K.: A lightweight infrastructure for graph analytics. In: Proceedings of 24th ACM Symposium on Operating Systems Principles, pp. 456–471. ACM (2013)Google Scholar
  11. 11.
    Nguyen, D., Pingali, K.: Synthesizing concurrent schedulers for irregular algorithms. In: ACM SIGPLAN Notices, vol. 46, pp. 333–344. ACM (2011)Google Scholar
  12. 12.
    Pingali, K., Nguyen, D., Kulkarni, M., Burtscher, M., Hassaan, M.A., Kaleem, R., Lee, T.H., Lenharth, A., Manevich, R., Méndez-Lojo, M., et al.: The tao of parallelism in algorithms. ACM SIGPLAN Not. 46(6), 12–25 (2011)CrossRefGoogle Scholar
  13. 13.
    Prountzos, D., Manevich, R., Pingali, K.: Elixir: a system for synthesizing concurrent graph programs. ACM SIGPLAN Not. 47(10), 375–394 (2012)CrossRefGoogle Scholar
  14. 14.
    Willcock, J.J., Hoefler, T., Edmonds, N.G., Lumsdaine, A.: AM++: a generalized active message framework. In: Proceedings of 19th Internatational Conference on Parallel Architectures and Compilation Techniques, pp. 401–410. ACM (2010)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Thejaka Amila Kanewala
    • 1
    • 2
  • Marcin Zalewski
    • 2
  • Andrew Lumsdaine
    • 2
    • 3
  1. 1.School of Informatics and ComputingIndiana UniversityBloomingtonUSA
  2. 2.Pacific Northwest National LaboratorySeattleUSA
  3. 3.University of WashingtonSeattleUSA

Personalised recommendations