Results 11 -
13 of
13
Parallel graph reduction for divide-and-conquer applications†Part I- program transformations
"... Aproposal 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, par ..."
Abstract
- Add to MetaCart
Aproposal 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 wav es inthe North sea. Ke y words: divide-and-conquer parallel algorithms parallel graph reduction reduction strategy program annotation program transformation job lifting
A Survey of Sequential and Parallel Implementation Techniques for Functional Programming Languages
, 1995
"... This paper surveys sequential and parallel implementation techniques for functional programming languages, as well as optimizations that can improve their performance. Sequential implementations have evolved from simple interpreters to sophisticated super-combinator-based compilers, while most paral ..."
Abstract
- Add to MetaCart
This paper surveys sequential and parallel implementation techniques for functional programming languages, as well as optimizations that can improve their performance. Sequential implementations have evolved from simple interpreters to sophisticated super-combinator-based compilers, while most parallel implementations have explored a broad range of techniques. We analyze the purpose and function of each implementation technique and discuss the current state-of-the-art in functional language implementation.
Concurrent Functional Processes
, 1995
"... A new concurrent functional programming language CFP for the declarative specification of dynamically evolving process networks is introduced. The main advantage of CFP over previous approaches is that the specification of networks and the specification of internal process behaviour are smoothly ..."
Abstract
- Add to MetaCart
A new concurrent functional programming language CFP for the declarative specification of dynamically evolving process networks is introduced. The main advantage of CFP over previous approaches is that the specification of networks and the specification of internal process behaviour are smoothly integrated without mixing up both domains on the semantic level. Technically, CFP extends a (lazy) Hindley-Milner-typed -calculus with process abstractions and applications. The behaviour of processes is specified by process abstractions in a purely functional way as mapping input to output streams. Process applications lead to the dynamic creation of processes as "second class citizens". Where necessary, lazy evaluation can be overridden by "eager process creation". The redirection of streams by a special operator enables the definition of arbitrary topologies, in particular by variable, higher-order "skeletons". Time-dependent behaviour is supported by predefined non-functional pr...

