Skip to main content

Improving Hash Distributed A* for Shared Memory Architectures Using Abstraction

  • Conference paper
  • First Online:
  • 1696 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10048))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    In this way, there are no transfers after each node generation as in the original algorithm.

  2. 2.

    This value corresponds to 8KB of data transferred (210 nodes).

References

  1. 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)

    Article  Google Scholar 

  2. Russel, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice Hall, New Jersey (2003)

    Google Scholar 

  3. Kishimoto, A., et al.: Evaluation of a simple, scalable, parallel best-first search strategy. Artifi. Intell. 195, 222–248 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  4. Burns, E., et al.: Best-first heuristic search for multicore machines. J. Artif. Intell. Res. 39(1), 689–743 (2010)

    MathSciNet  MATH  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Zobrist, A.: A new hashing method with application for game playing. Technical report 88, Computer Sciences Department, University of Wisconsin, Madison (1968)

    Google Scholar 

  9. Gue, K., et al.: GridStore: a puzzle-based storage system with decentralized control. IEEE Trans. Autom. Sci. Eng. 11(2), 429–438 (2014)

    Article  Google Scholar 

  10. Zhou, R., et al.: System and method for parallel graph searching utilizing parallel edge partitioning. Patent No. US 2011/0313984 A1, USA (2011)

    Google Scholar 

  11. Korf, R.: Depth-first Iterative-Deepening: an optimal admissible tree search. Artif. Intell. 27(1), 97–109 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  12. Brüngger, A.: Solving hard combinatorial optimization problems in parallel: two cases studies. Ph.D. thesis, ETH Zurich, Diss. ETH No. 12358 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Victoria Sanz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics