skip to main content
10.1145/3225058.3225075acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicppConference Proceedingsconference-collections
research-article

An Empirical Comparison of k-Shortest Simple Path Algorithms on Multicores

Published: 13 August 2018 Publication History

Abstract

We consider the loop less k-shortest path (KSP) problem. Although this problem has been studied in the sequential setting for at least the last two decades, no good parallel implementations are known. In this paper, we provide (i) a first systematic empirical comparison of various KSP algorithms and heuristic optimisations, (ii) carefully engineer various parallel implementations of these sequential algorithms and (iii) perform an extensive study of these parallel implementations on a range of graph classes and multicore architectures to determine the best algorithm and parallelization strategy for different graph classes.
We find that even though the worst-case complexity of the best undirected KSP algorithm O(k(m + n log n)) is significantly better than that of the popular and considerably simpler directed KSP algorithm O(kn(m + n log n)), the two algorithms are fairly competitive in terms of their empirical performance on small diameter graphs. Furthermore, we show that a few simple optimisations help to bridge the gap between these KSP algorithms even more. However, on moderate to large diameter graphs, the undirected KSP algorithm is considerably faster than the directed algorithms, both in sequential and parallel settings. In terms of the parallelisation strategy, simply replacing the shortest path subroutine by parallel Δ-stepping algorithm can provide a good speed-up for many KSP algorithms on random graphs. In contrast, for graphs with skewed degree distribution, a more complex strategy of parallelizing the different deviations and then parallelizing the shortest path computation inside the deviations with the remaining threads, provides a better performance.

References

