New Generation Computing

, Volume 7, Issue 2–3, pp 243–271 | Cite as

The Aurora or-parallel Prolog system

  • Ewing Lusk
  • Ralph Butler
  • Terrence Disz
  • Robert Olson
  • Ross Overbeek
  • Rick Stevens
  • David H. D. Warren
  • Alan Calderwood
  • Péter Szeredi
  • Seif Haridi
  • Per Brand
  • Mats Carlsson
  • Andrzej Ciepielewski
  • Bogumil Hausman
Special Issue Parallel Machine Architecture

Abstract

Aurora is a prototype or-parallel implementation of the full Prolog language for shared-memory multiprocessors, developed as part of an informal research collaboration known as the “Gigalips Project”. It currently runs on Sequent and Encore machines. It has been constructed by adapting Sicstus Prolog, a fast, portable, sequential Prolog system. The techniques for constructing a portable multiprocessor version follow those pioneered in a predecessor system, ANL-WAM. The SRI model was adopted as the means to extend the Sicstus Prolog engine for or-parallel operation. We describe the design and main implementation features of the current Aurora system, and present some experimental results. For a range of benchmarks, Aurora on a 20-processor Sequent Symmetry is 4 to 7 times faster than Quintus Prolog on a Sun 3/75. Good performance is also reported on some large-scale Prolog applications.

Keywords

