Ali, Khayri A.MCARLSSON, MATSPontelli, EnricoGUPTA, GOPALHERMENEGILDO, MANUEL V.2020-01-102020-01-102001AIKAWA, S., KAMIKO, M., KUBO, H., MATSUZAWA,F.,AND CHIKAYAMA, T. 1992. Paragraph: A Graphical Tuning Tool for Multiprocessor Systems. In Proceedings of the Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 286-293.]]Google Scholar AyT-KACI, H. 1991. Warren's Abstract Machine: A Tutorial Reconstruction. MIT Press, Cambridge, MA. www.isg.sfu.ca/hak/documents/wam.html.]] Google Scholar AyT-KACI, H. 1993. An Introduction to LIFE: Programming with Logic, Inheritance, Functions, and Equations. In International Logic Programming Symposium, D. Miller, Ed. MIT Press, Cambridge, MA, 52-68.]] Google Scholar ALI, K. 1988. Or-Parallel Execution of Prolog on BC-machine. In Proceedings of the International Conference and Symposium on Logic Programming, R. Kowalski and K. Bowen, Eds. MIT Press, Seattle, 1531-1545.]]Google Scholar ALI, K. 1995. A Parallel Copying Garbage Collection Scheme for Shared-Memory Multiprocessors. In Proceedings of the ICOT/NSF Workshop on Parallel Logic Programming and Its Programming Environments, E. Tick and T. Chikayama, Eds. Number CSI-TR-94-04. University of Oregon, Eugene, OR, 93-96.]]Google Scholar ALI,K.AND KARLSSON, R. 1990a. Full Prolog and Scheduling Or-Parallelism in Muse. International Journal of Parallel Programming 19, 6, 445-475.]] Google Scholar ALI,K.AND KARLSSON, R. 1990b. The MUSEApproach to Or-Parallel Prolog. International Journal of Parallel Programming 19, 2, 129-162.]] Google Scholar ALI,K.AND KARLSSON, R. 1992a. OR-Parallel Speedups in a Knowledge Based System: On MUSE and Aurora. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 739-745.]]Google Scholar ALI,K.AND KARLSSON, R. 1992b. Scheduling Speculative Work in MUSEand Performance Results. International Journal of Parallel Programming 21,6.]]Google Scholar ALI, K., KARLSSON, R., AND MUDAMBI, S. 1992. Performance of MUSE on Switch-Based Multiprocessor Machines. New Generation Computing 11, 1/4, 81-103.]]Google Scholar ALMASI,G.AND GOTTLIEB, A. 1994. Highly Parallel Computing. Benjamin/Cummings, San Francisco, CA.]] Google Scholar APPLEBY, K., CARLSSON, M., HARIDI,S.,AND SAHLIN, D. 1988. Garbage Collection for Prolog Based on WAM. Communications of the ACM 31, 6 (June), 719-741.]] Google Scholar ARAUJO,L.AND RUZ, J. 1998. A Parallel Prolog System for Distributed Memory. Journal of Logic Programming 33, 1, 49-79.]]Google Scholar BADER,D.AND JAJA, J. 1997. SIMPLE: A Methodology for Programming High Performance Algorithms on Clusters of Symmetric Multiprocessors. Tech. rep., University of Maryland.]] Google Scholar BAHGAT, R. 1993. Pandora: Non-Deterministic Parallel Logic Programming. Ph.D. thesis, Department of Computing, Imperial College. Published by World Scientific Publishing.]]Google Scholar BANSAL,A.AND POTTER, J. 1992. An Associative Model for Minimizing Matching and Backtracking Overhead in Logic Programs with Large Knowledge Bases. Engineering Applications of Artificial Intelligence 5, 3, 247-262.]]Google Scholar BARKLUND, J. 1990. Parallel Unification. Ph.D. thesis, Uppsala University. Uppsala Theses in Computing Science 9.]]Google Scholar BARKLUND,J.AND MILLROTH, H. 1992. Providing Iteration and Concurrency in Logic Pro-gram Through Bounded Quantifications. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 817- 824.]]Google Scholar BARON, U., CHASSIN DE KERGOMMEAUX, J., HAILPERIN, M., RATCLIFFE, M., ROBERT, P., SYRE, J.-C., AND WETPHAL, H. 1988. The Parallel ECRC Prolog System PEPSys: An Overview and Evaluation Results. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 841-850.]]Google Scholar BEAUMONT, A. 1991. Scheduling Strategies and Speculative Work. In Parallel Execution of Logic Programs, A. Beaumont and G. Gupta, Eds. Lecture Notes in Computer Science, Vol. 569. Springer-Verlag, Heidelberg, 120-131.]] Google Scholar BEAUMONT,A.AND WARREN, D. H. D. 1993. Scheduling Speculative Work in Or-Parallel Prolog Systems. In Proceedings of the International Conference on Logic Programming, D. S. Warren, Ed. MIT Press, Cambridge, MA, 135-149.]] Google Scholar BEAUMONT, A., MUTHU RAMAN, S., SZEREDI,P.,AND WARREN, D. H. D. 1991. Flexible scheduling or-parallelism in Aurora: The Bristol scheduler. In PARLE 91, Conference on Parallel Architectures and Languages Europe, E. Aarts, J. van Leeuwen, and M. Rem, Eds. LNCS, Vol. 506. Springer Verlag, Heidelberg, 421-438.]] Google Scholar BEKKERS, Y., RIDOUX,O.,AND UNGARO, L. 1992. Dynamic Memory Management for Sequential Logic Programming Languages. In Proceedings of the International Workshop on Memory Management, Y. Bekkers and J. Cohen, Eds. Springer-Verlag, Heidelberg, 82- 102.]] Google Scholar BEN-AMRAM, A. 1995. What is a Pointer Machine? Tech. rep., DIKU, University of Copenhagen.]]Google Scholar BENJUMEA,V.AND TROYA, J. 1993. An OR Parallel Prolog Model for Distributed Memory Systems. In International Symposium on Programming Languages Implementations and Logic Program-ming, M. Bruynooghe and J. Penjam, Eds. Springer-Verlag, Heidelberg, 291-301.]] Google Scholar BEVEMYR, J. 1995. A Generational Parallel Copying Garbage Collection for Shared Memory Prolog. In Workshop on Parallel Logic Programming Systems. University of Porto, Portland, OR.]]Google Scholar BEVEMYR, J., LINDGREN,T.,AND MILLROTH, H. 1993. Reform Prolog: The Language and Its Implementation. In Proceedings of the International Conference on Logic Programming, D. S. Warren, Ed. MIT Press, Cambridge, MA, 283-298.]] Google Scholar BISWAS, P., SU,S.,AND YUN, D. 1988. A Scalable Abstract Machine Model to Support Limited-OR Restricted AND parallelism in Logic Programs. In Proceedings of the International Conference and Symposium on Logic Programming, R. Kowalski and K. Bowen, Eds. MIT Press, Cambridge, MA, 1160-1179.]]Google Scholar BORGWARDT, P. 1984. Parallel Prolog Using Stack Segments on Shared Memory Multiprocessors. In International Symposium on Logic Programming. Atlantic City, IEEE Computer Society, Silver Spring, MD, 2-12.]]Google Scholar BRAND, P. 1988. Wavefront Scheduling. Tech. rep., SICS, Gigalips Project.]]Google Scholar BRIAT, J., FAVRE, M., GEYER,C.,AND CHASSIN DE KERGOMMEAUX, J. 1992. OPERA: Or-Parallel Prolog System on Supernode. In Implementations of Distributed Prolog, P. Kacsuk and M. Wise, Eds. J. Wiley & Sons, New York, 45-64.]]Google Scholar BRUYNOOGHE, M. 1991. A Framework for the Abstract Interpretation of Logic Programs. Journal of Logic Programming 10, 91-124.]] Google Scholar BUENO,F.AND HERMENEGILDO, M. 1992. An Automatic Translation Scheme from Prolog to the Andorra Kernel Language. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 759-769.]]Google Scholar BUENO, F., CABEZA, D., CARRO, M., HERMENEGILDO, M., LOPEZ-GARCIA,P.,AND PUEBLA, G. 1997. The Ciao Prolog System. Reference Manual. The Ciao System Documentation Series-TR CLIP3/97.1, School of Computer Science, Technical University of Madrid (UPM). August. System and online version of the manual available at http://clip.dia.fi.upm.es/Software/Ciao/.]]Google Scholar BUENO, F., CABEZA, D., HERMENEGILDO, M., AND PUEBLA, G. 1996. Global Analysis of Standard Prolog Programs. In European Symposium on Programming. Number 1058 in LNCS. Springer-Verlag, Sweden, 108-124.]] Google Scholar BUENO, F., DEBRAY, S., GARCIA DE LA BANDA, M., AND HERMENEGILDO, M. 1995. Transformation- Based Implementation and Optimization of Programs Exploiting the Basic Andorra Model. Technical Report CLIP11/95.0, Facultad de Informatica, UPM. May.]]Google Scholar BUENO, F., GARCIA DE LA BANDA, M., AND HERMENEGILDO, M. 1994a. A Comparative Study of Methods for Automatic Compile-Time Parallelization of Logic Programs. In Parallel Symbolic Computation. World Scientific Publishing Company, 63-73.]]Google Scholar BUENO, F., GARCIA DE LA BANDA, M., AND HERMENEGILDO, M. 1999. Effectiveness of Abstract Interpretation in Automatic Parallelization: A Case Study in Logic Programming. ACM Transactions on Programming Languages and Systems 21, 2, 189-239.]] Google Scholar BUENO, F., HERMENEGILDO, M., MONTANARI,U.,AND ROSSI, F. 1994b. From Eventual to Atomic and Locally Atomic CC Programs: A Concurrent Semantics. In Fourth International Conference on Algebraic and Logic Programming. Number 850 in LNCS. Springer-Verlag, 114-132.]] Google Scholar BUENO, F., HERMENEGILDO, M., MONTANARI,U.,AND ROSSI, F. 1998. Partial Order and Contextual Net Semantics for Atomic and Locally Atomic CC Programs. Science of Computer Programming 30, 51-82.]] Google Scholar BUTLER, R., DISZ, T., LUSK, E., OLSON, R., OVERBEEK, R., AND STEVENS, R. 1988. Scheduling Or-Parallelism: An Argonne Perspective. In Proceedings of the International Conference and Symposium on Logic Programming, R. Kowalski and K. Bowen, Eds. MIT Press, Cambridge, MA, 1565-1577.]]Google Scholar BUTLER, R., LUSK, E., MCCUNE,W.,AND OVERBEEK, R. 1986. Parallel Logic Programming for Numerical Applications. In Proceedings of the Third International Conference on Logic Programming, E. Shapiro, Ed. Springer-Verlag, Heidelberg, 357-388.]] Google Scholar CABEZA,D.AND HERMENEGILDO, M. 1994. Extracting Non-Strict Independent And-Parallelism Using Sharing and Freeness Information. In International Static Analysis Symposium,B.Le Charlier, Ed. LNCS. Springer-Verlag, Heidelberg, 297-313.]]Google Scholar CABEZA,D.AND HERMENEGILDO, M. 1996. Implementing Distributed Concurrent Constraint Execution in the CIAO System. In Proceedings of the AGP'96 Joint conference on Declarative Programming. U. of the Basque Country, San Sebastian, Spain, 67-78. Available from http://www.clip.dia.fi.upm.es/.]]Google Scholar CALDERWOOD,A.AND SZEREDI, P. 1989. Scheduling Or-Parallelism in Aurora: The Manchester Scheduler. In Proceedings of the International Conference on Logic Programming, G. Levi and M. Martelli, Eds. MIT Press, Cambridge, MA, 419-435.]]Google Scholar CALEGARIO,V.AND DUTRA, I. C. 1999. Performance Evaluation of Or-Parallel Logic Programming Systems on Distributed Shared Memory Architectures. In Proceedings of EuroPar, P. Amestoy et al., Ed. Springer-Verlag, Heidelberg, 1484-1491.]] Google Scholar CARLSSON, M., WIDEN,J.,AND BRAND, P. 1989. On the Efficiency of Optimizing Shallow Backtracking in Compiled Prolog. In Sixth International Conference on Logic Programming, G. Levi and M. Martelli, Eds. MIT Press, Cambridge, MA, 3-16.]]Google Scholar CARLSSON, M. 1990. Design and Implementation of an OR-Parallel Prolog Engine. Ph.D. thesis, Royal Institute of Technology, Stockholm.]]Google Scholar CARLSSON M., WIDEN, J., AND BRAND, P. 1995. SICStus Prolog User's Manual. Swedish Institute of Computer Science.]]Google Scholar CARRO,M.AND HERMENEGILDO, M. 1999. Concurrency in Prolog Using Threads and a Shared Database. In International Conference on Logic Programming, D. De Schreye, Ed. MIT Press, Cambridge, MA, 320-334.]] Google Scholar CARRO, M., GOMEZ, L., AND HERMENEGILDO, M. 1993. Some Event-Driven Paradigms for the Visualization of Logic Programs. In Proceedings of the International Conference on Logic Programming, D. S. Warren, Ed. MIT Press, Cambridge, MA, 184-200.]] Google Scholar CASTRO, L., SANTOS COSTA, V., GEYER, C., SILVA, F., VARGAS,P.,AND CORREIA, M. 1999. DAOS: Scalable And-Or Parallelism. In Proceedings of EuroPar, D. Pritchard and J. Reeve, Eds. Springer-Verlag, Heidelberg, 899-908.]] Google Scholar CHANG, J.-H., DESPAIN, A., AND DEGROOT, D. 1985. And-Parallelism of Logic Programs Based on Static Data Dependency Analysis. In Digest of Papers of Compcon Spring 1985. IEEE Computer Society, Los Alamitos, CA, 218-225.]]Google Scholar CHANG, S.-E. AND CHIANG, Y. 1989. Restricted AND-Parallelism Execution Model with Side-Effects. In Proceedings of the North American Conference on Logic Programming, E. Lusk and R. Overbeek, Eds. MIT Press, Cambridge, MA, 350-368.]]Google Scholar CHASSIN DE KERGOMMEAUX, J. 1989. Measures of the PEPSys Implementation on the MX500. Tech. Rep. CA-44, ECRC.]]Google Scholar CHASSIN DE KERGOMMEAUX,J.AND CODOGNET, P. 1994. Parallel logic programming systems. ACM Computing Surveys 26, 3, 295-336.]] Google Scholar CHASSIN DE KERGOMMEAUX,J.AND ROBERT, P. 1990. An Abstract Machine to Implement Or-And Parallel Prolog Efficiently. Journal of Logic Programming 8, 3, 249-264.]] Google Scholar CHIKAYAMA, T., FUJISE,T.,AND SEKITA, D. 1994. A Portable and Efficient Implementation of KL1. In Proceedings of the Symposium on Programming Languages Implementation and Logic Programming, M. Hermenegildo and J. Penjam, Eds. Springer-Verlag, Heidelberg, 25- 39.]] Google Scholar CIANCARINI, P. 1990. Blackboard Programming in Shared Prolog. In Languages and Compilers for Parallel Computing, D. Gelernter, A. Nicolau, and D. Padua, Eds. MIT Press, Cambridge, MA, 170-185.]] Google Scholar CIEPIELEWSKI, A. 1992. Scheduling in Or-Parallel Prolog Systems: Survey and Open Problems. International Journal of Parallel Programming 20, 6, 421-451.]]Google Scholar CIEPIELEWSKI,A.AND HARIDI, S. 1983. A Formal Model for OR-parallel Execution of Logic Programs. In Proceedings of IFIP, P. Mason, Ed. North Holland, Amsterdam, 299-305.]]Google Scholar CIEPIELEWSKI,A.AND HAUSMAN, B. 1986. Performance Evaluation of a Storage Model for OR-Parallel Execution of Logic Programs. In Proceedings of the Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 246-257.]]Google Scholar CLARK,K.AND GREGORY, S. 1986. Parlog: Parallel Programming in Logic. Transactions on Programming Languages and Systems 8, 1 (January), 1-49.]] Google Scholar CLOCKSIN,W.AND ALSHAWI, H. 1988. A Method for Efficiently Executing Horn Clause Programs Using Multiple Processors. New Generation Computing 5, 361-376.]] Google Scholar CODISH, M., MULKERS, A., BRUYNOOGHE, M., GARCIA DE LA BANDA, M., AND HERMENEGILDO, M. 1995. Improving Abstract Interpretations by Combining Domains. ACMTransactions on Programming Languages and Systems 17, 1, 28-44.]] Google Scholar GNET,C.AND CODOGNET, P. 1990. Non-Deterministic Stream and-Parallelism Based on Intelligent Backtracking. In Proceedings of the International Conference on Logic Programming, G. Levi and M. Martelli, Eds. MIT Press, Cambridge, MA, 63-79.]]Google Scholar GNET, C., CODOGNET,P.,AND FIL E, G. 1988. Yet Another Intelligent Backtracking Method. In Proceedings of the International Conference and Symposium on Logic Programming, R. Kowalski and K. Bowen, Eds. MIT Press, Cambridge, MA, 447-465.]]Google Scholar RY, J. 1987a. Binding Environments for Parallel Logic Programs in Nonshared Memory Multiprocessors. In International Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 457-467.]]Google Scholar CONERY, J. 1987b. Parallel Interpretation of Logic Programs. Kluwer Academic, Norwell, MA.]] Google Scholar CONERY, J. 1992. The OPAL Machine. In Implementations of Distributed Prolog, P. Kacsuk and D. S. Wise, Eds. J. Wiley & Sons, New York, 159-185.]]Google Scholar CONERY,J.AND KIBLER, D. 1981. Parallel Interpretation of Logic Programs. In Proceedings of the ACM Conference on Functional Programming Languages and Computer Architecture (1981). ACM Press, New York, 163-170.]] Google Scholar CONERY,J.AND KIBLER, D. 1983. And Parallelism in Logic Programs. In Proceedings of the International Joint Conference on AI, A. Bundy, Ed. William Kaufmann, Los Altos, CA, 539-543.]]Google Scholar CORREIA, E., SILVA,F.,AND SANTOS COSTA, V. 1997. The SBA: Exploiting Orthogonality in And-or Parallel System. In Proceedings of the International Symposium on Logic Programming, J. MaluAszynski, Ed. MIT Press, Cambridge, MA, 117-131.]] Google Scholar COUSOT,P.AND COUSOT, R. 1977. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Conference Records of the ACM Symposium on Principles of Programming Languages. ACM Press, New York, 238-252.]] Google Scholar COUSOT,P.AND COUSOT, R. 1992. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming 13, 2-3, 103-179.]] Google Scholar COX, P. 1984. Finding backtrack points for intelligent backtracking. In Implementations of Prolog, J. Campbell, Ed. Ellis Horwood, Hemel Hempstead.]]Google Scholar CRABTREE, B. 1991. A Clustering System to Network Control. Tech. rep., British Telecom.]]Google Scholar CRAMMOND, J. 1985. A Comparative Study of Unification Algorithms for Or-Parallel Execution of Logic Languages. IEEE Transactions on Computers 34, 10, 911-971.]] Google Scholar CRAMMOND, J. 1992. The Abstract Machine and Implementation of Parallel Parlog. New Genera-tion Computing 10, 4, 385-422.]]Google Scholar DE BOSSCHERE,K.AND TARAU, P. 1996. Blackboard-Based Extensions in Prolog. Software Practice & Experience 26, 1, 46-69.]] Google Scholar DEBRAY,S.AND JAIN, M. 1994. A Simple Program Transformation for Parallelism. In Proceedings of the 1994 Symposium on Logic Programming. MIT Press.]] Google Scholar DEBRAY,S.AND LIN, N. 1993. Cost Analysis of Logic Programs. ACMTransactions on Programming Languages and Systems 15, 5, 826-875.]] Google Scholar DEBRAY,S.AND WARREN, D. S. 1989. Functional Computations in Logic Programs. ACM Transactions on Programming Languages and Systems 11, 3, 451-481.]] Google Scholar DEBRAY, S., LOPEZ-GARCIA,P.,AND HERMENEGILDO, M. 1997. Non-Failure Analysis for Logic Programs. In International Conference on Logic Programming, L. Naish, Ed. MIT Press, Cambridge, MA, 48-62.]]Google Scholar DEBRAY, S., L OPEZ-GARCIA, P., HERMENEGILDO, M., AND LIN, N.-W. 1994. Estimating the Computational Cost of Logic Programs. In Static Analysis Symposium, SAS'94. Number 864 in LNCS. Springer-Verlag, Namur, Belgium, 255-265.]]Google Scholar DEBRAY, S., L OPEZ-GARCIA, P., HERMENEGILDO, M., AND LIN, N.-W. 1997. Lower Bound Cost Estimation for Logic Programs. In International Logic Programming Symposium, J. Maluszynski, Ed. MIT Press, Cambridge, MA, 291-306.]] Google Scholar DEBRAY, S. K., LIN, N.-W., AND HERMENEGILO, M. 1990. Task Granularity Analysis in Logic Programs. In Proceedings of the 1990 ACM Conference on Programming Language Design and Implementation. ACM Press, New York, 174-188.]] Google Scholar DEGROOT, D. 1984. Restricted and-Parallelism. In International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 471--478.]]Google Scholar DEGROOT, D. 1987a. A Technique for Compiling Execution Graph Expressions for Restricted AND-Parallelism in Logic Programs. In Proceedings of the 1987 International Supercomputing Conference Springer-Verlag, Athens, 80-89.]] Google Scholar DEGROOT, D. 1987b. Restricted and-Parallelism and Side-Effects. In International Symposium on Logic Programming. San Francisco, IEEE Computer Society, Los Alamitos, CA, 80-89.]]Google Scholar DELGADO-RANNAURO, S. 1992a. Or-Parallel Logic Computational Models. In Implementations of Distributed Prolog, P. Kacsuk and M. Wise, Eds. J. Wiley & Sons, New York, 3-26.]]Google Scholar DELGADO-RANNAURO, S. 1992b. Restricted And- and And/Or-Parallel Logic Computational Models. In Implementations of Distributed Prolog, P. Kacsuk and M. Wise, Eds. J. Wiley & Sons, New York, 121-141.]]Google Scholar DISZ,T.AND LUSK, E. 1987. A Graphical Tool for Observing the Behaviour of Parallel Logic Programs. In Proceedings of the Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 46-53.]]Google Scholar DISZ, T., LUSK, E., AND OVERBEEK, R. 1987. Experiments with OR-Parallel Logic Programs. In Fourth International Conference on Logic Programming, J. Lassez, Ed. University of Melbourne, MIT Press, Cambridge, MA, 576-600.]]Google Scholar DOROCHEVSKY,M.AND XU, J. 1991. Parallel Execution Tracer. Tech. rep., ECRC.]]Google Scholar DRAKOS, N. 1989. Unrestricted And-Parallel Execution of Logic Programs with Dependency Directed Backtracking. In Proceedings of the International Joint Conference on Artificial Intelligence, N. Sridharan, Ed. Morgan Kaufmann, New York, 157-162.]]Google Scholar DUTRA, I. C. 1994. Strategies for Scheduling And- and Or-Parallel Work in Parallel Logic Programming Systems. In International Logic Programming Symposium, M. Bruynooghe, Ed. MIT Press, Cambridge, MA, 289-304.]] Google Scholar DUTRA, I. C. 1995. Distributing And- and Or-Work in the Andorra-I Parallel Logic Programming System. Ph.D. thesis, University of Bristol.]]Google Scholar DUTRA, I. C. 1996. Distributing And-Work and Or-Work in Parallel Logic Programming Systems. In Proceedings of the 29th Hawaii International Conference on System Sciences. IEEE Computer Society, Los Alamitos, CA, 645-655.]] Google Scholar DUTRA,I.C.,SANTOS COSTA,V.,AND BIANCHINI, R. 2000. The Impact of Cache Coherence Protocols on Parallel Logic Programming Systems. In Proceedings of the International Conference on Computational Logic, J. Lloyd et al., Ed. Springer-Verlag, Heidelberg, 1285-1299.]] Google Scholar FERNANDEZ, M., CARRO, M., AND HERMENEGILDO, M. 1996. IDRA (IDeal Resource Allocation): Computing Ideal Speedups in Parallel Logic Programming. In Proceedings of EuroPar, L. Bouge et al., Ed. Springer-Verlag, Heidelberg, 724-733.]] Google Scholar FINKEL, R., MAREK, V., MOORE,N.,AND TRUSZCZYNSKI, M. 2001. Computing Stable Models in Parallel. In Proceedings of the AAAI Spring Symposium on Answer Set Programming, A. Provetti and S. Tran, Eds. AAAI/MIT Press, Cambridge, MA, 72-75.]]Google Scholar FONSECA, N., SANTOS COSTA,V.,AND DUTRA, I. C. 1998. VisAll: A Universal Tool to Visualize the Parallel Execution of Logic Programs. In Proceedings of the Joint International Conference and Symposium on Logic Programming, J. Jaffar, Ed. MIT Press, Cambridge, MA, 100-114.]] Google Scholar FREIRE, J., HU, R., SWIFT,T.,AND WARREN, D. S. 1995. Exploiting Parallelism in Tabled Evaluations. In Proceedings of the Symposium on Programming Languages Implementations and Logic Programming, M. Hermenegildo and S. Swierstra, Eds. Springer-Verlag, Heidelberg, 115-132.]] Google Scholar FUTO, I. 1993. Prolog with Communicating Processes: From T-Prolog to CSR-Prolog. In International Conference on Logic Programming, D. S. Warren, Ed. MIT Press, Cambridge, MA, 3-17.]] Google Scholar GANGULY, S., SILBERSCHATZ, A., AND TSUR, S. 1990. A Framework for the Parallel Processing of Datalog Queries. In Proceedings of ACMSIGMOD Conference on Management of Data, H. Garcia- Molina and H. Jagadish, Eds. ACM Press, New York.]] Google Scholar GARCIA DE LA BANDA, M. 1994. Independence, Global Analysis, and Parallelism in Dynamically Scheduled Constraint Logic Programming. Ph.D. thesis, Universidad Politecnica de Madrid.]]Google Scholar GARCIA DE LA BANDA, M., BUENO, F., HERMENEGILDO, M. 1996a. Towards Independent And-parallelism in CLP. In Proceedings of Programming Languages: Implementation, Logics and Programs. Springer Verlag, Heidelberg, 77-91.]] Google Scholar GARCIA DE LA BANDA, M., HERMENEGILDO, M., AND MARRIOTT, K. 1996b. Independence in Dynamically Scheduled Logic Languages. In Proceedings of the International Conference on Algebraic and Logic Programming, M. Hanus and M. Rodriguez-Artalejo, Eds. Springer-Verlag, Heidelberg, 47-61.]] Google Scholar GARCIA DE LA BANDA, M., HERMENEGILDO, M., AND MARRIOTT, K. 2000. Independence in CLP Languages. ACM Transactions on Programming Languages and Systems 22, 2 (March), 269-339.]] Google Scholar GIACOBAZZI,R.AND RICCI, L. 1990. Pipeline Optimizations in And-parallelism by Abstract Interpretation. In Proceedings of International Conference on Logic Programming, D. H. D. Warren and P. Szeredi, Eds. MIT Press, Cambridge, MA, 291-305.]] Google Scholar GIANNOTTI,F.AND HERMENEGILDO, M. 1991. A Technique for Recursive Invariance Detection and Selective Program Specialization. In Proceedings 3rd International Symposium on Programming Language Implementation and Logic Programming. Number 528 in LNCS. Springer-Verlag, 323-335.]]Google Scholar GREGORY,S.AND YANG, R. 1992. Parallel Constraint Solving in Andorra-I. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 843-850.]]Google Scholar GUO, H.-F. 2000. High Performance Logic Programming. Ph.D. thesis, New Mexico State University.]] Google Scholar GUO, H.-F. AND GUPTA, G. 2000. A Simple Scheme for Implementing Tabled LP Systems Based on Dynamic Reordering of Alternatives. In Proceedings of the Workshop on Tabling in Parsing and Deduction, D. S. Warren, Ed.]]Google Scholar GUPTA, G. 1994. Multiprocessor Execution of Logic Programs. Kluwer Academic Press, Dordrecht.]] Google Scholar GUPTA,G.AND JAYARAMAN, B. 1993a. Analysis of Or-Parallel Execution Models. ACMTransactions on Programming Languages and Systems 15, 4, 659-680.]] Google Scholar GUPTA,G.AND JAYARAMAN, B. 1993b. And-Or Parallelism on Shared Memory Multiprocessors. Journal of Logic Programming 17, 1, 59--89.]]Google Scholar GUPTA,G.AND PONTELLI, E. 1997. Optimization Schemas for Parallel Implementation of Nondeterministic Languages and Systems. In International Parallel Processing Symposium. IEEE Computer Society, Los Alamitos, CA.]] Google Scholar GUPTA,G.AND PONTELLI, E. 1999a. Extended Dynamic Dependent And-Parallelism in ACE. Journal of Functional and Logic Programming 99,Special Issue 1.]]Google Scholar GUPTA,G.AND PONTELLI, E. 1999b. Last Alternative Optimization for Or-Parallel Logic Programming Systems. In Parallelism and Implementation Technology for Constraint Logic Programming, I. Dutra et al., Ed. Nova Science, Commack, NY, 107--132.]]Google Scholar GUPTA,G.AND PONTELLI, E. 1999c. Stack-Splitting: A Simple Technique for Implementing Or-Parallelism and And-Parallelism on Distributed Machines. In International Conference on Logic Programming, D. De Schreye, Ed. MIT Press, Cambridge, MA, 290-304.]] Google Scholar GUPTA,G.AND SANTOS COSTA, V. 1996. Cuts and Side-Effects in And/Or Parallel Prolog. Journal of Logic Programming 27, 1, 45-71.]]Google Scholar GUPTA, G., HERMENEGILDO, M., PONTELLI, E., AND SANTOS COSTA, V. 1994. ACE: And/Or-Parallel Copying-Based Execution of Logic Programs. In Proceedings of the International Conference on Logic Programming, P. van Hentenryck, Ed. MIT Press, Cambridge, MA, 93-109.]] Google Scholar GUPTA, G., HERMENEGILDO, M., AND SANTOS COSTA, V. 1992. Generalized Stack Copying for And-Or Parallel Implementations. In JICSLP'92 Workshop on Parallel Implementations of Logic Programming Systems.]]Google Scholar GUPTA, G., HERMENEGILDO, M., AND SANTOS COSTA, V. 1993. And-Or Parallel Prolog: A Recomputation Based Approach. New Generation Computing 11, 3-4, 297-322.]] Google Scholar GUPTA,G.AND WARREN, D. H. D. 1992. An Interpreter for the Extended Andorra Model. Internal Report 92-CS-24, New Mexico State University, Department of Computer Science.]]Google Scholar GUPTA, G., SANTOS COSTA,V.,AND PONTELLI, E. 1994b. Shared Paged Binding Arrays: A Universal Data-Structure for Parallel Logic Programming. Proceedings of the NSF/ICOT Workshop on Parallel Logic Programming and its Environments, CIS-94-04, University of Oregon. Mar.]]Google Scholar GUPTA, G., SANTOS COSTA, V., YANG, R., AND HERMENEGILDO, M. 1991. IDIOM: A Model Intergrating Dependent-, Independent-, and Or-parallelism. In International Logic Programming Symposium, V. Saraswat and K. Ueda, Eds. MIT Press, Cambridge, MA, 152-166.]]Google Scholar HALSTEAD, R. 1984. Implementation of Multilisp: Lisp on a Multiprocessor. In Proceedings of the Symposium on LISP and Functional Programming. ACM Press, New York, 9-17.]] Google Scholar HARALICK,R.AND ELLIOT, G. 1980. Increasing Tree Search Efficiency for Constraint Satisfaction. Artificial Intelligence 14, 3, 263-313.]]Google Scholar HARIDI, S. 1990. A Logic Programming Language Based on the Andorra Model. New Generation Computing 7, 2/3, 109-125.]] Google Scholar HARIDI,S.AND JANSON, S. 1990. Kernel Andorra Prolog and Its Computation Model. In Proceedings of the International Conference on Logic Programming, D. H. D. Warren and P. Szeredi, Eds. MIT Press, Cambridge, MA, 31-46.]] Google Scholar HARIDI, S., VAN ROY, P., BRAND,P.,AND SCHULTE, C. 1998. Programming Languages for Distributed Applications. New Generation Computing 16, 3, 223-261.]] Google Scholar HASENBERGER, J. 1995. Modelling and Redesign the Advanced Traffic Management System in Andorra-I. In Proceedings of the Workshop on Parallel Logic Programming Systems, V. Santos Costa, Ed. University of Porto, Portland, OR.]]Google Scholar HAUSMAN, B. 1989. Pruning and scheduling speculative work in or-parallel Prolog. In Conference on Parallel Architectures and Languages Europe, E. Odijk, M. Rem, and J.-C. Syre, Eds. Springer-Verlag, Heidelberg, 133-150.]] Google Scholar HAUSMAN, B. 1990. Pruning and Speculative Work in OR-Parallel PROLOG. Ph.D. thesis, The Royal Institute of Technology, Stockholm.]]Google Scholar HAUSMAN, B., CIEPIELEWSKI, A., AND CALDERWOOD, A. 1988. Cut and Side-Effects in Or-Parallel Prolog. In International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. Springer-Verlag, Tokyo, Japan, 831-840.]]Google Scholar HAUSMAN, B., CIEPIELEWSKI, A., AND HARIDI, S. 1987. OR-Parallel Prolog Made Efficient on Shared Memory Multiprocessors. In Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 69-79.]]Google Scholar HERMENEGILDO, M. 1986a. An Abstract Machine Based Execution Model for Computer Architecture Design and Efficient Implementation of Logic Programs in Parallel. Ph.D. thesis, U. of Texas at Austin.]] Google Scholar HERMENEGILDO, M. 1986b. An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs. In Proceedings of the International Conference on Logic Programming, E. Shapiro, Ed. Springer-Verlag, Heidelberg, 25-40.]] Google Scholar HERMENEGILDO, M. 1987. Relating Goal Scheduling, Precedence, and Memory Management in And-parallel Execution of Logic Programs. In Proceedings of the Fourth International Conference on Logic Programming, MIT Press, Cambridge, MA, 556-575.]]Google Scholar HERMENEGILDO, M. 1994. A Simple, Distributed Version of the &-Prolog System. Technical report, School of Computer Science, Technical University of Madrid (UPM), Facultad Informatica UPM, 28660-Boadilla del Monte, Madrid, Spain. April. Available from http://www.clip.dia.fi.upm.es/.]]Google Scholar HERMENEGILDO, M. 2000. Parallelizing Irregular and Pointer-Based Computations Automatically: Perspectives from Logic and Constraint Programming. Parallel Computing 26, 13-14, 1685-1708.]] Google Scholar HERMENEGILDO, M., BUENO, F., CABEZA, D., CARRO, M., GARCIA DE LA BANDA, M., LOPEZ-GARCIA,P.,AND PUEBLA, G. 1999a. The CIAO Multi-Dialect Compiler and System: An Experimentation Work-bench for Future (C)LP Systems. In Parallelism and Implementation of Logic and Constraint Logic Programming. Nova Science, Commack, NY, 65-85.]]Google Scholar HERMENEGILDO, M., BUENO, F., PUEBLA,G.,AND LOPEZ-GARCIA, P. 1999b. Program Analysis, Debugging and Optimization Using the Ciao System Preprocessor. In 1999 International Conference on Logic Programming. MIT Press, Cambridge, MA, 52-66.]] Google Scholar HERMENEGILDO, M., CABEZA,D.,AND CARRO, M. 1995. Using Attributed Variables in the Implementation of Parallel and Concurrent Logic Programming Systems. In Proceedings of the International Conference on Logic Programming, L. Sterling, Ed. MIT Press, Cambridge, MA, 631- 645.]]Google Scholar HERMENEGILDO,M.AND CARRO, M. 1996. Relating Data-Parallelism and (And-) Parallelism in Logic Programs. The Computer Languages Journal 22, 2/3 (July), 143-163.]]Google Scholar HERMENEGILDO,M.AND CLIP GROUP, T. 1994. Some Methodological Issues in the Design of CIAO A Generic, Parallel, Concurrent Constraint System. In Principles and Practice of Constraint Programming. Number 874 in LNCS. Springer-Verlag, 123-133.]] Google Scholar HERMENEGILDO,M.AND GREENE, K. 1991. The &-Prolog System: Exploiting Independent And-Parallelism. New Generation Computing 9, 3-4, 233-257.]]Google Scholar HERMENEGILDO,M.AND LOPEZ-GARCIA, P. 1995. Efficient Term Size Computation for Granularity Control. In Proceedings of the International Conference on Logic Programming, L. Sterling, Ed. MIT Press, Cambridge, MA, 647-661.]]Google Scholar HERMENEGILDO,M.AND NASR, R. I. 1986. Efficient Management of Backtracking in AND-Parallelism. In Third International Conference on Logic Programming, E. Shapiro, Ed. Number 225 in Lecture Notes in Computer Science. Springer-Verlag, Heidelberg, 40-54.]] Google Scholar HERMENEGILDO, M., PUEBLA, G., MARRIOTT, K., AMSA Google ScholarSince the early days of logic programming, researchers in the field realized the potential for exploitation of parallelism present in the execution of logic programs. Their high-level nature, the presence of nondeterminism, and their referential transparency, among other characteristics, make logic programs interesting candidates for obtaining speedups through parallel execution. At the same time, the fact that the typical applications of logic programming frequently involve irregular computations, make heavy use of dynamic data structures with logical variables, and involve search and speculation, makes the techniques used in the corresponding parallelizing compilers and run-time systems potentially interesting even outside the field. The objective of this article is to provide a comprehensive survey of the issues arising in parallel execution of logic programming languages along with the most relevant approaches explored to date in the field. Focus is mostly given to the challenges emerging from the parallel execution of Prolog programs. The article describes the major techniques used for shared memory implementation of Or-parallelism, And-parallelism, and combinations of the two. We also explore some related issues, such as memory management, compile-time analysis, and execution visualization.