Parallel depth first search. Part I. Implementation

This paper presents a parallel formulation of depth-first search which retains the storage efficiency of sequential depth-first search and can be mapped on to anyMIMD architecture. To study its effectiveness it has been implemented to solve the 15-puzzle problem on three commercially available multiprocessors—Sequent Balance 21000, the Intel Hypercube and BBN Butterfly. We have been able to achieve fairly linear speedup on Sequent up to 30 processors (the maximum configuration available) and on the Intel Hypercube andBBN Butterfly up to 128 processors (the maximum configurations available). Many researchers considered the ring architecture to be quite suitable for parallel depth-first search. Our experimental results show that hypercube and sharedmemory architectures are significantly better.At the heart of our parallel formulation is a dynamic work distribution scheme that divides the work between different processors. The effectiveness of the parallel formulation is strongly influenced by the work distribution scheme and architectural features such as presence/absence of shared memory, the diameter of the network, relative speed of the communication network, etc. In a companion paper,(1) we analyze the effectiveness of different load-balancing schemes and architectures, and also present new improved work distribution schemes.

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

[2]  Benjamin W. Wah,et al.  The status of manip - a multicomputer architecture for solving, combinatorial extremum-search problems , 1984, ISCA '84.

[3]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[4]  Vipin Kumar,et al.  A General Branch and Bound Formulation for Understanding and Synthesizing And/Or Tree Search Procedures , 1983, Artif. Intell..

[5]  Masaharu Imai,et al.  A Parallel Searching Scheme for Multiprocessor Systems and Its Application to Combinatorial Problems , 1979, IJCAI.

[6]  Benjamin W. Wah,et al.  Coping with Anomalies in Parallel Branch-and-Bound Algorithms , 1986, IEEE Transactions on Computers.

[7]  Judea Pearl,et al.  Heuristics : intelligent search strategies for computer problem solving , 1984 .

[8]  Ewing L. Lusk,et al.  Experiments with OR-Parallel Logic Programs , 1987, ICLP.

[9]  E. L. Lawler,et al.  Branch-and-Bound Methods: A Survey , 1966, Oper. Res..

[10]  Simon Kasif,et al.  PRISM - A Parallel Inference System for Problem Solving , 1983, Logic Programming Workshop.

[11]  Vipin Kumar,et al.  A Parallel Implementation of Iterative-Deepening-A* , 1987, AAAI.

[12]  Ken Satoh,et al.  KABU-WAKE: A New Parallel Inference Method and Its Evaluation , 1986, COMPCON.

[13]  Benjamin W. Wah,et al.  MANIP—A Multicomputer Architecture for Solving Combinatonal Extremum-Search Problems , 1984, IEEE Transactions on Computers.

[14]  Mabry Tyson,et al.  An Analysis of Consecutively Bounded Depth-First Search with Applications in Automated Deduction , 1985, IJCAI.

[15]  B. Monien,et al.  The ring machine , 1987 .

[16]  Bernard A. Nadel,et al.  Tree search and ARC consistency in constraint satisfaction algorithms , 1988 .

[17]  Udi Manber,et al.  DIB—a distributed implementation of backtracking , 1987, TOPL.

[18]  Peter A. Tinker Performance of an OR-parallel logic programming system , 2005, International Journal of Parallel Programming.

[19]  Richard E. Korf,et al.  Optimal path-finding algorithms* , 1988 .

[20]  Seif Haridi,et al.  OR-Parallel Prolog Made Efficient on Shared Memory Multiprocessors , 1987, SLP.

[21]  M. H. van Emden An Interpreting Algorithm for Prolog Programs , 1984, Implementations of Prolog.

[22]  Kish Shen,et al.  A Simulation Study of the Argonne Model for Or-Parallel Execution of Prolog , 1987, SLP.

[23]  Wing H. Huen,et al.  Distributed Enumeration on Between Computers , 1980, IEEE Transactions on Computers.

[24]  Sartaj Sahni,et al.  Anomalies in Parallel Branch-and-Bound Algorithms , 1984 .

[25]  H. Müller-Merbach,et al.  Heuristics: Intelligent search strategies for computer problem solving: Judea PEARL Addison-Wesley, Reading, 1984 , 1985 .

[26]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[27]  Vipin Kumar,et al.  Parallel depth first search. Part II. Analysis , 1987, International Journal of Parallel Programming.

[28]  Dharma P. Agrawal,et al.  Randomized Parallel Algorithms for Prolog Programs and Backtracking Applications , 1987, International Conference on Parallel Processing.

[29]  Dana S. Nau,et al.  A general branch-and-bound formulation for and/or graph and game tree search , 1988 .

[30]  Ellis Horowitz,et al.  Fundamentals of Computer Algorithms , 1978 .

[31]  L. LawlerE.,et al.  Branch-and-Bound Methods , 1966 .

[32]  Vipin Kumar,et al.  Parallel Branch-and-Bound Formulations for AND/OR Tree Search , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[33]  A. J. M. van Gasteren,et al.  Derivation of a Termination Detection Algorithm for Distributed Computations , 1983, Inf. Process. Lett..