[1]
Udit Agarwal and Vijaya Ramachandran. 2015. Finding k Simple Shortest Paths and Cycles. CoRR abs/1512.02157 (2015).
[2]
Nitish Aggarwal, Sumit Bhatia, and Vinith Misra. 2016. Connecting the Dots: Explaining Relationships Between Unconnected Entities in a Knowledge Graph. In Extended Semantic Web Conference - ESWC Poster Paper (Lecture Notes in Computer Science), Vol. 9989. 35--39.
[3]
Saman Ashkiani, Andrew Davidson, Ulrich Meyer, and John D. Owens. 2017. GPU Multisplit: An Extended Study of a Parallel Algorithm. ACM Transactions on Parallel Computing 4, 1, Article 2 (Aug. 2017), 44 pages.
[4]
Richard Bellman. 1956. On a routing problem. Technical Report. DTIC Document.
[5]
Aaron Bernstein. 2010. A nearly optimal algorithm for approximating replacement paths and k shortest simple paths in general graphs. In Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics, 742--755.
[6]
Aaron Bernstein and David R. Karger. 2009. A nearly optimal oracle for avoiding failed vertices and edges. In Proceedings of the 41st Annual ACM Symposium on Theory of Computing STOC. 101--110.
[7]
Venkatesan T. Chakaravarthy, Fabio Checconi, Prakash Murali, Fabrizio Petrini, and Yogish Sabharwal. 2017. Scalable Single Source Shortest Path Algorithms for Massively Parallel Systems. IEEE Trans. Parallel Distrib. Syst. 28, 7 (2017), 2031--2045.
[8]
S. Clarke, A. Krikorian, and J. Rausen. 1963. Computing the N best loopless paths in a network. J. Soc. Indust. Appl. Math. 11(4) (1963), 1096âĂŞ1102.
[9]
Andrew Davidson, Sean Baxter, Michael Garland, and John D. Owens. 2014. Work-Efficient Parallel GPU Methods for Single-Source Shortest Paths. In Proceedings of the 2014 IEEE 28th International Parallel and Distributed Processing Symposium (IPDPS '14). 349--359.
[10]
Camil Demetrescu, Mikkel Thorup, Rezaul Alam Chowdhury, and Vijaya Ramachandran. 2008. Oracles for Distances Avoiding a Failed Node or Link. SIAM J. Comput. 37, 5 (2008), 1299--1318.
[11]
Laxman Dhulipala, Guy Blelloch, and Julian Shun. 2017. Julienne: A Framework for Parallel Graph Algorithms Using Work-efficient Bucketing. In Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA '17). 293--304.
[12]
Edsger W Dijkstra. 1959. A note on two problems in connexion with graphs. Numerische mathematik 1, 1 (1959), 269--271. http://gdzdoc.sub.uni-goett.mgen.de/sub/digbib/loader?did=D196313
[13]
Nick Edmonds, Alex Breuer, Douglas Gregor, and Andrew Lumsdaine. 2006. Single-source shortest paths with the parallel Boost graph library. The Ninth DIMACS Implementation Challenge: The Shortest Path Problem (2006), 219--248.
[14]
D. Eppstein. 1998. Finding the k shortest paths. SIAM J. Comput. (1998), 652--673.
[15]
Gang Feng. 2014. Finding k shortest simple paths in directed graphs: A node classification algorithm. Networks 64, 1 (2014), 6--17.
[16]
Lester R Ford Jr. 1956. Network flow theory. Technical Report. DTIC Document.
[17]
Michael L Fredman and Robert Endre Tarjan. 1987. Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM (JACM) 34, 3 (1987), 596--615.
[18]
Asaf Frieder and Liam Roditty. 2015. An experimental study on approximating k shortest simple paths. Journal of Experimental Algorithmics (JEA) 19 (2015), 1--5.
[19]
Pirró G. 2015. Explaining and Suggesting Relatedness in Knowledge Graphs. In The Semantic Web Conference ISWC (Lecture Notes in Computer Science), Vol. 9366. Springer, 622--639.
[20]
Zvi Gotthilf and Moshe Lewenstein. 2009. Improved algorithms for the k simple shortest paths and the replacement paths problems. Inform. Process. Lett. 109, 7 (2009), 352--355.
[21]
Douglas Gregor and Andrew Lumsdaine. 2005. The Parallel BGL: A generic library for distributed graph computations. Parallel Object-Oriented Scientific Computing(POOSC)2 (2005), 1--18.
[22]
Eleni Hadjiconstantinou and Nicos Christofides. 1999. An efficient implementation of an algorithm for finding K shortest simple paths. Networks 34, 2 (1999), 88--101.
[23]
José Eduardo Talavera Herrera, Javier Guillot Jimenez, Marco Antonio Casanova, Bernardo Pereira Nunes, Giseli Rabello Lopes, and Luiz AndrÃl' P. Paes Leme. 2018. Empirical Evaluation of Similarity and Path Ranking Measures to Address the Entity Connectedness Problem in Knowledge Graphs. In Extended Semantic Web Conference ESWC.
[24]
John Hershberger, Matthew Maxel, and Subhash Suri. 2007. Finding the k shortest simple paths: A new algorithm and its implementation. ACM Transactions on Algorithms (TALG) 3, 4 (2007), 45.
[25]
Naoki Katoh, Toshihide Ibaraki, and Hisashi Mine. 1982. An efficient algorithm for k shortest simple paths. Networks 12, 4 (1982), 411--427.
[26]
Farzad Khorasani, Rajiv Gupta, and Laxmi N. Bhuyan. 2015. Scalable SIMD-Efficient Graph Processing on GPUs. In Proceedings of the 24th International Conference on Parallel Architectures and Compilation Techniques (PACT '15). 39--50.
[27]
Denis Kurz and Petra Mutzel. 2016. A Sidetrack-Based Algorithm for Finding the k Shortest Simple Paths in a Directed Graph. CoRR/Arxiv abs/1601.02867 (2016).
[28]
Eugene L Lawler. 1972. A procedure for computing the k best solutions to discrete optimization problems and its application to the shortest path problem. Management science 18, 7 (1972), 401--405.
[29]
Jure Leskovec and Andrej Krevl. 2014. SNAP Datasets: Stanford Large Network Dataset Collection. http://snap.stanford.edu/data. (June 2014).
[30]
Kamesh Madduri, David A Bader, Jonathan W Berry, and Joseph R Crobak. 2007. An Experimental Study of A Parallel Shortest Path Algorithm for Solving Large-Scale Graph Instances. In ALENEX, Vol. 7. SIAM, 23--35.
[31]
Kamesh Madduri, David A. Bader, Jonathan W. Berry, and Joseph R. Crobak. 2007. An Experimental Study of A Parallel Shortest Path Algorithm for Solving Large-Scale Graph Instances. In Proceedings of the Nine Workshop on Algorithm Engineering and Experiments, ALENEX 2007, New Orleans, Louisiana, USA, January 6, 2007. SIAM.
[32]
Ernesto QV Martins and Marta MB Pascoal. 2003. A new implementation of YenâĂŹs ranking loopless paths algorithm. Quarterly Journal of the Belgian, French and Italian Operations Research Societies 1, 2 (2003), 121--133.
[33]
Ulrich Meyer and Peter Sanders. 2003. A-stepping: a parallelizable shortest path algorithm. Journal of Algorithms 49, 1 (2003), 114--152.
[34]
Donald Nguyen, Andrew Lenharth, and Keshav Pingali. 2013. A lightweight infrastructure for graph analytics. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. ACM, 456--471.
[35]
Thap Panitanarak and Kamesh Madduri. 2014. Performance analysis of single-source shortest path algorithms on distributed-memory systems. In CSC14: The Sixth SIAM Workshop on Combinatorial Scientific Computing. 60.
[36]
Aarni Perko. 1986. Implementation of algorithms for K shortest loopless paths. Networks 16, 2 (1986), 149--160.
[37]
Liam Roditty and Uri Zwick. 2012. Replacement paths and k simple shortest paths in unweighted directed graphs. ACM Transactions on Algorithms (TALG) 8, 4 (2012), 33.
[38]
Eric Ruppert. 2000. Finding the k shortest paths in parallel. Algorithmica 28, 2 (2000), 242--254.
[39]
Antonio Sedeño-Noda. 2012. An efficient time and space K point-to-point shortest simple paths algorithm. Appl. Math. Comput. 218, 20 (2012), 10244--10257.
[40]
Avadhesh Pratap Singh and Dhirendra Pratap Singh. 2015. Implementation of K-shortest Path Algorithm in GPU Using CUDA. Procedia Computer Science 48 (2015), 5--13.
[41]
TIGER/Line. 2006. USA-road 9th DIMACS International Challenge: Shortest Paths. http://www.dis.uniroma1.it/~challenge9. (2006).
[42]
Yangzihao Wang, Andrew Davidson, Yuechao Pan, Yuduo Wu, Andy Riffel, and John D Owens. 2015. 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. ACM, 265--266.
[43]
Virginia Vassilevska Williams and Ryan Williams. 2010. Subcubic Equivalences between Path, Matrix and Triangle Problems. In Proceedings of the 51th Annual IEEE Symposium on Foundations of Computer Science, FOCS. 645--654.
[44]
Shih Y-K and Parthasarathy S. 2012. A single source k-shortest paths algorithm to infer regulatory pathways in a gene network. Bioinformatics 28(12) (2012), i49-i58.
[45]
Jin Y Yen. 1971. Finding the k shortest loopless paths in a network. Management Science 17, 11 (1971), 712--716.

Cited By

View all
  • (2024) A Distributed Solution for Efficient K Shortest Paths Computation Over Dynamic Road Networks IEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.3346377(1-14)Online publication date: 2024
  • (2023)PeeK: A Prune-Centric Approach for K Shortest Path ComputationProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3581784.3607110(1-14)Online publication date: 12-Nov-2023
  • (2023)Top-k Distance Queries on Large Time-Evolving GraphsIEEE Access10.1109/ACCESS.2023.331660211(102228-102242)Online publication date: 2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICPP '18: Proceedings of the 47th International Conference on Parallel Processing
August 2018
945 pages
ISBN:9781450365109
DOI:10.1145/3225058
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

In-Cooperation

  • University of Oregon: University of Oregon

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 August 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Algorithm Engineering
  2. Parallel Graph Algorithms
  3. Parallel Single Source Shortest Path
  4. Parallel k-Shortest Path

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICPP 2018

Acceptance Rates

ICPP '18 Paper Acceptance Rate 91 of 313 submissions, 29%;
Overall Acceptance Rate 91 of 313 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024) A Distributed Solution for Efficient K Shortest Paths Computation Over Dynamic Road Networks IEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.3346377(1-14)Online publication date: 2024
  • (2023)PeeK: A Prune-Centric Approach for K Shortest Path ComputationProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3581784.3607110(1-14)Online publication date: 12-Nov-2023
  • (2023)Top-k Distance Queries on Large Time-Evolving GraphsIEEE Access10.1109/ACCESS.2023.331660211(102228-102242)Online publication date: 2023
  • (2018)Average-Case Behavior of k-Shortest Path AlgorithmsComplex Networks and Their Applications VII10.1007/978-3-030-05411-3_3(28-40)Online publication date: 2-Dec-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media