Parallel programming with pure functional languages

0Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

The use of pure functional languages is often quoted as facilitating the production of parallel algorithms. In this paper we examine the claim that programs written in pure functional languages can be easily transformed into programs which are suitable for implementation on a parallel machine. In particular, we investigate the transformation of a program to a form which is suitable for implementation on a pipelined process network, and then annotate the resulting network using a declarative language called Caliban. The case study which is used for this investigation is an abstract programming model which was designed by Banfitre and Le M6tayer, chosen as it is a non-trivial application which is not obviously well-suited to implementation in a functional language, and which is itself established as a model for concurrency. Program transformation is used to improve the efficiency of the implementation of the model for execution on a loosely-coupled multiprocessor. The parallel execution of the resulting algorithm is simulated in order to obtain estimates of performance measurements, and to gauge the effect of changing the granularity of the process network. Although we find that it is difficult to exploit pipeline parallelism effectively using the transformation techniques investigated here, we see that there is a direct correspondence between programs written in functional languages and distributed process networks, and that this can easily be hamessed by using Caliban. This correspondence, together with the referential transparency of programs written in pure functional languages, indicates that further research into the exploitation of parallelism using these languages is called for.

Cite

CITATION STYLE

APA

Harrison, R. (1992). Parallel programming with pure functional languages. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 574 LNCS, pp. 231–252). Springer Verlag. https://doi.org/10.1007/3-540-55160-3_48

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free