skip to main content
article
Open Access

Parallel execution of prolog programs: a survey

Published:01 July 2001Publication History
Skip Abstract Section

Abstract

Since 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.

References

  1. AIKAWA, 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 ScholarGoogle Scholar
  2. AyT-KACI, H. 1991. Warren's Abstract Machine: A Tutorial Reconstruction. MIT Press, Cambridge, MA. www.isg.sfu.ca/hak/documents/wam.html.]] Google ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. ALI,K.AND KARLSSON, R. 1990a. Full Prolog and Scheduling Or-Parallelism in Muse. International Journal of Parallel Programming 19, 6, 445-475.]] Google ScholarGoogle Scholar
  7. ALI,K.AND KARLSSON, R. 1990b. The MUSEApproach to Or-Parallel Prolog. International Journal of Parallel Programming 19, 2, 129-162.]] Google ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. ALI,K.AND KARLSSON, R. 1992b. Scheduling Speculative Work in MUSEand Performance Results. International Journal of Parallel Programming 21,6.]]Google ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. ALMASI,G.AND GOTTLIEB, A. 1994. Highly Parallel Computing. Benjamin/Cummings, San Francisco, CA.]] Google ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. ARAUJO,L.AND RUZ, J. 1998. A Parallel Prolog System for Distributed Memory. Journal of Logic Programming 33, 1, 49-79.]]Google ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. BAHGAT, R. 1993. Pandora: Non-Deterministic Parallel Logic Programming. Ph.D. thesis, Department of Computing, Imperial College. Published by World Scientific Publishing.]]Google ScholarGoogle Scholar
  16. 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 ScholarGoogle Scholar
  17. BARKLUND, J. 1990. Parallel Unification. Ph.D. thesis, Uppsala University. Uppsala Theses in Computing Science 9.]]Google ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle Scholar
  24. BEN-AMRAM, A. 1995. What is a Pointer Machine? Tech. rep., DIKU, University of Copenhagen.]]Google ScholarGoogle Scholar
  25. 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 ScholarGoogle Scholar
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. BRAND, P. 1988. Wavefront Scheduling. Tech. rep., SICS, Gigalips Project.]]Google ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar
  32. BRUYNOOGHE, M. 1991. A Framework for the Abstract Interpretation of Logic Programs. Journal of Logic Programming 10, 91-124.]] Google ScholarGoogle Scholar
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle Scholar
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle Scholar
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle Scholar
  43. 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 ScholarGoogle Scholar
  44. 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 ScholarGoogle Scholar
  45. 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 ScholarGoogle Scholar
  46. 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 ScholarGoogle Scholar
  47. 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 ScholarGoogle Scholar
  48. CARLSSON, M. 1990. Design and Implementation of an OR-Parallel Prolog Engine. Ph.D. thesis, Royal Institute of Technology, Stockholm.]]Google ScholarGoogle Scholar
  49. CARLSSON M., WIDEN, J., AND BRAND, P. 1995. SICStus Prolog User's Manual. Swedish Institute of Computer Science.]]Google ScholarGoogle Scholar
  50. 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 ScholarGoogle Scholar
  51. 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 ScholarGoogle Scholar
  52. 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 ScholarGoogle Scholar
  53. 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 ScholarGoogle Scholar
  54. 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 ScholarGoogle Scholar
  55. CHASSIN DE KERGOMMEAUX, J. 1989. Measures of the PEPSys Implementation on the MX500. Tech. Rep. CA-44, ECRC.]]Google ScholarGoogle Scholar
  56. CHASSIN DE KERGOMMEAUX,J.AND CODOGNET, P. 1994. Parallel logic programming systems. ACM Computing Surveys 26, 3, 295-336.]] Google ScholarGoogle Scholar
  57. 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 ScholarGoogle Scholar
  58. 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 ScholarGoogle Scholar
  59. 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 ScholarGoogle Scholar
  60. CIEPIELEWSKI, A. 1992. Scheduling in Or-Parallel Prolog Systems: Survey and Open Problems. International Journal of Parallel Programming 20, 6, 421-451.]]Google ScholarGoogle Scholar
  61. 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 ScholarGoogle Scholar
  62. 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 ScholarGoogle Scholar
  63. CLARK,K.AND GREGORY, S. 1986. Parlog: Parallel Programming in Logic. Transactions on Programming Languages and Systems 8, 1 (January), 1-49.]] Google ScholarGoogle Scholar
  64. CLOCKSIN,W.AND ALSHAWI, H. 1988. A Method for Efficiently Executing Horn Clause Programs Using Multiple Processors. New Generation Computing 5, 361-376.]] Google ScholarGoogle Scholar
  65. 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 ScholarGoogle Scholar
  66. 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 ScholarGoogle Scholar
  67. 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 ScholarGoogle Scholar
  68. 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 ScholarGoogle Scholar
  69. CONERY, J. 1987b. Parallel Interpretation of Logic Programs. Kluwer Academic, Norwell, MA.]] Google ScholarGoogle Scholar
  70. 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 ScholarGoogle Scholar
  71. 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 ScholarGoogle Scholar
  72. 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 ScholarGoogle Scholar
  73. 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 ScholarGoogle Scholar
  74. 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 ScholarGoogle Scholar
  75. COUSOT,P.AND COUSOT, R. 1992. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming 13, 2-3, 103-179.]] Google ScholarGoogle Scholar
  76. COX, P. 1984. Finding backtrack points for intelligent backtracking. In Implementations of Prolog, J. Campbell, Ed. Ellis Horwood, Hemel Hempstead.]]Google ScholarGoogle Scholar
  77. CRABTREE, B. 1991. A Clustering System to Network Control. Tech. rep., British Telecom.]]Google ScholarGoogle Scholar
  78. 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 ScholarGoogle Scholar
  79. CRAMMOND, J. 1992. The Abstract Machine and Implementation of Parallel Parlog. New Genera-tion Computing 10, 4, 385-422.]]Google ScholarGoogle Scholar
  80. DE BOSSCHERE,K.AND TARAU, P. 1996. Blackboard-Based Extensions in Prolog. Software Practice & Experience 26, 1, 46-69.]] Google ScholarGoogle Scholar
  81. DEBRAY,S.AND JAIN, M. 1994. A Simple Program Transformation for Parallelism. In Proceedings of the 1994 Symposium on Logic Programming. MIT Press.]] Google ScholarGoogle Scholar
  82. DEBRAY,S.AND LIN, N. 1993. Cost Analysis of Logic Programs. ACMTransactions on Programming Languages and Systems 15, 5, 826-875.]] Google ScholarGoogle Scholar
  83. DEBRAY,S.AND WARREN, D. S. 1989. Functional Computations in Logic Programs. ACM Transactions on Programming Languages and Systems 11, 3, 451-481.]] Google ScholarGoogle Scholar
  84. 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 ScholarGoogle Scholar
  85. 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 ScholarGoogle Scholar
  86. 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 ScholarGoogle Scholar
  87. 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 ScholarGoogle Scholar
  88. DEGROOT, D. 1984. Restricted and-Parallelism. In International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 471--478.]]Google ScholarGoogle Scholar
  89. 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 ScholarGoogle Scholar
  90. 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 ScholarGoogle Scholar
  91. 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 ScholarGoogle Scholar
  92. 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 ScholarGoogle Scholar
  93. 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 ScholarGoogle Scholar
  94. 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 ScholarGoogle Scholar
  95. DOROCHEVSKY,M.AND XU, J. 1991. Parallel Execution Tracer. Tech. rep., ECRC.]]Google ScholarGoogle Scholar
  96. 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 ScholarGoogle Scholar
  97. 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 ScholarGoogle Scholar
  98. DUTRA, I. C. 1995. Distributing And- and Or-Work in the Andorra-I Parallel Logic Programming System. Ph.D. thesis, University of Bristol.]]Google ScholarGoogle Scholar
  99. 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 ScholarGoogle Scholar
  100. 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 ScholarGoogle Scholar
  101. 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 ScholarGoogle Scholar
  102. 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 ScholarGoogle Scholar
  103. 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 ScholarGoogle Scholar
  104. 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 ScholarGoogle Scholar
  105. 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 ScholarGoogle Scholar
  106. 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 ScholarGoogle Scholar
  107. 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 ScholarGoogle Scholar
  108. 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 ScholarGoogle Scholar
  109. 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 ScholarGoogle Scholar
  110. 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 ScholarGoogle Scholar
  111. 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 ScholarGoogle Scholar
  112. 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 ScholarGoogle Scholar
  113. 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 ScholarGoogle Scholar
  114. GUO, H.-F. 2000. High Performance Logic Programming. Ph.D. thesis, New Mexico State University.]] Google ScholarGoogle Scholar
  115. 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 ScholarGoogle Scholar
  116. GUPTA, G. 1994. Multiprocessor Execution of Logic Programs. Kluwer Academic Press, Dordrecht.]] Google ScholarGoogle Scholar
  117. GUPTA,G.AND JAYARAMAN, B. 1993a. Analysis of Or-Parallel Execution Models. ACMTransactions on Programming Languages and Systems 15, 4, 659-680.]] Google ScholarGoogle Scholar
  118. GUPTA,G.AND JAYARAMAN, B. 1993b. And-Or Parallelism on Shared Memory Multiprocessors. Journal of Logic Programming 17, 1, 59--89.]]Google ScholarGoogle Scholar
  119. 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 ScholarGoogle Scholar
  120. GUPTA,G.AND PONTELLI, E. 1999a. Extended Dynamic Dependent And-Parallelism in ACE. Journal of Functional and Logic Programming 99,Special Issue 1.]]Google ScholarGoogle Scholar
  121. 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 ScholarGoogle Scholar
  122. 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 ScholarGoogle Scholar
  123. 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 ScholarGoogle Scholar
  124. 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 ScholarGoogle Scholar
  125. 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 ScholarGoogle Scholar
  126. 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 ScholarGoogle Scholar
  127. 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 ScholarGoogle Scholar
  128. 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 ScholarGoogle Scholar
  129. 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 ScholarGoogle Scholar
  130. 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 ScholarGoogle Scholar
  131. HARALICK,R.AND ELLIOT, G. 1980. Increasing Tree Search Efficiency for Constraint Satisfaction. Artificial Intelligence 14, 3, 263-313.]]Google ScholarGoogle Scholar
  132. HARIDI, S. 1990. A Logic Programming Language Based on the Andorra Model. New Generation Computing 7, 2/3, 109-125.]] Google ScholarGoogle Scholar
  133. 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 ScholarGoogle Scholar
  134. HARIDI, S., VAN ROY, P., BRAND,P.,AND SCHULTE, C. 1998. Programming Languages for Distributed Applications. New Generation Computing 16, 3, 223-261.]] Google ScholarGoogle Scholar
  135. 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 ScholarGoogle Scholar
  136. 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 ScholarGoogle Scholar
  137. HAUSMAN, B. 1990. Pruning and Speculative Work in OR-Parallel PROLOG. Ph.D. thesis, The Royal Institute of Technology, Stockholm.]]Google ScholarGoogle Scholar
  138. 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 ScholarGoogle Scholar
  139. 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 ScholarGoogle Scholar
  140. 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 ScholarGoogle Scholar
  141. 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 ScholarGoogle Scholar
  142. 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 ScholarGoogle Scholar
  143. 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 ScholarGoogle Scholar
  144. HERMENEGILDO, M. 2000. Parallelizing Irregular and Pointer-Based Computations Automatically: Perspectives from Logic and Constraint Programming. Parallel Computing 26, 13-14, 1685-1708.]] Google ScholarGoogle Scholar
  145. 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 ScholarGoogle Scholar
  146. 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 ScholarGoogle Scholar
  147. 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 ScholarGoogle Scholar
  148. 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 ScholarGoogle Scholar
  149. 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 ScholarGoogle Scholar
  150. HERMENEGILDO,M.AND GREENE, K. 1991. The &-Prolog System: Exploiting Independent And-Parallelism. New Generation Computing 9, 3-4, 233-257.]]Google ScholarGoogle Scholar
  151. 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 ScholarGoogle Scholar
  152. 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 ScholarGoogle Scholar
  153. HERMENEGILDO, M., PUEBLA, G., MARRIOTT, K., AND STUCKEY, P. 2000. Incremental Analysis of Constraint Logic Programs. ACM Transactions on Programming Languages and Systems 22,2 (March), 187-223.]] Google ScholarGoogle Scholar
  154. HERMENEGILDO,M.AND ROSSI, F. 1995. Strict and Non-Strict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions. Journal of Logic Programming 22, 1, 1-45.]]Google ScholarGoogle Scholar
  155. HERMENEGILDO,M.AND TICK, E. 1989. Memory Performance of AND-Parallel Prolog on Shared- Memory Architectures. New Generation Computing 7, 1 (October), 37-58.]] Google ScholarGoogle Scholar
  156. HERMENEGILDO,M.AND WARREN, R. 1987. Designing a High-Performance Parallel Logic Programming System. Computer Architecture News, Special Issue on Parallel Symbolic Programming 15,1 (March), 43-53.]] Google ScholarGoogle Scholar
  157. HERMENEGILDO, M., WARREN, R., AND DEBRAY, S. 1992. Global Flow Analysis as a Practical Compilation Tool. Journal of Logic Programming 13, 4, 349-367.]] Google ScholarGoogle Scholar
  158. HEROLD, A. 1995. The Handbook of Parallel Constraint Logic Programming Applications. Tech. Rep., ECRC.]]Google ScholarGoogle Scholar
  159. HERRARTE,V.AND LUSK, E. 1991. Studying Parallel Program Behaviours with Upshot. Tech. Rep. ANL-91/15, Argonne National Labs.]]Google ScholarGoogle Scholar
  160. HICKEY,T.AND MUDAMBI, S. 1989. Global Compilation of Prolog. Journal of Logic Programming 7, 3, 193-230.]] Google ScholarGoogle Scholar
  161. HIRATA, K., YAMAMOTO, R., IMAI, A., KAWAI, H., HIRANO, K., TAKAGI, T., TAKI, K., NAKASE, A., AND ROKUSAWA, K. 1992. Parallel and Distributed Implementation of Logic Programming Language KL1. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. Ohmsha Ltd., Tokyo, Japan, 436-459.]]Google ScholarGoogle Scholar
  162. IQSoft Inc. 1992. CUBIQ - Development and Application of Logic Programming Tools for Knowledge Based Systems. IQSoft Inc. www.iqsoft.hu/projects/cubiq/cubiq.html.]]Google ScholarGoogle Scholar
  163. JACOBS,D.AND LANGEN, A. 1992. Static Analysis of Logic Programs for Independent And-Parallelism. Journal of Logic Programming 13, 1-4, 291-314.]] Google ScholarGoogle Scholar
  164. JANAKIRAM, V., AGARWAL,D.,AND MALHOTRA, R. 1988. A Randomized Parallel Backtracking Algorithm. IEEE Transactions on Computers 37, 12, 1665-1676.]] Google ScholarGoogle Scholar
  165. JANSON,S.AND MONTELIUS, J. 1991. A Sequential Implementation of AKL. In Proceedings of ILPS'91 Workshop on Parallel Execution of Logic Programs.]]Google ScholarGoogle Scholar
  166. KACSUK, P. 1990. Execution Models of Prolog for Parallel Computers. MIT Press, Cambridge, MA.]] Google ScholarGoogle Scholar
  167. KACSUK,P.AND WISE, M. 1992. Implementation of Distributed Prolog. J. Wiley & Sons., New York.]] Google ScholarGoogle Scholar
  168. KALE, L. 1985. Parallel Architectures for Problem Solving. Ph.D. thesis, SUNY Stony Brook, Dept. Computer Science.]] Google ScholarGoogle Scholar
  169. KALE, L. 1991. The REDUCE OR Process Model for Parallel Execution of Logic Programming. Journal of Logic Programming 11, 1, 55-84.]] Google ScholarGoogle Scholar
  170. KALE, L., RAMKUMAR,B.,AND SHU, W. 1988a. A Memory Organization Independent Binding Environment for AND and OR Parallel Execution of Logic Programs. In Proceedings of the Fifth International Conference and Symposium on Logic Programs, R. Kowalski and K. Bowen, Eds. MIT Press, Cambridge, MA, 1223-1240.]]Google ScholarGoogle Scholar
  171. KALE,L.V.,PADUA,D.A.,AND SEHR, D. C. 1988b. Or-Parallel Execution of Prolog with Side Effects. Journal of Supercomputing 2, 2, 209-223.]]Google ScholarGoogle Scholar
  172. KARLSSON, R. 1992. A High Performance Or-Parallel Prolog System. Ph.D. thesis, Royal Institute of Technology, Stockholm.]]Google ScholarGoogle Scholar
  173. KASIF, S., KOHLI, M., AND MINKER, J. 1983. PRISM: A Parallel Inference System for Problem Solving. In Proceedings of the 8th International Joint Conference on Artificial Intelligence (1983), A. Bundy, Ed. Morgan Kaufman, San Francisco, CA, 544-546.]]Google ScholarGoogle Scholar
  174. KING, A., SHEN, K., AND BENOY, F. 1997. Lower-Bound Time-Complexity Analysis of Logic Programs. In Proceedings of the International Logic Programming Symposium, J. Maluszynski, Ed. MIT Press, Cambridge, MA, 261-276.]] Google ScholarGoogle Scholar
  175. KLUZNIAK, F. 1990. Developing Applications for Aurora Or-Parallel System. Tech. Rep. TR-90-17, Dept. of Computer Science, University of Bristol.]]Google ScholarGoogle Scholar
  176. KOWALSKI, R. 1979. Logic for Problem Solving. Elsevier North-Holland, Amsterdam.]] Google ScholarGoogle Scholar
  177. KUSALIK,A.AND PRESTWICH, S. 1996. Visualizing Parallel Logic Program Execution for Performance Tuning. In Proceedings of Joint International Conference and Symposium on Logic Programming, M. Maher, Ed. MIT Press, Cambridge, MA, 498--512.]]Google ScholarGoogle Scholar
  178. LAMMA, E., MELLO, P., STEFANELLI,C.,AND HENTENRYCK, P. V. 1997. Improving Distributed Unification Through Type Analysis. In Proceedings of Euro-Par 1997. LNCS, Vol. 1300. Springer- Verlag, 1181-1190.]] Google ScholarGoogle Scholar
  179. LE HUITOUZE, S. 1990. A new data structure for implementing extensions to Prolog. In Symposium on Programming Languages Implementation and Logic Programming, P. Deransart and J. MalAuszynski, Eds. Springer-Verlag, Heidelberg, 136-150.]] Google ScholarGoogle Scholar
  180. LIN, Y. J. 1988. A Parallel Implementation of Logic Programs. Ph.D. thesis, Dept. of Computer Science, University of Texas at Austin, Austin, TX.]] Google ScholarGoogle Scholar
  181. LIN,Y.J.AND KUMAR, V. 1988. AND-Parallel Execution of Logic Programs on a Shared Memory Multiprocessor: A Summary of Results. In Fifth International Conference and Symposium on Logic Programming, R. Kowalski and K. Bowen, Eds. MIT Press, Cambridge, MA, 1123- 1141.]]Google ScholarGoogle Scholar
  182. LINDGREN, T. 1993. The Compilation and Execution of Recursion Parallel Logic Programs for Shared Memory Multiprocessors. Ph.D. thesis, Uppsala University.]]Google ScholarGoogle Scholar
  183. LINDGREN, T., BEVEMYR,J.,AND MILLROTH, H. 1995. Compiler Optimizations in Reform Prolog: Eperiments on the KSR-1 Multiprocessor. In Proceedings of EuroPar, S. Haridi and P. Magnusson, Eds. Springer-Verlag, Heidelberg, 553-564.]] Google ScholarGoogle Scholar
  184. LINDSTROM, G. 1984. Or-Parallelism on Applicative Architectures. In International Logic Pro-gramming Conference, S. Tarnlund, Ed. Uppsala University, Uppsala, 159-170.]]Google ScholarGoogle Scholar
  185. LLOYD, J. 1987. Foundations of Logic Programming. Springer-Verlag, Heidelberg.]] Google ScholarGoogle Scholar
  186. LOPES,R.AND SANTOS COSTA, V. 1999. The BEAM: Towards a First EAM Implementation. In Parallelism and Implementation Technology for Constraint Logic Programming, I. Dutra et al., Ed. Nova Science, Commack, NY, 87-106.]]Google ScholarGoogle Scholar
  187. LOPEZ-GARCA, P., HERMENEGILDO, M., AND DEBRAY, S. 1996. A Methodology for Granularity Based Control of Parallelism in Logic Programs. Journal of Symbolic Computation, Special Issue on Parallel Symbolic Computation 22, 715-734.]] Google ScholarGoogle Scholar
  188. LUSK, E., BUTLER, R., DISZ, T., OLSON, R., STEVENS, R., WARREN,D.H.D.,CALDERWOOD, A., SZEREDI, P. , BRAND, P., CARLSSON, M., CIEPIELEWSKI, A., HAUSMAN,B.,AND HARIDI, S. 1990. The Aurora Or-Parallel Prolog System. New Generation Computing 7, 2/3, 243-271.]] Google ScholarGoogle Scholar
  189. LUSK, E., MUDAMBI, S., OVERBEEK, R., AND SZEREDI, P. 1993. Applications of the Aurora Parallel Prolog System to Computational Molecular Biology. In Proceedings of the International Logic Programming Symposium, D. Miller, Ed. MIT Press, Cambridge, MA, 353-369.]] Google ScholarGoogle Scholar
  190. MASUZAWA, H., KUMON, K., ITASHIKI, A., SATOH, K., AND SOHMA, Y. 1986. KABU-WAKE: A New Parallel Inference Method and Its Evaluation. In Proceedings of the Fall Joint Computer Conference. IEEE Computer Society, Los Alamitos, CA, 955-962.]] Google ScholarGoogle Scholar
  191. MILLROTH, H. 1990. Reforming Compilation of Logic Programs. Ph.D. thesis, Uppsala University.]]Google ScholarGoogle Scholar
  192. MONTELIUS, J. 1997. Exploiting Fine-Grain Parallelism in Concurrent Constraint Languages. Ph.D. thesis, Uppsala University.]]Google ScholarGoogle Scholar
  193. MONTELIUS,J.AND ALI, K. 1996. A Parallel Implementation of AKL. New Generation Computing 14, 1, 31-52.]] Google ScholarGoogle Scholar
  194. MONTELIUS,J.AND HARIDI, S. 1997. An Evaluation of Penny: A System for Fine Grain Implicit Parallelism. In International Symposium on Parallel Symbolic Computation. ACM Press, New York, 46-57.]] Google ScholarGoogle Scholar
  195. MOOLENAAR,R.AND DEMOEN, B. 1993. A Parallel Implementation for AKL. In Proceedings of the Conference on Programming Languages Implementation and Logic Programming, M. Bruynooghe and J. Penjam, Eds. Number 714 in LNCS. Springer-Verlag, Heidelberg, 246-261.]] Google ScholarGoogle Scholar
  196. MUDAMBI, S. 1991. Performance of Aurora on NUMA Machines. In Proceedings of the International Logic Programming Symposium, V. Saraswat and K. Ueda, Eds. MIT Press, Cambridge, MA, 793-806.]]Google ScholarGoogle Scholar
  197. MUDAMBI,S.AND SCHIMPF, J. 1994. Parallel CLP on Heterogenous Networks. In Proceedings of the International Conference on Logic Programming, P. V. Hentenryck, Ed. MIT Press, Cambridge, MA, 124-141.]] Google ScholarGoogle Scholar
  198. MUTHUKUMAR,K.AND HERMENEGILDO, M. 1989. Efficient Methods for Supporting Side Effects in Independent And-Parallelism and Their Backtracking Semantics. In Proceedings of the International Conference on Logic Programming, G. Levi and M. Martelli, Eds. MIT Press, Cambridge, MA, 80-97.]]Google ScholarGoogle Scholar
  199. MUTHUKUMAR,K.AND HERMENEGILDO, M. 1990. The CDG, UDG, and MEL Methods for Automatic Compile-Time Parallelization of Logic Programs for Independent And-Parallelism. In 1990 International Conference on Logic Programming, D. H. D. Warren and P. Szeredi, Eds. MIT Press, Cambridge, MA, 221-237.]] Google ScholarGoogle Scholar
  200. MUTHUKUMAR,K.AND HERMENEGILDO, M. 1991. Combined Determination of Sharing and Freeness of Program Variables Through Abstract Interpretation. In Proceedings of the International Conference on Logic Programming, K. Furukawa, Ed. MIT Press, Cambridge, MA, 49-63.]]Google ScholarGoogle Scholar
  201. MUTHUKUMAR,K.AND HERMENEGILDO, M. 1992. Compile-Time Derivation of Variable Dependency Using Abstract Interpretation. Journal of Logic Programming 13, 2/3 (July), 315--347.]] Google ScholarGoogle Scholar
  202. MUTHUKUMAR, K., BUENO, F., GARCIA DE LA BANDA, M., AND HERMENEGILDO, M. 1999. Automatic Compile-Time Parallelization of Logic Programs for Restricted, Goal-Level, Independent And- Parallelism. Journal of Logic Programming 38, 2, 165-218.]]Google ScholarGoogle Scholar
  203. NAISH, L. 1988. Parallelizing NU-Prolog. In Proceedings of the International Conference and Symposium on Logic Programming, R. Kowalski and K. Bowen, Eds. MIT Press, Cambridge, MA, 1546-1564.]]Google ScholarGoogle Scholar
  204. NGUYEN,T.AND DEVILLE, Y. 1998. A Distributed Arc-Consistency Algorithm. Science of Computer Programming 30, 1-2, 227-250.]] Google ScholarGoogle Scholar
  205. OHWADA, H., NISHIYAMA, H., AND MIZOGUCHI, F. 2000. Concurrent Execution of Optimal Hypothesis Search for Inverse Entailment. In Proceedings of the Inductive Logic Programming Conference, J. Cussens and A. Frisch, Eds. Springer-Verlag, Heidelberg, 165-183.]] Google ScholarGoogle Scholar
  206. OLDER,W.AND RUMMELL, J. 1992. An Incremental Garbage Collector for WAM-Based Prolog. In Proceedings of the Joint International Conference and Symposium on Logic Programming, K. Apt, Ed. MIT Press, Cambridge, MA, 369-383.]]Google ScholarGoogle Scholar
  207. OLMEDILLA, M., BUENO,F.,AND HERMENEGILDO, M. 1993. Automatic Exploitation of Non-Determinate Independent And-Parallelism in the Basic Andorra Model. In Logic Program Syn-thesis and Transformation, 1993. Workshops in Computing. Springer-Verlag, 177-195.]]Google ScholarGoogle Scholar
  208. OZAWA, T., HOSOI, A., AND HATTORI, A. 1990. Generation Type Garbage Collection for Parallel Logic Languages. In Proceedings of the North American Conference on Logic Programming, S. Debray and M. Hermenegildo, Eds. MIT Press, Cambridge, MA, 291-305.]] Google ScholarGoogle Scholar
  209. PAGE, D. 2000. ILP: Just Do It. In Proceedings of the Inductive Logic Programming Conference, J. Cussens and A. Frisch, Eds. Springer-Verlag, Heidelberg, 21-39.]] Google ScholarGoogle Scholar
  210. PALMER,D.AND NAISH, L. 1991. NUA Prolog: An Extension of the WAM for Parallel Andorra. In Proceedings of the International Conference on Logic Programming, K. Furukawa, Ed. MIT Press, Cambridge, MA, 429-442.]]Google ScholarGoogle Scholar
  211. PEREIRA, L. M., MONTEIRO, L., CUNHA,J.,AND APARyCIO, J. N. 1986. Delta Prolog: A Distributed Backtracking Extension with Events. In Third International Conference on Logic Programming. Number 225 in Lecture Notes in Computer Science. Imperial College, Springer-Verlag, Heidelberg, 69-83.]] Google ScholarGoogle Scholar
  212. PERRON, L. 1999. Search Procedures and Parallelism in Constraint Programming. In Proceedings of the International Conference on Principles and Practice of Constraint Programming, J. Jaffar, Ed. LNCS, Vol. 1713. Springer-Verlag, Heidelberg, 346-360.]] Google ScholarGoogle Scholar
  213. PETERSON,J.AND SILBERSCHATZ, A. 1986. Operating Systems Concepts. Addison-Wesley, Boston, MA.]] Google ScholarGoogle Scholar
  214. PITTOMVILS, E., BRUYNOOGHE, M., AND WILLEMS, Y. 1985. Towards a Real-Time Garbage Collector for Prolog. In Proceedings of the Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 185-198.]]Google ScholarGoogle Scholar
  215. POLLARD, G. H. 1981. Parallel Execution of Horn Clause Programs. Ph.D. thesis, Imperial College, London. Dept. of Computing.]]Google ScholarGoogle Scholar
  216. PONTELLI, E. 1997. High-Performance Parallel Logic Programming. Ph.D. thesis, New Mexico State University.]]Google ScholarGoogle Scholar
  217. PONTELLI, E. 2000. Concurrent Web Programming in CLP(WEB). In 23rd Hawaian International Conference of Computers and Systems Science. IEEE Computer Society, Los Alamitos, CA.]] Google ScholarGoogle Scholar
  218. PONTELLI,E.AND EL-KATHIB, O. 2001. Construction and Optimization of a Parallel Engine for Answer Set Programming. In Practical Aspects of Declarative Languages, I. V. Ramakrishnan, Ed. LNCS, Vol. 1990. Springer-Verlag, Heidelberg, 288-303.]] Google ScholarGoogle Scholar
  219. PONTELLI,E.AND GUPTA, G. 1995a. Data And-Parallel Logic Programming in &ACE. In Proceedings of the Symposium on Parallel and Distributed Processing. IEEE Computer Society, Los Alamitos, CA, 424-431.]] Google ScholarGoogle Scholar
  220. PONTELLI,E.AND GUPTA, G. 1995b. On the Duality Between And-Parallelism and Or-Parallelism. In Proceedings of EuroPar, S. Haridi and P. Magnusson, Eds. Springer-Verlag, Heidelberg, 43-54.]] Google ScholarGoogle Scholar
  221. PONTELLI,E.AND GUPTA, G. 1997a. Implementation Mechanisms for Dependent And-Parallelism. In Proceedings of the International Conference on Logic Programming, L. Naish, Ed. MIT Press, Cambridge, MA, 123-137.]]Google ScholarGoogle Scholar
  222. PONTELLI,E.AND GUPTA, G. 1997b. Parallel Symbolic Computation with ACE. Annals of AI and Mathematics 21, 2-4, 359-395.]] Google ScholarGoogle Scholar
  223. PONTELLI,E.AND GUPTA, G. 1998. Efficient Backtracking in And-Parallel Implementations of Non-Deterministic Languages. In Proceedings of the International Conference on Parallel Processing, T. Lai, Ed. IEEE Computer Society, Los Alamitos, CA, 338--345.]] Google ScholarGoogle Scholar
  224. PONTELLI, E., GUPTA,G.,AND HERMENEGILDO, M. 1995. &ACE: A High-Performance Parallel Prolog System. In Proceedings of the International Parallel Processing Symposium. IEEE Computer Society, Los Alamitos, CA, 564-571.]] Google ScholarGoogle Scholar
  225. PONTELLI, E., GUPTA, G., PULVIRENTI,F.,AND FERRO, A. 1997a. Automatic Compile-Time Parallelization of Prolog Programs for Dependent And-Parallelism. In International Conference on Logic Programming, L. Naish, Ed. MIT Press, Cambridge, MA, 108-122.]]Google ScholarGoogle Scholar
  226. PONTELLI, E., GUPTA, G., TANG, D., CARRO, M., AND HERMENEGILDO, M. 1996. Improving the Efficiency of Non-Deterministic Independent And-Parallel Systems. Computer Languages 22, 2/3, 115-142.]]Google ScholarGoogle Scholar
  227. PONTELLI, E., GUPTA, G., WIEBE,J.,AND FARWELL, D. 1998. Natural Language Multiprocessing: A Case Study. In Proceedings of the Fifteenth National Conference on Artifical Intelligence. AAAI/MIT Press, Cambridge, MA, 76-82.]] Google ScholarGoogle Scholar
  228. PONTELLI, E., RANJAN,D.,AND GUPTA, G. 1997b. On the Complexity of Parallel Implementation of Logic Programs. In Proceedings of the International Conference on Foundations of Software Technology and Theoretical Computer Science, S. Ramesh and G. Sivakumar, Eds. Springer-Verlag, Heidelberg, 123-137.]] Google ScholarGoogle Scholar
  229. POPOV, K. 1997. A Parallel Abstract Machine for the Thread-Based Concurrent Language Oz. In Proceedings of the Workshop on Parallelism and Implementation Technology for Constraint Logic Programming, E. Pontelli and V. Santos Costa, Eds. New Mexico State University.]]Google ScholarGoogle Scholar
  230. PUEBLA,G.AND HERMENEGILDO, M. 1996. Optimized Algorithms for the Incremental Analysis of Logic Programs. In International Static Analysis Symposium. Number 1145 in LNCS. Springer-Verlag, 270-284.]] Google ScholarGoogle Scholar
  231. PUEBLA,G.AND HERMENEGILDO, M. 1999. Abstract Multiple Specialization and Its Application to Program Parallelization. J. of Logic Programming. Special Issue on Synthesis, Transformation and Analysis of Logic Programs 41, 2&3 (November), 279-316.]]Google ScholarGoogle Scholar
  232. RAMESH, R., RAMAKRISHNAN,I.V.,AND WARREN, D. S. 1990. Automata-Driven Indexing of Prolog Clauses. In Proceedings of the Symposium on Principles of Programming Languages. ACM Press, New York, 281-290.]] Google ScholarGoogle Scholar
  233. RAMKUMAR,B.AND KALE, L. 1989. Compiled Execution of the Reduce-OR Process Model on Multiprocessors. In Proceedings of the North American Conference on Logic Programming, E. Lusk and R. Overbeek, Eds. MIT Press, Cambridge, MA, 313-331.]]Google ScholarGoogle Scholar
  234. RAMKUMAR,B.AND KALE, L. 1990. And Parallel Solutions in And/Or Parallel Systems. In Proceedings of the North American Conference on Logic Programming, S. Debray and M. Hermenegildo, Eds. MIT Press, Cambridge, MA, 624-641.]] Google ScholarGoogle Scholar
  235. RAMKUMAR,B.AND KALE, L. 1992. Machine Independent AND and OR Parallel Execution of Logic Programs. Part i and ii. IEEE Transactions on Parallel and Distributed Systems 2,5.]] Google ScholarGoogle Scholar
  236. RANJAN, D., PONTELLI, E., AND GUPTA, G. 1999. On the Complexity of Or-Parallelism. New Gener-ation Computing 17, 3, 285-308.]] Google ScholarGoogle Scholar
  237. RANJAN, D., PONTELLI, E., AND GUPTA, G. 2000a. Data Structures for Order-Sensitive Predicates in Parallel Nondetermistic Systems. ACTA Informatica 37, 1, 21-43.]] Google ScholarGoogle Scholar
  238. RANJAN, D., PONTELLI, E., LONGPRE, L., AND GUPTA, G. 2000b. The Temporal Precedence Problem. Algorithmica 28, 288-306.]]Google ScholarGoogle Scholar
  239. RATCLIFFE,M.AND SYRE, J. C. 1987. A Parallel Logic Programming Language for PEPSys. In Proceedings of IJCAI, J. McDermott, Ed., Morgan-Kaufmann, San Francisco, CA, 48-55.]]Google ScholarGoogle Scholar
  240. ROCHA, R., SILVA,F.,AND SANTOS COSTA, V. 1999a. Or-Parallelism Within Tabling. In Proceedings of the Symposium on Practical Aspects of Declarative Languages, G. Gupta, Ed. Springer-Verlag, Heidelberg, 137-151.]] Google ScholarGoogle Scholar
  241. ROCHA, R., SILVA,F.,AND SANTOS COSTA, V. 1999b. YapOr: An Or-Parallel Prolog System Based on Environment Copying. In LNAI 1695, Proceedings of EPPIA'99: The 9th Portuguese Conference on Artificial Intelligence. Springer-Verlag LNAI Series, 178-192.]] Google ScholarGoogle Scholar
  242. ROKUSAWA, K., NAKASE, A., AND CHIKAYAMA, T. 1996. Distributed Memory Implementation of KLIC. New Generation Computing 14, 3, 261-280.]]Google ScholarGoogle Scholar
  243. RUIZ-ANDINO, A., ARAUJO, L., SAENZ,F.,AND RUZ, J. 1999. Parallel Execution Models for Constraint Programming over Finite Domains. In Proceedings of the Conference on Principles and Practice of Declarative Programming, G. Nadathur, Ed. Springer-Verlag, Heidelberg, 134- 151.]] Google ScholarGoogle Scholar
  244. SAMAL,A.AND HENDERSON, T. 1987. Parallel Consistent Labeling Algorithms. International Jour-nal of Parallel Programming 16, 5, 341-364.]] Google ScholarGoogle Scholar
  245. SANTOS COSTA, V. 1999. COWL: Copy-On-Write for Logic Programs. In Proceedings of IPPS/SPDP. IEEE Computer Society, Los Alamitos, CA, 720-727.]] Google ScholarGoogle Scholar
  246. SANTOS COSTA, V. 2000. Encyclopedia of Computer Science and Technology. Vol. 42. Marcel Dekker Inc., New Yourk, Chapter Parallelism and Implementation Technology for Logic Programming Languages, 197-237.]]Google ScholarGoogle Scholar
  247. SANTOS COSTA, V., BIANCHINI, R., AND DUTRA, I. C. 1997. Parallel Logic Programming Systems on Scalable Multiprocessors. In Proceedings of the International Symposium on Parallel Symbolic Computation. ACM Press, Los Alamitos, CA, 58-67.]] Google ScholarGoogle Scholar
  248. SANTOS COSTA, V., BIANCHINI, R., AND DUTRA, I. C. 2000. Parallel Logic Programming Systems on Scalable Architectures. Journal of Parallel and Distributed Computing 60, 7, 835-852.]] Google ScholarGoogle Scholar
  249. SANTOS COSTA, V., DAMAS, L., REIS, R., AND AZEVEDO, R. 1999. YAP User's Manual. University of Porto. www.ncc.up.pt/vsc/Yap.]]Google ScholarGoogle Scholar
  250. SANTOS COSTA, V., ROCHA, R., AND SILVA, F. 2000. Novel Models for Or-Parallel Logic Programs: A Performance Analysis. In Proceedings of EuroPar, A. B. et al., Ed. Springer-Verlag, Heidelberg, 744-753.]] Google ScholarGoogle Scholar
  251. SANTOS COSTA, V., WARREN,D.H.D.,AND YANG, R. 1991a. Andorra-I: A Parallel Prolog System That Transparently Exploits Both And- and Or-Parallelism. In Proceedings of the ACM Symposium on Principles and Practice of Parallel Programming. ACM Press, New York, 83-93.]] Google ScholarGoogle Scholar
  252. SANTOS COSTA, V., WARREN,D.H.D.,AND YANG, R. 1991b. The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model. In Proceedings of the International Conference on Logic Programming, K. Furukawa, Ed. MIT Press, Cambridge, MA, 825-839.]]Google ScholarGoogle Scholar
  253. SANTOS COSTA, V., WARREN,D.H.D.,AND YANG, R. 1991c. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In Proceedings of the International Conference on Logic Programming, K. Furukawa, Ed. MIT Press, Cambridge, MA, 443-456.]]Google ScholarGoogle Scholar
  254. SANTOS COSTA, V., WARREN,D.H.D.,AND YANG, R. 1996. Andorra-I Compilation. New Generation Computing 14, 1, 3-30.]] Google ScholarGoogle Scholar
  255. SARASWAT, V. 1989. Concurrent Constraint Programming Languages. Ph.D. thesis, Carnegie Mellon, Pittsburgh. School of Computer Science.]] Google ScholarGoogle Scholar
  256. SCHULTE, C. 2000. Parallel Search Made Simple. In Proceedings of Techniques for Implementing Constraint Programming Systems, Post-conference workshop of CP 2000, N. Beldiceanu et al., Ed. Number TRA9/00. University of Singapore, 41-57.]]Google ScholarGoogle Scholar
  257. SHAPIRO, E. 1987. Concurrent Prolog: Collected Papers. MIT Press, Cambridge MA.]] Google ScholarGoogle Scholar
  258. SHAPIRO, E. 1989. The Family of Concurrent Logic Programming Languages. ACM Computing Suveys 21, 3, 413-510.]] Google ScholarGoogle Scholar
  259. SHEN, K. 1992a. Exploiting Dependent And-Parallelism in Prolog: The Dynamic Dependent And-Parallel Scheme. In Proceedings of the Joint International Conference and Symposium on Logic Programming, K. Apt, Ed. MIT Press, Cambridge, MA, 717-731.]]Google ScholarGoogle Scholar
  260. SHEN, K. 1992b. Studies in And/Or Parallelism in Prolog. Ph.D. thesis, University of Cambridge.]]Google ScholarGoogle Scholar
  261. SHEN, K. 1994. Improving the Execution of the Dependent And-Parallel Prolog DDAS. In Proceedings of Parallel Architectures and Languages Europe, C. Halatsis et al., Ed. Springer-Verlag, Heidelberg, 438-452.]] Google ScholarGoogle Scholar
  262. SHEN, K. 1996a. Initial Results from the Parallel Implementation of DASWAM. In Proceedings of the Joint International Conference and Symposium on Logic Programming. MIT Press, Cam-bridge, MA.]]Google ScholarGoogle Scholar
  263. SHEN, K. 1996b. Overview of DASWAM: Exploitation of Dependent And-Parallelism. Journal of Logic Programming 29, 1/3, 245-293.]]Google ScholarGoogle Scholar
  264. SHEN, K. 1997. A New Implementation Scheme for Combining And/Or Parallelism. In Proceedings of the Workshop on Parallelism and Implementation Technology for Constraint Logic Programming, E. Pontelli and V. Santos Costa, Eds. New Mexico State University, Dept. Computer Science.]]Google ScholarGoogle Scholar
  265. SHEN,K.AND HERMENEGILDO, M. 1991. A Simulation Study of Or- and Independent And-Parallelism. In Proceedings of the International Logic Programming Symposium, V. Saraswat and K. Ueda, Eds. MIT Press, Cambridge, MA, 135--151.]]Google ScholarGoogle Scholar
  266. SHEN,K.AND HERMENEGILDO, M. 1994. Divided We Stand: Parallel Distributed Stack Memory Management. In Implementations of Logic Programming Systems, E. Tick and G. Succi, Eds. Kluwer Academic Press, Boston, MA.]]Google ScholarGoogle Scholar
  267. SHEN,K.AND HERMENEGILDO, M. 1996a. Flexible Scheduling for Non-Deterministic, And-Parallel Execution of Logic Programs. In Proceedings of EuroPar'96. Number 1124 in LNCS. Springer-Verlag, 635-640.]] Google ScholarGoogle Scholar
  268. SHEN,K.AND HERMENEGILDO, M. 1996b. High-Level Characteristics of Or- and Independent And-Parallelism in Prolog. International. Journal of Parallel Programming 24, 5, 433-478.]] Google ScholarGoogle Scholar
  269. SHEN, K., SANTOS COSTA,V.,AND KING, A. 1998. Distance: ANew Metric for Controlling Granularity for Parallel Execution. In Proceedings of the Joint International Conference and Symposium on Logic Programming, J. Jaffar, Ed. MIT Press, Cambridge, MA, 85-99.]] Google ScholarGoogle Scholar
  270. SILVA,F.AND WATSON, P. 2000. Or-Parallel Prolog on a Distributed Memory Architecture. Journal of Logic Programming 43, 2, 173-186.]]Google ScholarGoogle Scholar
  271. SILVA, M., DUTRA, I. C., BIANCHINI, R., AND SANTOS COSTA, V. 1999. The Influence of Computer Architectural Parameters on Parallel Logic Programming Systems. In Proceedings of the Workshop on Practical Aspects of Declarative Languages, G. Gupta, Ed. Springer-Verlag, Heidelberg, 122-136.]] Google ScholarGoogle Scholar
  272. SINDAHA, R. 1992. The Dharma Scheduler - Definitive Scheduling in Aurora on Multiprocessor Architecture. In Proceedings of the Symposium on Parallel and Distributed Processing. IEEE Computer Society, Los Alamitos, CA, 296-303.]]Google ScholarGoogle Scholar
  273. SINDAHA, R. 1993. Branch-Level Scheduling in Aurora: The Dharma Scheduler. In Proceedings of International Logic Programming Symposium, D. Miller, Ed. MIT Press, Cambridge, MA, 403-419.]] Google ScholarGoogle Scholar
  274. SINGHAL,A.AND PATT, Y. 1989. Unification Parallelism: How Much Can We Exploit? In Proceedings of the North American Conference on Logic Programming, E. Lusk and R. Overbeek, Eds. MIT Press, Cambridge, MA, 1135-1147.]]Google ScholarGoogle Scholar
  275. SMITH, D. 1996. MultiLog and Data Or-Parallelism. Journal of Logic Programming 29, 1-3, 195- 244.]]Google ScholarGoogle Scholar
  276. SMOLKA, G. 1996. Constraints in Oz. ACM Computing Surveys 28, 4 (December), 75-76.]] Google ScholarGoogle Scholar
  277. STERLING,L.AND SHAPIRO, E. 1994. The Art of Prolog. MIT Press, Cambridge MA.]]Google ScholarGoogle Scholar
  278. SZEREDI, P. 1989. Performance Analysis of the Aurora Or-Parallel Prolog System. In Proceedings of the North American Conference on Logic Programming, E. Lusk and R. Overbeek, Eds. MIT Press, Cambridge, MA, 713-732.]]Google ScholarGoogle Scholar
  279. SZEREDI, P. 1991. Using Dynamic Predicates in an Or-Parallel Prolog System. In Proceedings of the International Logic Programming Symposium, V. Saraswat and K. Ueda, Eds. MIT Press, Cambridge, MA, 355-371.]]Google ScholarGoogle Scholar
  280. SZEREDI, P. 1992. Exploiting Or-Parallelism in Optimization Problems. In Proceedings of the Joint International Conference and Symposium on Logic Programming, K. Apt, Ed. MIT Press, Cambridge, MA, 703-716.]]Google ScholarGoogle Scholar
  281. SZEREDI,P.AND FARKAS, Z. 1996. Handling Large Knowledge Bases in Parallel Prolog. In Proceedings of the Workshop on High Performance Logic Programming Systems. ESSLLI, Prague.]]Google ScholarGoogle Scholar
  282. SZEREDI, P., CARLSSON, M., AND YANG, R. 1991. Interfacing Engines and Schedulers in Or-Parallel Prolog Systems. In Proceedings of the Conference on Parallel Architectures and Languages Europe, E. Aarts et al., Ed. LNCS, Vol. 506. Springer-Verlag, Heidelberg, 439-453.]] Google ScholarGoogle Scholar
  283. SZEREDI, P., MOLN AR, K., AND SCOTT, R. 1996. Serving Multiple HTML Clients from a Prolog Application. In Workshop on Logic Programming Tools for Internet. Bonn.]]Google ScholarGoogle Scholar
  284. TAKEUCHI, A. 1992. Parallel Logic Programming. Kluwer Academic Press, Boston, MA.]] Google ScholarGoogle Scholar
  285. TARAU, P. 1998. Inference and Computation Mobility with Jinni. Tech. rep., University of North Texas.]]Google ScholarGoogle Scholar
  286. TAYLOR, A. 1991. High-Performance Prolog Implementation. Ph.D. thesis, Basser Dept. of COmputer Science, University of Sydney.]]Google ScholarGoogle Scholar
  287. TEBRA, H. 1987. Optimistic And-Parallelism in Prolog. In Proceedings of the Conference on Parallel Architectures and Languages Europe, J. de Bakker, A. Nijman, and P. Treleaven, Eds. Springer-Verlag, Heidelberg, 420-431.]] Google ScholarGoogle Scholar
  288. TERASAKI, S., HAWLEY, D., SAWADA, H., SATOH, K., MENJU, S., KAWAGISHI, T., IWAYAMA,N.,AND AIBA,A. 1992. Parallel Constraint Logic Programming Language GDCC and its Parallel Constraint Solvers. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. IOS Press, Tokyo, Japan, 330-346.]]Google ScholarGoogle Scholar
  289. TICK, E. 1987. Memory Performance of Prolog Architectures. Kluwer Academic Publishers, Nor-well, MA 02061.]] Google ScholarGoogle Scholar
  290. TICK, E. 1991. Parallel Logic Programming. MIT Press, Cambridge, MA.]] Google ScholarGoogle Scholar
  291. TICK, E. 1992. Visualizing Parallel Logic Programming with VISTA. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. Ohmsha Ltd., Tokyo, Japan, 934-942.]]Google ScholarGoogle Scholar
  292. TICK, E. 1995. The Deevolution of Concurrent Logic Programming Languages. Journal of Logic Programming 23, 2, 89-123.]]Google ScholarGoogle Scholar
  293. TICK,E.AND ZHONG, X. 1993. A Compile-Time Granularity Analysis Algorithm and Its Performance Evaluation. New Generation Computing 11, 3, 271-295.]] Google ScholarGoogle Scholar
  294. TINKER, P. 1988. Performance of an OR-Parallel Logic Programming System. International Journal of Parallel Programming 17, 1, 59-92.]] Google ScholarGoogle Scholar
  295. TONG,B.AND LEUNG, H. 1993. Concurrent Constraint Logic Programming on Massively Parallel SIMD Computers. In Proceedings of the International Logic Programming Symposium, D. Miller, Ed. MIT Press, Cambridge, MA, 388-402.]] Google ScholarGoogle Scholar
  296. TONG,B.AND LEUNG, H. 1995. Performance of a Data-Parallel Concurrent Constraint Programing System. In Proceedings of the Asian Computing Science Conference, K. Kanchanasut and J.-J. Levy, Eds. Springer-Verlag, Heidelberg, 319-334.]] Google ScholarGoogle Scholar
  297. TRAUB, K. 1989. Compilation as Partitioning: A New Approach to Compiling Non-Strict Functional Languages. In Proceedings of the Conference on Functional Programming Languages and Computer Architecture. ACM Press, New York, 75-88.]] Google ScholarGoogle Scholar
  298. UEDA,H.AND MONTELIUS, J. 1996. Dynamic Scheduling in an Implicit Parallel System. In Proceedings of the ISCA 9th International Conference on Parallel and Distributed Computing Systems. ISCA.]]Google ScholarGoogle Scholar
  299. UEDA, K. 1986. Guarded Horn Clauses. Ph.D. thesis, University of Tokyo.]]Google ScholarGoogle Scholar
  300. UEDA,K.AND MORITA, M. 1993. Moded Flat GHC and its Message-Oriented Implementation Technique. New Generation Computing 11, 3/4, 323-341.]] Google ScholarGoogle Scholar
  301. ULLMAN, J. D. 1988. Principles of Database and Knowledge-Base Systems. Computer Science Press, Maryland.]] Google ScholarGoogle Scholar
  302. VAN HENTENRYCK, P. 1989. Parallel Constraint Satisfaction in Logic Programming: Preliminary Results of CHIP within PEPSys. In Proceedings of the Sixth International Conference on Logic Programming, G. Levi and M. Martelli, Eds. MIT Press, Cambridge, MA, 165- 180.]]Google ScholarGoogle Scholar
  303. VAN HENTENRYCK, P., SARASWAT,V.,AND DEVILLE, Y. 1998. Design, Implementation and Evaluation of the Constraint Language cc(FD). Journal of Logic Programming 37, 1-3, 139-164.]]Google ScholarGoogle Scholar
  304. VAN ROY, P. 1990. Can Logic Programming Execute as Fast as Imperative Programming? Ph.D. thesis, U.C. Berkeley.]] Google ScholarGoogle Scholar
  305. VAN ROY, P. 1994. 1983-1993: The Wonder Years of Sequential Prolog Implementation. Journal of Logic Programming 19/20, 385-441.]]Google ScholarGoogle Scholar
  306. VAN ROY,P.AND DESPAIN, A. 1992. High-Performance Logic Programming with the Aquarius Prolog Compiler. IEEE Computer 25, 1, 54-68.]] Google ScholarGoogle Scholar
  307. VAUPEL, R., PONTELLI, E., AND GUPTA, G. 1997. Visualization of And/Or-Parallel Execution of Logic Programs. In Proceedings of the International Conference on Logic Programming, L. Naish, Ed. MIT Press, Cambridge, MA, 271--285.]]Google ScholarGoogle Scholar
  308. VERON, A., SCHUERMAN, K., REEVE, M., AND LI, L.-L. 1993. Why and How in the ElipSys Or-Parallel CLP System. In Proceedings of the Conference on Parallel Architectures and Languages Europe, A. Bode, M. Reeve, and G. Wolf, Eds. Springer-Verlag, Heidelberg, 291-303.]] Google ScholarGoogle Scholar
  309. VILLAVERDE, K., GUO, H.-F., PONTELLI, E., AND GUPTA, G. 2000. Incremental Stack Splitting. In Proceedings of the Workshop on Parallelism and Implementation Technology for Constraint Logic Programming, I. C. Dutra, Ed. Federal University of Rio de Janeiro, London.]]Google ScholarGoogle Scholar
  310. VILLAVERDE, K., PONTELLI, E., GUPTA,G.,AND GUO, H. 2001. Incremental Stack Splitting Mechanisms for Efficient Parallel Implementation of Search-Based Systems. In International Confer-ence on Parallel Processing. IEEE Computer Society, Los Alamitos, CA.]] Google ScholarGoogle Scholar
  311. WALLACE, M., NOVELLO,S.,AND SCHIMPF, J. 1997. ECLiPSe: A Platform for Constraint Logic Programming. Tech. rep., IC-Parc, Imperial College.]]Google ScholarGoogle Scholar
  312. WARREN, D. H. D. 1980. An Improved Prolog Implementation Which Optimises Tail Recursion. Research Paper 156, Dept. of Artificial Intelligence, University of Edinburgh.]]Google ScholarGoogle Scholar
  313. WARREN, D. H. D. 1983. An Abstract Prolog Instruction Set. Technical Report 309, SRI International.]]Google ScholarGoogle Scholar
  314. WARREN, D. H. D. 1987a. The Andorra Principle. Presented at Gigalips workshop, Unpublished.]]Google ScholarGoogle Scholar
  315. WARREN, D. H. D. 1987b. OR-Parallel Execution Models of Prolog. In Proceedings of TAP-SOFT, H. E. et al., Ed. Lecture Notes in Computer Science. Springer-Verlag, Heidelberg, 243- 259.]] Google ScholarGoogle Scholar
  316. WARREN, D. H. D. 1987c. The SRI Model for OR-Parallel Execution of Prolog-Abstract Design and Implementation. In Proceedings of the Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 92-102.]]Google ScholarGoogle Scholar
  317. WARREN,D.H.D.AND HARIDI, S. 1988. Data Diffusion Machine-A Scalable Shared Virtual Memory Multiprocessor. In Proceedings of the International Conference on Fifth Generation Computer Systems. ICOT, Springer-Verlag, Tokyo, Japan, 943--952.]]Google ScholarGoogle Scholar
  318. WARREN, D. S. 1984. Efficient Prolog Memory Management for Flexible Control Strategies. In Proceedings of the Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 198-203.]]Google ScholarGoogle Scholar
  319. WEEMEEUW,P.AND DEMOEN, B. 1990. Memory Compaction for Shared Memory Multiprocessors, Design and Specification. In Proceedings of the North American Conference on Logic Programming, S. Debray and M. Hermenegildo, Eds. MIT Press, Cambridge, MA, 306- 320.]] Google ScholarGoogle Scholar
  320. WESTPHAL, H., ROBERT, P., CHASSIN DE KERGOMMEAUX,J.,AND SYRE, J. 1987. The PEPSys Model: Combining Backtracking, AND- and OR- Parallelism. In Proceedings of the Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 436-448.]]Google ScholarGoogle Scholar
  321. WINSBOROUGH, W. 1987. Semantically Transparent Reset for And Parallel Interpreters Based on the Origin of Failure. In Proceedings of the Fourth Symposium on Logic Programming. IEEE Computer Society, Los Alamitos, CA, 134-152.]]Google ScholarGoogle Scholar
  322. WINSBOROUGH,W.AND WAERN, A. 1988. Transparent And-Parallelism in the Presence of Shared Free Variables. In Fifth International Conference and Symposium on Logic Programming. 749-764.]]Google ScholarGoogle Scholar
  323. WISE, D. S. 1986. Prolog Multiprocessors. Prentice-Hall, New Jersey.]] Google ScholarGoogle Scholar
  324. WOLFSON,O.AND SILBERSCHATZ, A. 1988. Distributed Processing of Logic Programs. In Proceedings of the SIGMOD International Conference on Management of Data, H. Boral and P. Larson, Eds. ACM, ACM Press, New York, 329-336.]] Google ScholarGoogle Scholar
  325. WOO,N.AND CHOE, K. 1986. Selecting the Backtrack Literal in And/Or Process Model. In Proceedings of the Symposium on Logic Programming. IEEE, Los Alamitos, CA, 200-210.]]Google ScholarGoogle Scholar
  326. XU, L., KOIKE, H., AND TANAKA, H. 1989. Distributed Garbage Collection for the Parallel Inference Engine PIE64. In Proceedings of the North American Conference on Logic Programming, E. Lusk and R. Overbeek, Eds. MIT Press, Cambridge, MA, 922-943.]]Google ScholarGoogle Scholar
  327. YANG, R. 1987. P-Prolog: A Parallel Logic Programming Language. Ph.D. thesis, Keio University.]]Google ScholarGoogle Scholar
  328. YANG, R., BEAUMONT, A., DUTRA,I.C.,SANTOS COSTA,V.,AND WARREN, D. H. D. 1993. Performance of the Compiler-Based Andorra-I System. In Proceedings of the Tenth International Conference on Logic Programming, D. S. Warren, Ed. MIT Press, Cambridge, MA, 150-166.]] Google ScholarGoogle Scholar
  329. ZHONG, X., TICK, E., DUVVURU, S., HANSEN, L., SASTRY, A., AND SUNDARARAJAN, R. 1992. Towards an Efficient Compile-Time Granularity Algorithm. In Proceedings of the International Conference on Fifth Generation Computer Systems, ICOT Staff, Ed. Ohmsha Ltd., Tokyo, Japan, 809-816.]]Google ScholarGoogle Scholar
  330. ZIMA,H.AND CHAPMAN, B. 1991. Supercompilers for Parallel and Vector Computers. ACM Press, New York.]] Google ScholarGoogle Scholar

Index Terms

  1. Parallel execution of prolog programs: a survey

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader