Best-firs t heuristic search for multicore machines

To harness modern multicore processors, it is imperative to d velop parallel versions of fundamental algorithms. In this paper, we compare different appr oaches to parallel best-first search in a shared-memory setting. We present a new method, PBNF, that u ses abstraction to partition the state space and to detect duplicate states without requiring freq uent locking. PBNF allows speculative expansions when necessary to keep threads busy. We identify a d fix potential livelock conditions in our approach, proving its correctness using temporal log ic. Our approach is general, allowing it to extend easily to suboptimal and anytime heuristic search . In an empirical comparison on STRIPS planning, grid pathfinding, and sliding tile puzzle problem s using 8-core machines, we show that A*, weighted A* and Anytime weighted A* implemented using PB NF yield faster search than improved versions of previous parallel search proposals.

[1]  Philippas Tsigas,et al.  Fast and lock-free concurrent priority queues for multi-thread systems , 2005, J. Parallel Distributed Comput..

[2]  Eric A. Hansen,et al.  Breadth-first heuristic search , 2004, Artif. Intell..

[3]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[4]  Peng Dai,et al.  Prioritizing Bellman Backups without a Priority Queue , 2007, ICAPS.

[5]  Sebastian Thrun,et al.  ARA*: Anytime A* with Provable Bounds on Sub-Optimality , 2003, NIPS.

[6]  Patrik Haslum,et al.  Admissible Heuristics for Optimal Planning , 2000, AIPS.

[7]  Eric A. Hansen,et al.  Anytime Heuristic Search , 2011, J. Artif. Intell. Res..

[8]  Leslie Lamport,et al.  Model Checking TLA+ Specifications , 1999, CHARME.

[9]  Akihiro Kishimoto,et al.  Scalable, Parallel Best-First Search for Optimal Sequential Planning , 2009, ICAPS.

[10]  U. Stern,et al.  Using magnetic disk instead of main memory in the mur φ verifier , 1998 .

[11]  Eric A. Hansen,et al.  Parallel Structured Duplicate Detection , 2007, AAAI.

[12]  Richard E. Korf,et al.  Single-Agent Parallel Window Search , 1991, IEEE Trans. Pattern Anal. Mach. Intell..

[13]  Richard E. Korf,et al.  Linear-Space Best-First Search , 1993, Artif. Intell..

[14]  Silvia Richter,et al.  The LAMA Planner: Guiding Cost-Based Anytime Planning with Landmarks , 2010, J. Artif. Intell. Res..

[15]  Richard E. Korf Delayed Duplicate Detection: Extended Abstract , 2003, IJCAI.

[16]  John David Valois Lock-free data structures , 1996 .

[17]  Dragan Bosnacki,et al.  The Design of a Multicore Extension of the SPIN Model Checker , 2007, IEEE Transactions on Software Engineering.

[18]  Stefan Edelkamp,et al.  GPU Exploration of Two-Player Games with Perfect Hash Functions , 2010, SOCS.

[19]  Richard E. Korf,et al.  Iterative-Deepening-A*: An Optimal Admissible Tree Search , 1985, IJCAI.

[20]  Sarit Kraus,et al.  KBFS: K-Best-First Search , 2003, Annals of Mathematics and Artificial Intelligence.

[21]  Timothy L. Harris,et al.  A Pragmatic Implementation of Non-blocking Linked-Lists , 2001, DISC.

[22]  Eric A. Hansen,et al.  Dynamic State-Space Partitioning in External-Memory Graph Search , 2009, ICAPS.

[23]  José Nelson Amaral,et al.  Sequential and Parallel Algorithms for Frontier A* with Delayed Duplicate Detection , 2006, AAAI.

[24]  James A. Hendler,et al.  PRA*: Massively Parallel Heuristic Search , 1995, J. Parallel Distributed Comput..

[25]  Wheeler Ruml,et al.  Best-First Utility-Guided Search , 2007, IJCAI.

[26]  Richard E. Korf,et al.  Distributed Tree Search and Its Application to Alpha-Beta Pruning , 1988, AAAI.

[27]  Stefan Edelkamp,et al.  Localizing A* , 2000, AAAI/IAAI.

[28]  Stefan Edelkamp,et al.  Parallel External Directed Model Checking with Linear I/O , 2006, VMCAI.

[29]  Ira Pohl,et al.  Heuristic Search Viewed as Path Finding in a Graph , 1970, Artif. Intell..

[30]  Jin Wang,et al.  The Advantages of Using Depth and Breadth Components in Heuristic Search , 1988, ISMIS.

[31]  Richard E. Korf,et al.  Large-Scale Parallel Breadth-First Search , 2005, AAAI.

[32]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[33]  Jason Evans April A Scalable Concurrent malloc(3) Implementation for FreeBSD , 2006 .

[34]  Eric A. Hansen,et al.  Edge Partitioning in External-Memory Graph Search , 2007, IJCAI.

[35]  Wheeler Ruml,et al.  Suboptimal and Anytime Heuristic Search on Multi-Core Machines , 2009, ICAPS.

[36]  Vipin Kumar,et al.  Parallel Best-First Search of State-Space Graphs: A Summary of Results , 1988, AAAI.

[37]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[38]  Eric A. Hansen,et al.  Domain-Independent Structured Duplicate Detection , 2006, AAAI.

[39]  Wheeler Ruml,et al.  Best-First Heuristic Search for Multi-Core Machines , 2009, IJCAI.

[40]  Geoffrey J. Gordon,et al.  ARA : formal analysis , 2003 .

[41]  Wheeler Ruml,et al.  Faster than Weighted A*: An Optimistic Approach to Bounded Suboptimal Search , 2008, ICAPS.

[42]  José Nelson Amaral,et al.  A Parallel External-Memory Frontier Breadth-First Traversal Algorithm for Clusters of Workstations , 2006, 2006 International Conference on Parallel Processing (ICPP'06).

[43]  Subbarao Kambhampati,et al.  Cost Based Search Considered Harmful , 2010, SOCS.

[44]  Eric A. Hansen,et al.  Structured Duplicate Detection in External-Memory Graph Search , 2004, AAAI.