Best-First Heuristic Search for Multi-Core Machines
Burns, Ethan (University of New Hampshire) | Lemons, Seth (University of New Hampshire) | Zhou, Rong (Palo Alto Research Center) | Ruml, Wheeler (University of New Hampshire)
To harness modern multi-core processors, it is imperative to develop parallel versions of fundamental algorithms. In this paper, we present a general approach to best-first heuristic search in a shared-memory setting. Each thread attempts to expand the most promising open nodes. By using abstraction to partition the state space, we detect duplicate states without requiring frequent locking. We allow speculative expansions when necessary to keep threads busy. We identify and fix potential livelock conditions in our approach, verifying its correctness using temporal logic. In an empirical comparison on STRIPS planning, grid pathfinding, and sliding tile puzzle problems using an 8-core machine, we show that A* implemented in our framework yields faster search than improved versions of previous parallel search proposals. Our approach extends easily to other best-first searches, such as Anytime weighted A*.
- Country:
- North America > United States
- New Hampshire (0.04)
- California > Santa Clara County
- Palo Alto (0.04)
- Asia > Middle East
- Jordan (0.04)
- North America > United States
- Genre:
- Research Report > New Finding (0.46)
- Technology: