Results 1 -
3 of
3
Graph Reduction on Shared-Memory Multiprocessors
, 1993
"... Machine for Parallel Graph Reduction [George89] is another shared memory implementation based on the sequential G-machine. A prototype implementation has been constructed for the BBN Butterfly multiprocessor, which consists of a number (15) of processing elements (MC68020 + 4Mbyte memory) interconne ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Machine for Parallel Graph Reduction [George89] is another shared memory implementation based on the sequential G-machine. A prototype implementation has been constructed for the BBN Butterfly multiprocessor, which consists of a number (15) of processing elements (MC68020 + 4Mbyte memory) interconnected through a delta network. Each processor can access transparently all memory in the whole machine, but local references are at least five times faster than references to remote memory. Therefore locality considerations have been taken into account in the AMPGR design. The AMPGR machine, unlike the !;G?-machine, is driven by compiler derived parallelism based on strictness analysis. The compiler inserts explicit spark instructions in the G-code whenever it can derive that a particular expression is needed; corresponding wait instructions are generated prior to the actual usage of the expression. To overcome the synchronisation overheads associated with large numbers of fine-grain tasks, m...
Reducing Graph Copying Costs. Time to Wrap it Up
- Proc. PASCO '94 --- First Intl. Symposium on Parallel Symbolic Computation, Hagenberg
, 1994
"... : Graph copying is used in parallel implementations of functional languages on architectures with distributed memory. This paper will explore the costs of graph copying in detail. It will make clear that these costs can form a bottleneck for a class of serious parallel programs. This not only compri ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
: Graph copying is used in parallel implementations of functional languages on architectures with distributed memory. This paper will explore the costs of graph copying in detail. It will make clear that these costs can form a bottleneck for a class of serious parallel programs. This not only comprises practical divide and conquer style programs - of which parallel matrix multiplication is an example -, but also programs that use pipelines, such as the sieve of Erathostenes. One can observe that copying costs vary widely for different data structures. We will show how arrays can be used to reduce copying costs considerably. This resulted in significant speed-ups for the examples above. Keywords: parallel functional programming, distributed memory, graph copying, graph conversions, delays 1. Introduction Graph rewriting systems have been studied as a computational model for functional languages and their implementation. The lazy functional language Concurrent Clean, for instance, is bas...
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.

