Skip to main content
Log in

PAN: A portable, parallel Prolog: Its design, realisation and performance

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

Abstract

PAN is a general purpose, portable environment for executing logic programs in parallel. It combines a flexible, distributed architecture which is resilient to software and platform evolution with facilities for automatically extracting and exploiting AND and OR parallelism in ordinary Prolog programs. PAN incorporates a range of compile-time and run-time techniques to deliver the performance benefits of parallel execution while rertaining sequential execution semantics. Several examples illustrate the efficiency of the controls that facilitate the execution of logic programs in a distributed manner and identify the class of applications that benefit from distributed platforms like PAN.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ali, K. A. M. and Karlsson, R., Scheduling OR-parallelism in MUSE. inProc. of 8th Int. Conf. on Logic Prog. (Furukawa, K., ed.), pp. 807–821, 1991.

  2. Araujo, J. and Ruz, J. J., “A Parallel Prolog System for Distributed Memory,”Int. Journal of Logic Prog., 33, 1, pp. 49–79, 1997.

    Article  Google Scholar 

  3. Baron, U., de Kergommeaux J. C., Hailperin M., Ratcliffe M., Robert P., Syre J. C., and Westphal H., “The parallel ECRC Prolog system PEPSys: An overview and evaluation results,” inInt. Conf. on FCGS (ICOT, ed.), pp. 841–850. 1988.

  4. Beaumont, T. and Warren, D. H. D., “Scheduling Speculative Work in OR-parallel Prolog Systems,” inProc. of 10th Int. Conf. on Logic Prog. (Warren, D. S., ed.), pp. 135–149, 1993.

  5. Bratko, I.,Prolog: Prog. for Art. Intelligence, 2nd ed. Addison Wesley, 1991.

  6. Briat, J., Favre, M., Geyer, C., and de Kergommeaux, J. C., “OPERA: Orparallel Prolog system on Supernode,”Implementations of Distributed Prolog (Kacsuk, P. and Wise M. J., eds.), John Wiley, pp. 45–64, 1992.

  7. Bruynooghe M., Deomoen N., Boulanger D., Denecker M., and Mulkers A., “A Freeness and Sharing Analysis of Logic Programs Based on Pre-interpretation,” inProc. of 3rd Int. Symp. on Static Analysis (R. Cousot and D. A. Schmidt, eds.), pp. 128–142, 1996.

    Chapter  Google Scholar 

  8. Carlton, M. and Van Roy P.,A Distributed Prolog System with AND-Parallelism, IEEE Software, pp. 43–51, Jan., 1988.

    Article  Google Scholar 

  9. Clocksin W. F., “The Delphi Multiprocessor Inference Machine,” inProc. of ICSLP '92-Work. on Concurrent and Parallel Implementations (Apt, K., ed.), 1992.

  10. Costa, V. S., Warren, D. H. D., and Yang, R., “The Andorra-I Preprocessor Full Prolog on the Basic Andorra Model,” inProc of 8th Int. Conf. on Logic Prog. (Furukawa, K., ed.), pp. 599–613, 1991.

  11. Coulouris, G. F., and Dollimore, J.,Distributed Systems: Concepts and Design, 2nd ed., Addison Wesley, 1994.

  12. Cunha, J. C., Medeiros, P. D., Carvalhosa, M. B., and Pereira, L. M., “Delta-Prolog: A Distributed Logic Programming Language and its Implementation on Distributed Memory Multiprocessors,”Implementations of Distributed Prolog (Kacsuk, P. and Wise, M. J., eds.), John Wiley, pp. 335–356, 1992.

  13. Dutra I., “Strategies for Scheduling AND and OR Parallel Work in Parallel Logic Programming Systems”, in inProc. of 1994 Int. Symp. of Logic Prog. (M. Bruynooghe, ed.), pp. 289–304, 1994.

  14. Debray, S. K., Garcia, P. L., Hermenegildo, M. V. and Lin N. W., “Estimating the Computational Cost of Logic Programs,” inProc. of Static Analysis Symp. (Charlier, B. L., ed.), 1994, pp. 255–265, 1994.

  15. Debray, S. K. and Lin, N., “Cost Analysis of Logic Programs,”TOPLAS, 15, 5, pp. 826–875, 1993.

    Article  Google Scholar 

  16. Debray, S. K., Lin, N. W. and Hermenegildo, M. V., “Task Granularity Analysis in Logic Programs,” inProc. of 1990 ACM Conf. on Prog. Lang. Design and Implementation, pp. 174–188, 1990.

    Article  Google Scholar 

  17. DeGroot, D., “Restricted AND-parallelism and Side Effects,” inProc. of Int. Symp. on Logic Prog., pp. 80–89, 1987.

  18. Futo, I., “The Real Time Extension of CS-Prolog Professional,”ICLP'94-Work. on Parallel and Data Parallel Execution of Logic Programs (Barklund, J., Jayaraman, B. and Tanaka, J., eds.), 1994.

  19. Garcia, P. L., Hermenegildo, M. V., and Debray, S. K., “A Methodology for Granularity Based Control of Parallelism in Logic Programs,”Journal of Symbolic Computation, 22, pp. 715–734, 1996.

    MathSciNet  MATH  Google Scholar 

  20. Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., and Sunderam, V.,PVM User's Guide and Reference Manual, ORNL, Tennessee, 1995.

    MATH  Google Scholar 

  21. Gupta, G. and Costa, V. S., “Cuts and Side-effects in AND-OR Parallel Prolog,”Journal of Logic Prog., 27, 1, 1996.

    Article  MathSciNet  Google Scholar 

  22. Gupta G, Hermenegildo M, and Costa V., S., “AND-OR Parallel Prolog: Recomputation Based Approach”,New Generation Computing, 1, 3–4, pp. 770–782, 1993.

    Google Scholar 

  23. Hermenegildo, M. V. and Greene, K. J., “The &-Prolog System: Exploiting Independent AND-parallelism,”New Generation Computing, 9, 3–4, pp. 233–257, 1991.

    Article  Google Scholar 

  24. Hermenegildo M. V., Bueno F., Puebla G., and Lopez P., “Program Analysis, Debugging and Optimisation Using the CIAO System Preprocessor,” inProc. of 1999 IJCSLP (D. De Schreye, ed.), pp. 52–66, 1999.

  25. Hermenegildo, M. V., “An Abstract Machine for Restricted AND-parallel Execution of Logic Programs,”Proc. of 3rd Int. Conf. on Logic Prog. (Shapiro, E., ed.), pp. 25–40, 1986.

    Google Scholar 

  26. Hermenegildo M. V. and Rossi, F., “On the Correctness and Efficiency of Independent AND-parallelism in Logic Programs,” inProc. of 1989 N. Amer. Conf. on Logic Prog. (Lusk, E. L. and Overbeek, R. A., eds.), pp. 369–389, 1989.

  27. Jacobs D. and A. Langen A., “Accurate and Efficient Approximation of Variable Aliasing in Logic Programs,”Journal of Logic Prog. 13, 2–3 pp. 291–314, 1992.

    Article  Google Scholar 

  28. Kacsuk, P., “OR-parallel Prolog on Distributed Memory Systems,”LNCS, 817, Springer-Verlag, pp. 543–463, 1994.

    Google Scholar 

  29. Kacsuk, P. and Wise, M. J.,Implementations of Distributed Prolog. John Wiley, Chichester, 1992.

    Google Scholar 

  30. Kale, L. V. and Ramkumar, B., “The REDUCE/OR Process Model for Parallel Logic Programming on Non-shared Memory Machines,”Implementations of Distributed Prolog (Kacsuk, P. and Wise, M. J., eds.), John Wiley, pp. 187–212, 1992.

  31. Kaplan, S., “Algorithmic Complexity of Logic Programs,” inProc. of 5th Int. Conf. and Symp. on Logic Prog. (Kowalski, R. and Bowen K, eds.), pp. 780–793, 1988.

  32. King A., Shen K., and Benoy F., “Lower-bound Time-complexity Analysis of Logic Programs,” inInt. Symp. on Logic Prog. (J. Maluszynski, ed.), pp. 261–276, 1997.

  33. King, A. and Soper P., “Heuristics, Thresholding and a New Technique for Controlling the Granularity of Concurrent Logic Programs,” Tech. Rep. CSTR 92-08, Dept. of Electronics and Computer Science-Southampton Univ., 1992.

  34. King A. and Soper P., “Depth-k Sharing and Freeness,” inInt. Conf. on Logic Prog. 1994 (P. Van Hentenryck, ed.), pp. 553–568, 1994.

  35. Lusk, E., Warren, D. H. D., and Haridi, S., “The aurora OR-parallel System,”New Generation Computing, 7, 2–3, pp. 243–271, 1990.

    Article  Google Scholar 

  36. Morel, E., Briat, J., de Kergommeaux, J. C. and Geyer, C., “Side-effects in PloSys Or-parallel Prolog on Distributed Memory Machines,”ICSLP'96-Compulog Net Meeting (Maher, M. J., ed.), Bonn, 1996.

  37. Mulkers A., Simoens W., Janssens G. and Bruynooghe M., “On the Practicality of Abstract Equation Systems,” inProc. of 12th Int. Conf. on Logic Prog. (L. Sterling, ed.), pp. 781–795, 1995.

  38. Muthukumar K. and Hermenegildo M.V., “The CDG, UDG and MEL Methods for Automatic Compile-time Parallelization of Logic Programs for Independent AND-parallelism,“ in7th Int. Conf. on Logic Prog. (D. H. D. Warren and P. Szeredi, eds.), pp. 221–236, 1990.

  39. Nelson, R. D. and Squillante, M. S., “Modeling and Analysis of Task Migration in Shared-memory Multiprocessor Computer Systems,” inProc. of 4th Int. Work on MASCOT, Computer Society, pp. 262–266, 1996.

  40. Palmer, D. and Naish, L., “NUA-Prolog, Extension to WAM for Parallel Andorra,” inProc. of 8th Int. Conf. on Logic Prog. (Furukawa, K., ed.), pp. 599–613, 1991.

  41. Pontelli, E, Gupta, G. and Hermenegildo, M. V., “&-ACE: a High Performance Parallel Prolog System,” inProc. of Int. Parallel Processing Symp., IEEE Computer Society, 1995.

  42. Sahlin, D., “Determinacy Analysis for Full Prolog,”ACM Symp. on Partial Evaluation and Semantics Based Program Manipulation, ACM Press, 1991.

  43. Shapiro, E., “An OR-parallel Algorithm for Prolog and its FCP Implementation,” inProc. of 4th Int. Conf. on Logic Prog. (Lassez, J.L., ed.), pp. 311–337, 1987.

  44. Shapiro, E. and Sterling, L.,The Art of Prolog, MIT Press, 1988.

  45. Shen, K., “Improving the Execution of the Dependent AND-parallel Prolog DDAS,”LNCS, 817, Springer-Verlag, pp. 438–452, 1994.

    Chapter  Google Scholar 

  46. Shen K., Costa V. S., and King A., “A New Metric for Controlling Granularity for Parallel Execution,” inWork. on Parallelism and Implementation Technology for Constraint Logic Prog. Langs., 1997.

  47. Shen K., Costa V. S., and King A., “Distance, a New Metric for Controlling Granularity for Parallel Execution,”Functional and Logic Prog., 1999.

  48. Sindaha R. Y., “Branch-level Scheduling in Aurora: The Dharma Scheduler,” inInt. Symp. on Logic Prog. (D. Miller, ed.), pp. 403–419, 1993.

  49. Takeuchi, A., “Parallel Logic Prog.” PhD thesis, Univ. of Tokyo Japan 1990.

    Google Scholar 

  50. Taylor, H., “Assembling a Resolution Multiprocessor from Interface, Programming and Distributed Processing Components,”Computer Languages, 22, 2–3, pp. 181–192, 1996.

    Article  Google Scholar 

  51. Tick, E.,Parallel Logic Prog., MIT Press, 1991.

  52. Tick, E. “Compile-time Granularity Analysis of Parallel Logic Programming Languages,”New Generation Computing, 7, 2, 1990.

    Article  Google Scholar 

  53. Tick, E. and Zhong, X., “A Compile-time Granularity Analysis Algorithm and its Performance Evaluation,”New Generation Computing,1,3–4, 1993.

  54. Verden, A. and Glaser, H., “An AND-OR-parallel Distributed Prolog Executor,”Implementations of Distributed Prolog (Kacsuk, P. and Wise, M. J., eds), John Wiley, pp. 143–157, 1992.

  55. Warren, D. H. D., “The SRI Model for OR-parallel Execution of Prolog-Abstract Design and Implementation,” inProc. of Int. Symp. on Logic Prog. (Warren, D. H. D. and Szeredi, P., eds.), pp. 92–102, 1987.

  56. Warren, D. H. D., “The Extended Andorra Model with Implicit Control”ICLP'90-Work. on Parallel Logic Prog. (Warren, D. H. D. and Szeredi P, eds.), 1990.

  57. Wegbreit, B., “Mechanical program analysis,”CACM, 18, 9, pp. 528–539, 1975.

    Article  MathSciNet  Google Scholar 

  58. Winsborough W. and Waern A., “Transparent AND-parallelism in the Presence of Shared Free Variables,” in5th Int. Conf. and Symp. on Logic Prog. (R. Kowalski and K. Bowen, eds.), pp. 749–764, 1988.

  59. Wise, M. J., “Experience with PMS-Prolog,”Software Practice and Experience, 22, 2 pp. 151–175, 1993.

    Article  Google Scholar 

  60. Xirogiannis, G., “Compile-time Analysis of Freeness and Side-effects for Distributed Execution of Prolog Programs,” inProc. of 6th Hellenic Conf. on Informatics (Sellis, T. and Pagkalos, G., eds.) pp. 701–722, 1997.

  61. Xirogiannis, G., “Execution of Prolog by Transformations on Distributed Memory Multi-ProcessorsPhD thesis, Heriot-Watt Univ., Edinburgh, 1998.

    Google Scholar 

  62. Xirogiannis, G., “Granularity Control for Distributed Execution of Logic Programs,” inProc. of 18th Int. Conf. on Distributed Computing Systems (Papazoglou, M. P., Takizawa, M., Kramer, B. and Chanson, S. eds.), pp. 230–237, 1998.

  63. Xirogiannis, G., and Taylor, H., “A Dynamic Task Distribution and Engine Allocation Strategy for Distributed Execution of Logic Programs,” inProc. of 1998. Int. Conf. on High-Performance Computing & Networking (Sloot, P., Bubak, M. and Hertzerger, B., eds.), pp. 294–304, 1998.

    Chapter  Google Scholar 

  64. Yang, R., Beaumont, T., Dutra, I., Costa, V. S. and Warren, D. H. D., “Performance of the Compiler-based Andorra-I System,” inProc. of the Tenth International Conference on Logic Programming (David S. Warren, ed.), pp. 150–166, Budapest, Hungary, 1993. The MIT Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to George Xirogiannis.

Additional information

George Xirogiannis, Ph.D.: He received his B.S. in Mathematics from the University of Ioannina, Greece in 1993, his M.S in Artificial Intelligence from the University of Bristol in 1994 and his Ph.D. in Computer Science from Heriot-Watt University, Edinburgh in 1998. His Ph.D. thesis concerns the automated execution of Prolog on distributed heterogeneous multi-processors. His research interests have progressed from knowledge-based systems to distributed logic programming and data mining. Currently, he is working as a senior IT consultant at Pricewaterhouse Coopers. He is also a Research Associate at the National Technical University of Athens, researching in knowledge and data mining.

Hamish Taylor, Ph.D.: He is a lecturer in Computer Science in the Computing and Electrical Engineering Department of Heriot-Watt University in Edinburgh. He received M.A. and MLitt degrees in philosophy from Cambridge University and an M.S. and a Ph.D. degree in computer science from Heriot-Watt University, Scotland. Since 1985 he has worked on research projects concerned with implementing concurrent logic programming languages, developing formal models for automated reasoning, performance modelling parallel relational database systems, and visualisizing resources in shared web caches. His current research interests are in applications of collaborative virtual environments, parallel logic programming and networked computing technologies.

About this article

Cite this article

Xirogiannis, G., Taylor, H. PAN: A portable, parallel Prolog: Its design, realisation and performance. New Gener Comput 20, 373–399 (2002). https://doi.org/10.1007/BF03037372

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037372

Keywords

Navigation