A Chare Kernel implementation of a parallel prolog compiler

Balkrishna Ramkumar, Laxmikant V. Kalé

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We have designed and implemented a compiler for the parallel execution of Prolog programs as a machine independent application on top of a run time environment for parallel programming called the Chare Kernel. The compiler is based on the Reduce-OR process model for the AND and OR parallel execution of Prolog programs and hence exploits both OR and independent AND parallelism found in Prolog programs. We describe the salient features of the parallel Prolog compiler from the viewpoint of its implementation as a Chare Kernel application. The responsibilities of process creation, load balancing, queueing strategies for work pool management, memory management and interprocess communication are all assumed by the Chare Kernel thereby eliminating these concerns at the application level. We discuss the effectiveness of this separation for a large application like the parallel Prolog compiler. The machine independence property makes the compiler easy to port on all machines, both shared and nonshared, that support the Chare Kernel. The compiler has been implemented on a variety of machines, including the Encore Mnltimax, the Sequent Symmetry, the Intel iPSC/2 hypercube and the Alliant FX/8. We briefly discuss its performance on a range of benchmarks exhibiting AND, OR and AND/OR parallelism on two of these machines. The speedups obtained are linear, demonstrating the effectiveness of the Chare Kernel as a simple, elegant, yet powerful environment for parallel programming.

Original languageEnglish (US)
Title of host publicationProceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990
PublisherAssociation for Computing Machinery
Pages99-108
Number of pages10
ISBN (Electronic)0897913507
DOIs
StatePublished - Feb 1 1990
Event2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990 - Seattle, United States
Duration: Mar 14 1990Mar 16 1990

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
VolumePart F130005

Other

Other2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990
CountryUnited States
CitySeattle
Period3/14/903/16/90

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'A Chare Kernel implementation of a parallel prolog compiler'. Together they form a unique fingerprint.

  • Cite this

    Ramkumar, B., & Kalé, L. V. (1990). A Chare Kernel implementation of a parallel prolog compiler. In Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990 (pp. 99-108). (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP; Vol. Part F130005). Association for Computing Machinery. https://doi.org/10.1145/99163.99175