Parallel Bi-objective Shortest Paths Using Weight-Balanced B-trees with Bulk Updates

  • Stephan Erb
  • Moritz Kobitzsch
  • Peter Sanders
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8504)


We present a practical parallel algorithm for finding shortest paths in the presence of two objective functions. The algorithm builds on a recent theoretical result that on the first glance looks impractical. We address the problem of significant constant factor overheads due to numerous prefix sum computations by carefully re-engineering the algorithm for moderate parallelism. In addition, we develop a parallel weight-balanced B-tree data structure that cache efficiently supports bulk updates. This result might be of independent interest and closes the gap between the full-blown search tree data structure required by the theoretical result over the simple priority queue for the sequential algorithm. Comparing our implementation against a highly tuned sequential bi-objective search, we achieve speedups of 8 on 16 cores.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abraham, I., Delling, D., Goldberg, A.V., Werneck, R.F.: A hub-based labeling algorithm for shortest paths in road networks. In: Pardalos, P.M., Rebennack, S. (eds.) SEA 2011. LNCS, vol. 6630, pp. 230–241. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
    Achakeev, D., Seeger, B.: Efficient bulk updates on multiversion B-trees. PVLDB 6(14), 1834–1845 (2013)Google Scholar
  3. 3.
    Arge, L., Vitter, J.S.: Optimal external memory interval management. SIAM J. Comput. 32(6), 1488–1508 (2003)CrossRefMATHMathSciNetGoogle Scholar
  4. 4.
    Cherkassky, B.V., Goldberg, A.V., Radzik, T.: Shortest paths algorithms: Theory and experimental evaluation. Math. Program. 73, 129–174 (1996)MATHMathSciNetGoogle Scholar
  5. 5.
    Erb, S.: Engineering Parallel Bi-Criteria Shortest Path Search. Master’s thesis. Karlsruhe Institute of Technology (2013)Google Scholar
  6. 6.
    Frias, L., Singler, J.: Parallelization of bulk operations for STL dictionaries. In: Bougé, L., Forsell, M., Träff, J.L., Streit, A., Ziegler, W., Alexander, M., Childs, S. (eds.) Euro-Par Workshops 2007. LNCS, vol. 4854, pp. 49–58. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Guerriero, F., Musmanno, R.: Label correcting methods to solve multicriteria shortest path problems. J. Optim. Theory Appl. 111(3), 589–613 (2001)CrossRefMATHMathSciNetGoogle Scholar
  8. 8.
    Hankins, R.A., Patel, J.M.: Effect of node size on the performance of cache-conscious B + -trees. In: Harchol-Balter, M., Douceur, J.R., Xu, J. (eds.) SIGMETRICS, pp. 283–294. ACM Press, New York (2003)Google Scholar
  9. 9.
    Hansen, P.: Bicriterion path problems. In: Fandel, G., Gal, T. (eds.) Multiple Criteria Decision Making Theory and Application. LNEMS, vol. 177, pp. 109–127. Springer, Berlin (1980)CrossRefGoogle Scholar
  10. 10.
    Iori, M., Martello, S., Pretolani, D.: An aggregate label setting policy for the multi-objective shortest path problem. Eur. J. Oper. Res. 207(3), 1489–1496 (2010)CrossRefMATHMathSciNetGoogle Scholar
  11. 11.
    Levandoski, J.J., Lomet, D.B., Sengupta, S.: The Bw-tree: A B-tree for new hardware platforms. In: Jensen, C.S., Jermaine, C.M., Zhou, X. (eds.) ICDE, pp. 302–313. IEEE Computer Society, Washington (2013)Google Scholar
  12. 12.
    Machuca, E., Mandow, L.: Multiobjective heuristic search in road maps. Expert Syst. Appl. 39(7), 6435–6445 (2012)CrossRefGoogle Scholar
  13. 13.
    Martins, E.: On a multicriteria shortest path problem. Eur. J Oper. Res. 16(2), 236–245 (1984)CrossRefMATHGoogle Scholar
  14. 14.
    Meyer, U., Sanders, P.: Δ-stepping: A parallelizable shortest path algorithm. J. Algorithms 49(1), 114–152 (2003)CrossRefMATHMathSciNetGoogle Scholar
  15. 15.
    Paixáo, J.M., Santos, J.: Labeling methods for the general case of the multi-objective shortest path problem-—A computational study. In: Madureira, A., Reis, C., Marques, V. (eds.) Computational Intelligence and Decision Making, Intell. Syst. Control Autom. Sci. Eng., vol. 61, pp. 489–502. Springer, Dordrecht (2013)CrossRefGoogle Scholar
  16. 16.
    Raith, A.: Speed-up of labelling algorithms for biobjective shortest path problems. In: Ehrgott, M., Mason, A., O’Sullivan, M., Raith, A., Walker, C., Zakeri, G. (eds.) ORSNZ, pp. 313–322. Operations Research Society of New Zealand, Auckland (2010)Google Scholar
  17. 17.
    Raith, A., Ehrgott, M.: A comparison of solution strategies for biobjective shortest path problems. Computers & OR 36(4), 1299–1331 (2009)CrossRefMATHMathSciNetGoogle Scholar
  18. 18.
    Saikkonen, R.: Bulk Updates and Cache Sensitivity in Search Trees. Ph.D. thesis. University of Jyväskylä (2009)Google Scholar
  19. 19.
    Sanders, P., Mandow, L.: Parallel label-setting multi-objective shortest path search. In: IPDPS, pp. 215–224. IEEE Computer Society, Washington (2013)Google Scholar
  20. 20.
    Schieferdecker, D., Völker, M., Wagner, D.: Efficient algorithms for distributed detection of holes and boundaries in wireless networks. CoRR abs/1103.1771 (2011)Google Scholar
  21. 21.
    Sewall, J., Chhugani, J., Kim, C., Satish, N., Dubey, P.: PALM: Parallel architecture-friendly latch-free modifications to B+ trees on many-core processors. PVLDB 4(11), 795–806 (2011)Google Scholar
  22. 22.
    Tung, C.T., Chew, K.L.: A multicriteria Pareto-optimal path algorithm. Eur. J. Oper. Res. 62(2), 203–209 (1992)CrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Stephan Erb
    • 1
  • Moritz Kobitzsch
    • 1
  • Peter Sanders
    • 1
  1. 1.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations