Andorra-I compilation
Special Issue
Received:
Revised:
- 19 Downloads
- 2 Citations
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 TechniquesPreview
Unable to display preview. Download preview PDF.
References
- 1).Bahgat, R.,Non-Deterministic Concurrent Logic Programming in Pandora, World Scientific, 1993.Google Scholar
- 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).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).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).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).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).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).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).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).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).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).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).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).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).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).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).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).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).Warren, D.H.D., “An Abstract Prolog Instruction Set,”Technical Note, 309, SRI International, 1983.Google Scholar
- 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).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