A Chare Kernel implementation of a parallel prolog compiler

Balkrishna Ramkumar, Laxmikant V Kale

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

Fingerprint

Parallel programming
Resource allocation
Data storage equipment
Communication

ASJC Scopus subject areas

  • Software

Cite this

Ramkumar, B., & Kale, 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

A Chare Kernel implementation of a parallel prolog compiler. / Ramkumar, Balkrishna; Kale, Laxmikant V.

Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990. Association for Computing Machinery, 1990. p. 99-108 (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP; Vol. Part F130005).

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

Ramkumar, B & Kale, LV 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. Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, vol. Part F130005, Association for Computing Machinery, pp. 99-108, 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990, Seattle, United States, 3/14/90. https://doi.org/10.1145/99163.99175
Ramkumar B, Kale LV. 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. Association for Computing Machinery. 1990. p. 99-108. (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP). https://doi.org/10.1145/99163.99175
Ramkumar, Balkrishna ; Kale, Laxmikant V. / A Chare Kernel implementation of a parallel prolog compiler. Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990. Association for Computing Machinery, 1990. pp. 99-108 (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP).
@inproceedings{5206b5e88f8340ffa1850084b1824da7,
title = "A Chare Kernel implementation of a parallel prolog compiler",
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.",
author = "Balkrishna Ramkumar and Kale, {Laxmikant V}",
year = "1990",
month = "2",
day = "1",
doi = "10.1145/99163.99175",
language = "English (US)",
series = "Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP",
publisher = "Association for Computing Machinery",
pages = "99--108",
booktitle = "Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990",

}

TY - GEN

T1 - A Chare Kernel implementation of a parallel prolog compiler

AU - Ramkumar, Balkrishna

AU - Kale, Laxmikant V

PY - 1990/2/1

Y1 - 1990/2/1

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

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

UR - http://www.scopus.com/inward/record.url?scp=85029642238&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85029642238&partnerID=8YFLogxK

U2 - 10.1145/99163.99175

DO - 10.1145/99163.99175

M3 - Conference contribution

AN - SCOPUS:85029642238

T3 - Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

SP - 99

EP - 108

BT - Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1990

PB - Association for Computing Machinery

ER -