Parallel logic programming for numeric applications
This paper reports on a series of experiments involving the use of various dialects of parallel logic programming to express and control parallelism. The central goal of these experiments was to explore the possibility of writing numeric code for multiprocessors while expressing the synchronization requirements using logic programming. Three dialects of parallel logic programming are considered: Parlog, Delta-Prolog, and Flat Concurrent Prolog. The experiments involved the formulation of a well-known, highly-parallel algorithm in each of the three languages. In one case (Parlog, semi-manually compiled code for an implementation of an extended Warren Abstract Machine), a comparison is made of the performance of the resulting program with that of the same problem expressed in C, with monitors as the added parallelism construct. Speedups obtained for the C and Parlog versions are presented. The experiments illustrate the effect of granularity size on attainable degrees of parallelism. Based on the limited evidence from these experiments, conclusions are offered on the suitability of logic programming languages for programming multiprocessors. 16 refs., 2 tabs.
- Research Organization:
- Argonne National Lab., IL (USA)
- DOE Contract Number:
- W-31109-ENG-38
- OSTI ID:
- 5850969
- Report Number(s):
- ANL/MCS-TM-72; ON: DE86011004
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parallel logic programming in PARLOG: The language and its implementation
Logic simulation on a multiprocessor. Master's thesis