A proposal is made to base parallel evaluation of functional programs on graph reduction combined with a form of string reduction that avoids duplication of work. Pure graph reduction poses some rather difficult problems to implement on a parallel reduction machine, but with certain restrictions, parallel evaluation becomes feasible. The restrictions manifest themselves in the class of application programs that may benefit from a speedup due to parallel evaluation. Two transformations are required to obtain a suitable version of such programs for the class of architectures considered. It is conceivable that programming tools can be developed to assist the programmer in applying the transformations, but we have not investigated such possibilities. To demonstrate the viability of the method we present four application programs with a complexity ranging from quick sort to a simulation of the tidal waves in the North sea.
|Place of Publication||Amsterdam|
|Publisher||University of Amsterdam|
|Number of pages||29|
|Publication status||Published - Dec 1988|
|Name||PRM project internal report|
|Publisher||Universtity of Amsterdam|
Vree, W. G., & Hartel, P. H. (1988). Parallel graph reduction for divide-and-conquer applications -- Part I: program transformation. (PRM project internal report; No. D-15). Amsterdam: University of Amsterdam.