On Deterministic Computations in the Extended Andorra Model

Logic programming is based on the idea that computation is controlled inference. The Extended Andorra Model provides a very powerful framework that supports both co-routining and parallelism. In this work we show that David H. D. Warren’s design for the EAM with Implicit Control does not perform well for deterministic computations and we present several optimisations that allow the BEAM to achieve performance matching or even exceeding related systems. Our optimisations refine the original EAM control rule demonstrate that overheads can be reduced through combined execution rules, and show that a good design and emulator implementation is relevant, even for a complex system such as the BEAM.

[1]  Lee Naish,et al.  NUA-Prolog: An Extension to the WAM for Parallel Andorra , 1991, ICLP.

[2]  Seif Haridi,et al.  AKL(FD) - A Concurrent Language for FD Programming , 1994, ILPS.

[3]  Rong Yang,et al.  The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model , 1991, ICLP.

[4]  Ashwin Srinivasan,et al.  A Note on Two Simple Transformations for Improving the Efficiency of an ILP System , 2000, ILP.

[5]  Ricardo Lopes,et al.  A Novel Implementation of the Extended Andorra Model , 2001, PADL.

[6]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[7]  Anni-Yasmin Turhan,et al.  RACE User''s Guide and Reference Manual , 1999 .

[8]  Bart Demoen,et al.  So Many WAM Variations, So Little Time , 2000, Computational Logic.

[9]  Sverker Janson,et al.  AKL - A Multiparadigm Programming Language , 1994 .

[10]  Vítor Santos Costa,et al.  Optimising Bytecode Emulation for Prolog , 1999, PPDP.

[11]  Ricardo J. Lopes The BEAM: Towards a first EAM Implementation , 1997 .

[12]  Luís Moniz Pereira,et al.  Computational Logic — CL 2000 , 2000, Lecture Notes in Computer Science.

[13]  Seif Haridi,et al.  An Introduction to AKL A Multi-Paradigm Programming Language , 1993, NATO ASI CP.

[14]  Koichi Furukawa,et al.  Proceedings of the eighth international conference on Logic programming , 1991 .

[15]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[16]  Nicolas Beldiceanu,et al.  Constraint Logic Programming , 1997 .

[17]  M. Bruynooghe Logic Programming, Proceedings of the 1994 International Symposium, Ithaca, New York, USA, November 13-17, 1994 , 1994, ILPS.

[18]  Santos Costa,et al.  Memory Management for the BEAM , 2000 .

[19]  Manuel V. Hermenegildo,et al.  An Automatic Translation Scheme from Prolog to the Andorra Kernel Language , 1992, FGCS.

[20]  Vítor Manuel de Morais Santos Costa Compile-time analysis for the parallel execution of logic programs in Andorra-1 , 1993 .