Abstract
The A* algorithm is generally used to solve combinatorial optimization problems, but it requires high computing power and a large amount of memory, hence, efficient parallel A* algorithms are needed. In this sense, Hash Distributed A* (HDA*) parallelizes A* by applying a decentralized strategy and a hash-based node distribution scheme. However, this distribution scheme results in frequent node transfers among processors. In this paper, we present Optimized AHDA*, a version of HDA* for shared memory architectures, that uses an abstraction-based node distribution scheme and a technique to group several nodes before transferring them to the corresponding thread. Both methods reduce the amount of node transfers and mitigate communication and contention. We assess the effect of each technique on algorithm performance. Finally, we evaluate the scalability of the proposed algorithm, when it is run on a multicore machine, using the 15-puzzle as a case study.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
In this way, there are no transfers after each node generation as in the original algorithm.
- 2.
This value corresponds to 8KB of data transferred (210 nodes).
References
Hart, P., et al.: A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 4(2), 100–107 (1968)
Russel, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice Hall, New Jersey (2003)
Kishimoto, A., et al.: Evaluation of a simple, scalable, parallel best-first search strategy. Artifi. Intell. 195, 222–248 (2013)
Burns, E., et al.: Best-first heuristic search for multicore machines. J. Artif. Intell. Res. 39(1), 689–743 (2010)
Sanz, V., et al.: On the optimization of HDA* for multicore machines. performance analysis. In: Proceedings of PDPTA 2014, pp. 625–631. CSREA Press, Georgia (2014)
Sanz, V., et al.: Performance tuning of the HDA* algorithm for multicore machines. In: Computer Science and Technology Series 2015, EDULP, La Plata (2015, in press)
Kumar, V., et al.: Parallel best-first search of state-space graphs: a summary of results. In: Proceedings of AAAI 1988, pp. 122–127. AAAI Press, California (1988)
Zobrist, A.: A new hashing method with application for game playing. Technical report 88, Computer Sciences Department, University of Wisconsin, Madison (1968)
Gue, K., et al.: GridStore: a puzzle-based storage system with decentralized control. IEEE Trans. Autom. Sci. Eng. 11(2), 429–438 (2014)
Zhou, R., et al.: System and method for parallel graph searching utilizing parallel edge partitioning. Patent No. US 2011/0313984 A1, USA (2011)
Korf, R.: Depth-first Iterative-Deepening: an optimal admissible tree search. Artif. Intell. 27(1), 97–109 (1985)
Brüngger, A.: Solving hard combinatorial optimization problems in parallel: two cases studies. Ph.D. thesis, ETH Zurich, Diss. ETH No. 12358 (1998)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Sanz, V., De Giusti, A., Naiouf, M. (2016). Improving Hash Distributed A* for Shared Memory Architectures Using Abstraction. In: Carretero, J., Garcia-Blas, J., Ko, R., Mueller, P., Nakano, K. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2016. Lecture Notes in Computer Science(), vol 10048. Springer, Cham. https://doi.org/10.1007/978-3-319-49583-5_32
Download citation
DOI: https://doi.org/10.1007/978-3-319-49583-5_32
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-49582-8
Online ISBN: 978-3-319-49583-5
eBook Packages: Computer ScienceComputer Science (R0)