Skip to main content
Log in

Parallel depth first search. Part I. Implementation

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript


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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others


  1. Vipin Kumar and V. Nageshwara Rao, Parallel Depth-first Search, Part II: Analysis,International Journal of Parallel Programming,16(6):501–519 (1988).

    Google Scholar 

  2. Vipin Kumar, Depth-first Search,Encyclopaedia of Artificial Intelligence, John Wiley and Sons, Inc., New York,2:1004–1005 (1987).

    Google Scholar 

  3. Judea Pearl,Heuristics—Intelligent Search Strategies for Computer Problem Solving, Addison-Wesley, Reading, Massachusetts (1984).

    Google Scholar 

  4. Ellis Horowitz and Sartaj Sahni,Fundamentals of Computer Algorithms, Computer Science Press, Rockville, Maryland (1978).

    Google Scholar 

  5. Bogumil Hausman, Andrzej Ciepielewski, and Seif Haridi, OR-parallelProlog made Efficient on Shared Memory Multiprocessors,Proceedings of the Fourth Symposium on Logic Programming, San Francisco, CA., pp. 69–79 (September 1987).

  6. M. H. van Emden, An Interpreting Algorithm for Prolog Programs,Implementations of Prolog, J. A. Campbell, (ed.), Ellis Horwood, West Sussex, England (1984).

    Google Scholar 

  7. R. E. Korf, Depth-first Iterative-deepening: An Optimal Admissible Tree Search,Artificial Intelligence,27:97–109 (1985).

    Google Scholar 

  8. Richard Korf, Optimal Path Finding Algorithms,Search in Artificial Intelligence, L. Kanal and V. Kumar, (eds.), Springer-Verlag, New York (1988).

    Google Scholar 

  9. M. E. Stickel and W. M. Tyson, An Analysis of Consecutively Bounded Depth-first Search with Applications in Automated Deduction,IJCAI, pp. 1073–1075 (1985).

  10. M. Imai, Y. Yoshida, and T. Fukumura, A Parallel Searching Scheme for Multiprocessor Systems and Its Application to Combinatorial Problems,IJCAI, pp. 416–418 (1979).

  11. Benjamin W. Wah and Y. W. Eva Ma, Manip—A Multicomputer Architecture for Solving Combinatorial Extremum-search Problems,IEEE Transactions on Computers, vol. C-33 (May 1984).

  12. V. Kumar and L. N. Kanal, Parallel Branch-and-bound Formulations for and/or Tree Search,IEEE Trans. Pattern. Anal. and Machine Intell.,PAMI 6:768–778 (1984).

    Google Scholar 

  13. Raphael A. Finkel and Udi Manber, DIB—A Distributed Implementation of Backtracking,ACM Trans. of Progr. Lang. and Systems,9(2):235–256 (April 1987).

    Google Scholar 

  14. B. Monien and O. Vornberger,The Ring Machine Technical Report, Univ. of Paderborn, FRG (1985); also inComputers and Artificial Intelligence, Vol. 3 (1987).

    Google Scholar 

  15. Virendra K. Janakiram, Dharma P. Agrawal, and Ram Mehrotra, Randomized Parallel Algorithms for Prolog Programs and Backtracking Application,Proceedings of International Conference on Parallel Processing, pp. 278–281 (1987).

  16. Nils J. Nilsson,Principles of Artificial Intelligence, Tioga Press (1980).

  17. E. L. Lawler and D. Woods, Branch-and-bound Methods: A Survey,Operations Research, Vol. 14 (1966).

  18. V. Kumar and L. N. Kanal, A General Branch-and-bound Formulations for Understanding and Synthesizing and/or Tree Search Procedures,Artificial Intelligence,21:179–198 (1983).

    Google Scholar 

  19. Vipin Kumar, Dana Nau and Laveen Kanal, General Branch-and-bound Formulation for and/or Graph and Game Tree Search (eds.), L. Kanal andV. Kumar,Search in Artificial Intelligence, (eds.), Springer-Verlag, New York (1988).

    Google Scholar 

  20. T. H. Lai and Sartaj Sahni, Anomalies in Parallel Branch and Bound Algorithms,Proceedings of International conference on Parallel Processing, pp. 183–190 (1983).

  21. Guo-Jie Li and Benjamin W. Wah, Coping with Anomalies in Parallel Branch-and-bound Algorithms,IEEE Trans on Computers, Vol. C-35 (June 1986).

  22. E. W. Dijkstra, W. H. Seijen, and A. J. M. Van Gasteren, Derivation of a Termination Detection Algorithm for a Distributed Computation,Information Processing Letters,16(5):217–219 (1983).

    Google Scholar 

  23. V. Nageshwara Rao, Vipin Kumar, and K. Ramesh, A Parallel Implementation of Iterative-deeping-a*,Proceedings of the National Conf. on Artificial Intelligence AAAI, pp. 878–882 (1987).

  24. Charles Seitz, The Cosmic Cube,Commun. ACM,28(1):22–23 (1985).

    Google Scholar 

  25. V. Nageshwara Rao and Vipin Kumar,Superlinear Speedup in State-Space Search, Technical Report, AI Lab TR88-80, University of Texas at Austin (June 1988).

  26. O. I. El-Dessouki and W. H. Huen, Distributed Enumeration on Network Computers,IEEE Transactions on Computers,C-29:818–825 (September 1980).

    Google Scholar 

  27. S. Kasif, M. Kohli, and J. Minker,PRISM: A Parallel Inference System for Problem Solving, Technical Report, Computer Science Department, University of Maryland (February 1983).

  28. K. Kumon, H. Masuzawa, A. Itashiki, K. Satoh, and Y. Sohma, Kabu-wake: A New Parallel Inference Method and Its Evaluation,Proceedings of COMPCON 86 (March 1986).

  29. Kish Shen and David H. D. Warren, A Simulation Study of the Argonne Model for OR-parallel Execution ofProlog,Proceedings of the Fourth Symposium on Logic Programming, San Francisco, CA, pp. 54–68 (September 1987).

  30. Peter Tinker, Performance and Pragmatics of an OR-parallel Logic Programming System,International Journal of Parallel Programmibng (1988).

  31. Terry Disz, Ewing Lusk, and Ross Overbeek, Experiments with OR-parallel Logic Programs,Proceedings of the Fourth International Conference on Logic Programming, Melbourne, Australia, pp. 576–600 (May 1987).

  32. Bernard Nadel, Constraint Satisfaction Algorithms,Search in Artificial Intelligence, L. Kanal and V. Kumar, (eds.), Springer-Verlag, New York (1988).

    Google Scholar 

Download references

Author information

Authors and Affiliations


Additional information

This work was supported by Army Research Office Grant No. DAAG29-84-K-0060 to the Artificial Intelligence Laboratory, and Office of Naval Research Grant N00014-86-K-0763 to the Computer Science Department at the University of Texas ay Austin

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rao, V.N., Kumar, V. Parallel depth first search. Part I. Implementation. Int J Parallel Prog 16, 479–499 (1987).

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI:

Key Words