New Generation Computing

, Volume 14, Issue 1, pp 3–30 | Cite as

Andorra-I compilation

  • Vítor Santos Costa
  • David H. D. Warren
  • Rong Yang
Special Issue

Abstract

Andorra-I is an experimental parallel Prolog system which transparently exploits both dependent and-parallelism and or-parallelism. One of the main components of Andorra-I is its preprocessor. In order to obtain efficient execution of programs in Andorra-I, the preprocessor includes a compiler for Andorra-I. The compiler includes a determinacy analyser and a clause compiler, and generates code for a specialised abstract machine. In this paper we discuss the main issues in the Andorra-I compiler, presenting its abstract instruction set and describing the algorithms used in its implementation.

Keywords

PROLOG Parallelism Compilation Techniques 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1).
    Bahgat, R.,Non-Deterministic Concurrent Logic Programming in Pandora, World Scientific, 1993.Google Scholar
  2. 2).
    Beaumont, A., Raman, S.M., Szeredi, P., and Warren, D.H.D., “Flexible Scheduling of OR-Parallelism in Aurora: The Bristol Scheduler,” inPARLE91: Conference on Parallel Architectures and Languages Europe, volume 2, Springer_Verlag, pp. 403–420, June 1991.Google Scholar
  3. 3).
    Crammond, J.A., “Implementation of Committed Choice Logic Languages on Shared Memory Multiprocessors,”Ph.D thesis, Heriot-Watt University, Edinburgh, May 1988.Research Report, PAR 88/4, Department of Computing, Imperial College, London.Google Scholar
  4. 4).
    Debray, S.K., “A Simple Code Improvement Scheme for Prolog,” inSixth International Conference on Logic Programming, MIT Press, pp. 17–32, June 1989.Google Scholar
  5. 5).
    Dutra, I. “Strategies for Scheduling And- and Or-Work in Prallel Logic Programming Systems,” inLogic Programming: Proceedings of the 1994 International Symposium, MIT Press, pp. 289–304, 1994.Google Scholar
  6. 6).
    Gregory, S. and Yang, R., “Parallel Constraint Solving in Andorra-I,” inInternational Conference on Fifth Generation Computer Systems 1992, ICOT, Tokyo, Japan, pp. 843–850, June 1992.Google Scholar
  7. 7).
    Janson, S. and Haridi, S., “Programming Paradigms of the Andorra Kernel Language,” inLogic Programming: Proceedings of the International Logic Programming Symposium, MIT Press, pp. 167–186, October 1991.Google Scholar
  8. 8).
    Kliger, S. and Shapiro, E., “A Decision Tree Compilation Algorithm for FCP (‖,:,?),” inProceedings of the Fifth International Conference and Symposium on Logic Programming, MIT Press, pp. 1315–1336, August 1988.Google Scholar
  9. 9).
    Korsloot, M. and Tick, E., “Compilation Techniques for Nondeterminate Flat Concurrent Logic Programming Languages,” inProceedings of the Eighth International Conference on Logic Programming (K. Furukawa, ed.), MIT Press, 1991.Google Scholar
  10. 10).
    Lusk, E., Butler, R., Disz, T., Olson, R., Overbeek, R., Stevens, R., Warren, D.H.D., Calderwood, A., Szeredi, P., Haridi, S., Brand, P., Carlsçon, M., Ciepelewski, A., and Hausman, B., “The Aurora Or-Parallel Prolog System,” inInternational Conference on Fifth Generation Computer Systems 1988, ICOT, Tokyo, Japan, pp. 819–830, Nov. 1988.Google Scholar
  11. 11).
    Palmer, D. and Naish, L., “NUA-Prolog: An Extension to the WAM for Parallel Andorra,” inProceedings of the Eighth International Conference on Logic Programming (K. Furukawa, ed.), MIT Press, 1991.Google Scholar
  12. 12).
    Santos Costa, V., “Compile-Time Analysis for the Parallel Execution of Logic Programs in Andorra-I,”Ph.D thesis, University of Bristol, August 1993.Google Scholar
  13. 13).
    Santos Costa, V., Warren, D.H.D., and Yang, R., “Audorra-I: A Parallel Prolog System That Transparently Exploits both And- and Or-Parallelism,” inThird ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming PPOPP, ACM press, pp. 83–93, April 1991.SIGPLAN Notices, vol. 26, 7, July 1991.Google Scholar
  14. 14).
    Santos Costa, V., Warren, D.H.D., and Yang, R., “The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model,” inProceedings of the Eighth International Conference on Logic Programming, MIT Press, pp. 825–839, June 1991.Google Scholar
  15. 15).
    Santos Costa, V., Warren, D.H.D., and Yang, R., “The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model,” inProceedings of the Eighth International Conference on Logic Programming, MIT Press, pp. 443–456, June 1991.Google Scholar
  16. 16).
    Szeredi, P., Carlsson, M., and Yang, R., “Interfacing Engines and Schedulers in OR-Parallel Prolog Systems,” inPARLE91: Conference on Parallel Architectures and Languages Europe, volume 2, Springer-Verlag, pp. 439–453, June 1991.Google Scholar
  17. 17).
    Tanaka, J., Ueda, K., Miyazaki, T., Takeuchi, A., Matsumoto, Y., and Furukawa, K., “Guarded Horn Clauses and Experiences with Parallel Programming,” in1986 Proceedings Fall Joint Computer Conference, IEEE Computer Society Press, pp. 948–954, November 1986.Google Scholar
  18. 18).
    Van Roy, P., “1983–1993: The Wonder Years of Sequential Prolog Implementation,”The Journal of Logic Programming, 19/20, May/July 1994.Google Scholar
  19. 19).
    Warren, D.H.D., “An Abstract Prolog Instruction Set,”Technical Note, 309, SRI International, 1983.Google Scholar
  20. 20).
    Yang, R., Beaumont, T., Dutra, I., Santos Costa, V., and Warren, D.H.D.,ESPRIT Project 2471 PEPMA-Task 7a, PEPMA Project, University of Bristol, November 1992.Google Scholar
  21. 21).
    Yang, R., Beaumont, T., Dutra, I., Santos Costa, V., and Warren, D.H.D., “Performance of the Compiler-Based Andorra-I System, inProceedings of the Tenth International Conference on Logic Programming, MIT Press, pp. 150–166, June 1993.Google Scholar

Copyright information

© Ohmsha, Ltd. and Springer 1996

Authors and Affiliations

  • Vítor Santos Costa
    • 1
  • David H. D. Warren
    • 2
  • Rong Yang
    • 2
  1. 1.Lab. de Inteligência Artificial e Ciências de ComputadoresUniversidade do PortoPortoPortugal
  2. 2.Department of Computer ScienceUniversity of BristolBristolU. K.

Personalised recommendations