Logic Programming Prolog Parallel Computing Automatic Parallelization 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1).
    Ali, K. “Or-Parallel Execution of Prolog on BC-Machine,”SICS Research Report, Swedish Institute of Computer Science, 1987.Google Scholar
  2. 2).
    Butler, R., Disz, T., Lusk, E., Olson, R., Overbeek, R., and Stevens, R., “Scheduling Or-parallelism: an Argonne perspective,” inProceedings of the Fifth International Conference on Logic Programming, MIT Press, pp. 1590–1605, August, 1988.Google Scholar
  3. 3).
    Calderwood, A., “Aurora—description of scheduler interfaces,”Internal Report, Gigalips Project, January, 1988.Google Scholar
  4. 4).
    Calderwood, A. and Szeredi, P., “Scheduling or-parallelism in Aurora—the Manchester scheduler,” inProceedings of the Sixth International Conference on Logic Programming, MIT Press, pp. 419–435, June, 1989.Google Scholar
  5. 5).
    Carlsson, M., “Internals of Sicstus Prolog version 0.6,”Internal Report, Gigalips Project, November, 1987.Google Scholar
  6. 6).
    Carlsson, M. and Widén. J., “SICStus Prolog User’s Manual,”SICS Research Report, R88007B, October, 1988.Google Scholar
  7. 7).
    Ciepielewski, A. and Haridi, S., “A formal model for or-parallel execution of logic programs,” inIFIP 83 Conference, North Holland, pp. 299–305, 1983.Google Scholar
  8. 8).
    Ciepielewski, A., Haridi, S. and Hausman, B., “Initial evaluation of a virtual machine for or-parallel execution of logic programs,” inIFIP-TC10 Working Conference on Fifth Generation Computer Architecture, Manchester, U. K., 1985.Google Scholar
  9. 9).
    Clocksin, W., “Principles of the DelPhi parallel inference machine,”Computer Journal, Vol. 30, No. 5, pp. 386–392, 1987.Google Scholar
  10. 10).
    DeGroot, D., “Restricted and-parallelism,” inInternational Conference on Fifth Generation Computer Systems 1984, Hideo Aiso ed., Institute for New Generation Computing, Tokyo, pp. 471–478, 1984.Google Scholar
  11. 11).
    Disz, T. and Lusk, E., “A graphical tool for observing the behavior of parallel logic programs,” inProceedings of the 1987 Symposium on Logic Programming, pp. 46–53, 1987.Google Scholar
  12. 12).
    Disz, T., lusk, E. and Overbeek, R., “Experiments with OR-parallel logic programs,” inProceedings of the Fourth International Conference on Logic Programming, MIT Press, pp. 576–600, 1987.Google Scholar
  13. 13).
    Gregory, S.,Parallel Logic Programming in Parlog, Addison-Wesley, 1987.Google Scholar
  14. 14).
    Haridi, S. and Brand, P., “Andorra Prolog—an integration of Prolog and committed choice languages,” inInternational Conference on Fifth Generation Computer Systems 1988, ICOT, 1988.Google Scholar
  15. 15).
    Hausman, B., “Pruning and scheduling speculative work in or-parallel Prolog,” inPARLE 89, Conference on Prallel Architectures and Languages Europe, Springer-Verlag, 1989.Google Scholar
  16. 16).
    Hausman, B., Ciepielewski, A. and Calderwood, A., “Cut and side-effects in or-parallel Prolog,” inInternational Conference on Fifth Generation Computer Systems 1988, ICOT, 1988.Google Scholar
  17. 17).
    Hausman, B., Ciepielewski, A. and Haridi, S., “Or-parallel Prolog made efficient on shared memory multiprocessors,” inProceedings of the 1987 Symposium on Logic Programming, pp. 69–79, 1987.Google Scholar
  18. 18).
    Hermenegildo, M., “An abstract machine for restricted and-parallel execution of logic programs,” inThird International Conference on Logic Programming, London, Springer-Verlag, pp. 25–39, 1986.Google Scholar
  19. 19).
    Hirschman, L., Hopkins, W. and Smith, R., “Or-parallel speed-up in natural language processing: a case study,” inProceedings of the Fifth International Conference on Logic Programming, MIT Press, pp. 263–279, August, 1988.Google Scholar
  20. 20).
    Lusk, E. and McFadden, R., “Using automated reasoning tools: a study of the semigroup F2B2,”Semigroup Forum, Vol. 36, No. 1, pp. 75–88, 1987.MATHCrossRefMathSciNetGoogle Scholar
  21. 21).
    Ratcliffe, M. “A progress report on PEPSys,”Presentation at the Gigalips Workshop, Manchester, July, 1988.Google Scholar
  22. 22).
    Shapiro, E. ed.,Concurrent Prolog—Collected Papers, MIT Press, 1987.Google Scholar
  23. 23).
    Szeredi, P., “Performance analysis of the Aurora or-parallel Prolog system,” inProceedings of the 1989 North American Conference on Logic Programming, pp. 713–734, MIT Press 1989.Google Scholar
  24. 24).
    Warren, D. H. D., “An Abstract Prolog Instruction Set,”Technical Note, 309, SRI International, 1983.Google Scholar
  25. 25).
    Warren, D. H. D., “Applied Logic—Its Use and Implementation as a Programming Tool,”Ph. D thesis, Edinburgh University, 1977. Available asTechnical Note, 290, SRI International.Google Scholar
  26. 26).
    Warren, D. H. D., “Or-parallel execution models of Prolog,” inTAPSOFT’87, The 1987 International Joint Conference on Theory and Practice of Software. Development, Pisa, Italy, Springer-Verlag, pp. 243–259, March, 1987.Google Scholar
  27. 27).
    Warren, D. H. D., “The SRI model for or-parallel execution of Prolog—abstract design and implementation issues,” inProceedings of the 1987 Symposium on Logic Programming, pp. 92–102, 1987.Google Scholar
  28. 28).
    Warren, D. H. D. and Haridi, S., “Data Diffusion Machine—a scalable shared virtual memory multiprocessor,” inInternational Conference on Fifth Generation Computer Systems 1988 ICOT, 1988.Google Scholar
  29. 29).
    Westphal, H., Robert, P., Chassin, J. and Syre, J. C., “The PEPSys model: combining backtracking, and- and or-parallelism,” inThe 1987 Symposium on Logic Programming, San Francisco, California, IEEE, 1987.Google Scholar
  30. 30).
    Yang, R., “Solving simple substitution ciphers in Andorra- I,” inProceedings of the Sixth International Conference on Logic Programming, MIT Press, pp. 113–128, June, 1989.Google Scholar

Copyright information

© Ohmsha, Ltd. and Springer 1990

Authors and Affiliations

  • Ewing Lusk
    • 1
  • Ralph Butler
    • 1
  • Terrence Disz
    • 1
  • Robert Olson
    • 1
  • Ross Overbeek
    • 1
  • Rick Stevens
    • 1
  • David H. D. Warren
    • 2
  • Alan Calderwood
    • 2
  • Péter Szeredi
    • 2
  • Seif Haridi
    • 3
  • Per Brand
    • 3
  • Mats Carlsson
    • 3
  • Andrzej Ciepielewski
    • 3
  • Bogumil Hausman
    • 3
  1. 1.Mathematics and Computer DivisionArgonne National LaboratoryArgonneU. S. A.
  2. 2.Department of Computer ScienceUniversity of BristolBristolU. K.
  3. 3.Swedish Institute of Computer ScienceKistaSweden

Personalised recommendations