Families of Graph Algorithms: SSSP Case Study
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.
KeywordsSingle-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.Bellman, R.: On a routing problem. Technical report, DTIC Document (1956)Google Scholar
- 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
- 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.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.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.Kanewala, T.A., Zalewski, M., Lumsdaine, A.: Abstract graph machine. arXiv preprint arXiv:1604.04772 (2016)
- 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
- 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.Nguyen, D., Pingali, K.: Synthesizing concurrent schedulers for irregular algorithms. In: ACM SIGPLAN Notices, vol. 46, pp. 333–344. ACM (2011)Google Scholar
- 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