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.


Binary Search Tree Candidate Label Work Stealing Bulk Insertion Road Instance 


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