1
Views
0
CrossRef citations to date
0
Altmetric
Original Articles

A Flat Concurrent Prolog Compiler for PARAM

&
Pages 161-164 | Published online: 26 Mar 2015
 

Abstract

We describe a compiler for the Flat Concurrent Prolog language on a message passing multiprocessor architecture. This compiler permits symbolic and declarative programming in the syntax of Guarded Horn Rules. The implementation has been verified and tested on the 64-node PARAM parallel computer developed by C-DAC (Centre for the Development of Advanced Computing, India). Flat Concurrent Prolog (FCP) is a logic programming language designed for concurrent programming and parallel execution. It is a process oriented language, which embodies dataflow synchronization and guarded-command as its basic control mechanisms. An identical algorithm is executed on every processor in the network. We assume regular network topologies like mesh, ring, etc. Each node has a local memory. The algorithm comprises of two important parts: reduction and communication. The most difficult task is to integrate the solutions of problems that arise in the implementation in a coherent and efficient manner. We have tested the efficacy of the compiler on various benchmark problems of the ICOT project that have been reported in the recent book by Evan Tick. These problems include Quicksort, 8-queens, and Prime Number Generation. The results of the preliminary tests are favourable. We are currently examining issues like indexing and load balancing to further optimize our compiler.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.