Skip to main content

Why Multi-SLD beats SLD (even on a uniprocessor)

  • Conference paper
  • First Online:
Programming Language Implementation and Logic Programming (PLILP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 844))

  • 269 Accesses

Abstract

Multi-SLD resolution is a variant of SLD resolution based on a simple idea: Let the allowed constraints be closed under disjunction, and provide a mechanism for collecting the solutions to a goal and turning these solutions into a disjunctive constraint. This idea leads to a novel operational model of logic programming, called data or-parallelism, in which multiple constraint environments partially replace backtracking as the operational embodiment of disjunction. The model has a natural implementation on data-parallel computers since each disjunct of a disjunctive constraint can be handled by a single (virtual) processor. In this paper we give linear performance models that explain why Multi-SLD resolution is faster than SLD resolution for many combinatorial search problems, even on a uniprocessor. The models give insight into the nature of data or-parallelism and provide a basis for predicting the effects of various optimizations. We present data from actual uniprocessor and SIMD executions to support the validity of the models. Lastly, we relate the models' predictions to the supposed limits on parallel speedup suggested by Amdahl's Law.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. K. Ali and R. Karlsson. The Muse Or-Parallel Prolog model and its performance. In NACLP, pages 757–776, 1990.

    Google Scholar 

  2. J. Barklund. Parallel Unification. PhD thesis, Uppsala University, 1990.

    Google Scholar 

  3. Jonas Barklund and Haakan Millroth. Providing iteration and concurrency in logic programs through bounded quantifications. In Proceedings of the International Conference on Fifth Generation Computer Systems, pages 817–824, ICOT, Japan, 1992. Association for Computing Machinery.

    Google Scholar 

  4. Angel L. DeCegamma. The Technology of Parallel Processing: Parallel Processing Architectures and VLSI Hardware, volume 1. Prentice Hall, 1989.

    Google Scholar 

  5. M. Dincbas, P. Van Hentenryck, H. Simonis, and A. Aggoun. The constraint logic programming language CHIP. In 2nd FGCS, 1988.

    Google Scholar 

  6. E. Lusk et. al. The Aurora or-parallel prolog system. New Generation Computing, 7:243–271, 1990.

    Google Scholar 

  7. J.L. Gustafson. Reevaluating amdahl's law. CACM, pages 532–533, 1988.

    Google Scholar 

  8. H. Milroth. Reforming Compilation of Logic Programs. PhD thesis, Uppsala University, 1990.

    Google Scholar 

  9. Vijay A. Saraswat. Concurrent Constraint Programming. MIT, 1990.

    Google Scholar 

  10. D. A. Smith. Multilog: Data Or-Parallel Logic Programming. In JICSLP '92 Workshop on Parallel Implementations of Logic Programming Systems, 1992.

    Google Scholar 

  11. D. A. Smith. MultiLog: Data Or-Parallel Logic Programming. In David S. Warren, editor, Proceedings of the Tenth International Conference on Logic Programming, Budapest, Hungary, 1993. MIT Press.

    Google Scholar 

  12. D. A. Smith. Analysis of Environment Representation Schemes for MultiLog. Technical report, University of Waikato, 1994.

    Google Scholar 

  13. D. A. Smith and Timothy Hickey. Multi-SLD Resolution. In Logic Programming and Automated Reasoning. Springer-Verlag, 1994.

    Google Scholar 

  14. D.A. Smith. MultiLog: Data Or-Parallel Logic Programming. PhD thesis, Brandeis University, 1993.

    Google Scholar 

  15. Bo-Ming Tong and Ho-Fung Leung. Concurrent constraint logic programming on massively parallel simd computers. In International Logic Programming Symposium, 1993.

    Google Scholar 

  16. P. VanHentenryck. Constraint Satisfaction in Logic Programming. MIT Press, 1989.

    Google Scholar 

  17. D.H.D. Warren. The SRI model for or-parallel execution of Prolog: Abstract design and implementation. In Proceedings of the 1987 Symposium on Logic Programming, pages 92–102, IEEE, Washington, D.C., August–September 1987. IEEE.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manuel Hermenegildo Jaan Penjam

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Smith, D.A. (1994). Why Multi-SLD beats SLD (even on a uniprocessor). In: Hermenegildo, M., Penjam, J. (eds) Programming Language Implementation and Logic Programming. PLILP 1994. Lecture Notes in Computer Science, vol 844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58402-1_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-58402-1_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58402-5

  • Online ISBN: 978-3-540-48695-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics