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.
Similar content being viewed by others
References
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.
Araujo, J. and Ruz, J. J., “A Parallel Prolog System for Distributed Memory,”Int. Journal of Logic Prog., 33, 1, pp. 49–79, 1997.
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.
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.
Bratko, I.,Prolog: Prog. for Art. Intelligence, 2nd ed. Addison Wesley, 1991.
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.
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.
Carlton, M. and Van Roy P.,A Distributed Prolog System with AND-Parallelism, IEEE Software, pp. 43–51, Jan., 1988.
Clocksin W. F., “The Delphi Multiprocessor Inference Machine,” inProc. of ICSLP '92-Work. on Concurrent and Parallel Implementations (Apt, K., ed.), 1992.
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.
Coulouris, G. F., and Dollimore, J.,Distributed Systems: Concepts and Design, 2nd ed., Addison Wesley, 1994.
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.
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.
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.
Debray, S. K. and Lin, N., “Cost Analysis of Logic Programs,”TOPLAS, 15, 5, pp. 826–875, 1993.
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.
DeGroot, D., “Restricted AND-parallelism and Side Effects,” inProc. of Int. Symp. on Logic Prog., pp. 80–89, 1987.
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.
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.
Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., and Sunderam, V.,PVM User's Guide and Reference Manual, ORNL, Tennessee, 1995.
Gupta, G. and Costa, V. S., “Cuts and Side-effects in AND-OR Parallel Prolog,”Journal of Logic Prog., 27, 1, 1996.
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.
Hermenegildo, M. V. and Greene, K. J., “The &-Prolog System: Exploiting Independent AND-parallelism,”New Generation Computing, 9, 3–4, pp. 233–257, 1991.
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.
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.
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.
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.
Kacsuk, P., “OR-parallel Prolog on Distributed Memory Systems,”LNCS, 817, Springer-Verlag, pp. 543–463, 1994.
Kacsuk, P. and Wise, M. J.,Implementations of Distributed Prolog. John Wiley, Chichester, 1992.
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.
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.
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.
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.
King A. and Soper P., “Depth-k Sharing and Freeness,” inInt. Conf. on Logic Prog. 1994 (P. Van Hentenryck, ed.), pp. 553–568, 1994.
Lusk, E., Warren, D. H. D., and Haridi, S., “The aurora OR-parallel System,”New Generation Computing, 7, 2–3, pp. 243–271, 1990.
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.
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.
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.
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.
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.
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.
Sahlin, D., “Determinacy Analysis for Full Prolog,”ACM Symp. on Partial Evaluation and Semantics Based Program Manipulation, ACM Press, 1991.
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.
Shapiro, E. and Sterling, L.,The Art of Prolog, MIT Press, 1988.
Shen, K., “Improving the Execution of the Dependent AND-parallel Prolog DDAS,”LNCS, 817, Springer-Verlag, pp. 438–452, 1994.
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.
Shen K., Costa V. S., and King A., “Distance, a New Metric for Controlling Granularity for Parallel Execution,”Functional and Logic Prog., 1999.
Sindaha R. Y., “Branch-level Scheduling in Aurora: The Dharma Scheduler,” inInt. Symp. on Logic Prog. (D. Miller, ed.), pp. 403–419, 1993.
Takeuchi, A., “Parallel Logic Prog.” PhD thesis, Univ. of Tokyo Japan 1990.
Taylor, H., “Assembling a Resolution Multiprocessor from Interface, Programming and Distributed Processing Components,”Computer Languages, 22, 2–3, pp. 181–192, 1996.
Tick, E.,Parallel Logic Prog., MIT Press, 1991.
Tick, E. “Compile-time Granularity Analysis of Parallel Logic Programming Languages,”New Generation Computing, 7, 2, 1990.
Tick, E. and Zhong, X., “A Compile-time Granularity Analysis Algorithm and its Performance Evaluation,”New Generation Computing,1,3–4, 1993.
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.
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.
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.
Wegbreit, B., “Mechanical program analysis,”CACM, 18, 9, pp. 528–539, 1975.
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.
Wise, M. J., “Experience with PMS-Prolog,”Software Practice and Experience, 22, 2 pp. 151–175, 1993.
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.
Xirogiannis, G., “Execution of Prolog by Transformations on Distributed Memory Multi-Processors”PhD thesis, Heriot-Watt Univ., Edinburgh, 1998.
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.
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.
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.
Author information
Authors and Affiliations
Corresponding author
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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/BF03037372