Issue No.07 - July (1997 vol.8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.598348
<p><b>Abstract</b>—For many applications of the A* algorithm, the state space is a graph rather than a tree. The implication of this for parallel A* algorithms is that different processors may perform significant duplicated work if interprocessor duplicates are not pruned. In this paper, we consider the problem of duplicate pruning in parallel A* graph-search algorithms implemented on distributed-memory machines. A commonly used method for duplicate pruning uses a hash function to associate with each distinct node of the search space a particular processor to which duplicate nodes arising in different processors are transmitted and thereby pruned. This approach has two major drawbacks. First, load balance is determined solely by the hash function. Second, node transmissions for duplicate pruning are global; this can lead to hot spots and slower message delivery. To overcome these problems, we propose two different duplicate pruning strategies: 1) To achieve good load balance, we decouple the task of duplicate pruning from load balancing, by using a hash function for the former and a load balancing scheme for the latter. 2) A novel search-space partitioning scheme that allocates disjoint parts of the search space to disjoint subcubes in a hypercube (or disjoint processor groups in the target architecture), so that duplicate pruning is achieved with only intrasubcube or adjacent intersubcube communication. Thus message latency and hot-spot probability are greatly reduced. The above duplicate pruning schemes were implemented on an nCUBE2 hypercube multicomputer to solve the Traveling Salesman Problem (TSP). For uniformly distributed intercity costs, our strategies yield a speedup improvement of 13 to 35 percent on 1,024-processors over previous methods that do not prune any duplicates, and 13 to 25 percent over the previous hashing-only scheme. For normally distributed data the corresponding figures are 135 percent and 10 to 155 percent. Finally, we analyze the scalability of our parallel A* algorithms on <it>k</it>-ary <it>n</it>-cube networks in terms of the isoefficiency metric, and show that they have isoefficiency lower and upper bounds of Θ(<it>P</it> log <it>P</it>) and Θ(<it>Pkn</it><super>2</super>), respectively.</p>
A* algorithm, branch-and-bound search, communication delay, duplicate pruning, graph search, isoefficiency function, k-ary n-cubes, parallel A*, scalability, traveling salesman problem.
Nihar R. Mahapatra, Shantanu Dutt, "Scalable Global and Local Hashing Strategies for Duplicate Pruning in Parallel A* Graph Search", IEEE Transactions on Parallel & Distributed Systems, vol.8, no. 7, pp. 738-756, July 1997, doi:10.1109/71.598348