Results 1 
4 of
4
Implementation Skeletons in Eden: LowEffort Parallel Programming
, 2001
"... Algorithmic skeletons dene general patterns of computation which are useful for exposing the computational structure of a program. Being general structures they qualify as a target for parallelisation, which is most often carried out by providing specialised, nonportable, lowlevel parallel imple ..."
Abstract

Cited by 17 (4 self)
 Add to MetaCart
Algorithmic skeletons dene general patterns of computation which are useful for exposing the computational structure of a program. Being general structures they qualify as a target for parallelisation, which is most often carried out by providing specialised, nonportable, lowlevel parallel implementations (architectural skeletons) of each algorithmic skeleton for different platforms. In the paper we introduce an intermediate layer of implementation skeletons for the parallel functional language Eden. These are portable highlevel skeletons which simplify the design of parallel programs substantially. Runtime experiments on a network of workstations and on a Beowulf cluster have shown that even on such highlatency parallel platforms good speedups can be obtained.
Dynamic Chunking in Eden
 Implementation of Functional Languages, IFL 2003, Revised Selected Papers. LNCS
, 2004
"... Abstract. Parallel programming generally requires awareness of the granularity and communication requirements of parallel subtasks, since without precaution, the overhead for parameter and result communication may outweigh the gain of parallel processing. While this problem is often solved explicitl ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Parallel programming generally requires awareness of the granularity and communication requirements of parallel subtasks, since without precaution, the overhead for parameter and result communication may outweigh the gain of parallel processing. While this problem is often solved explicitly at the language level, it can also be alleviated by optimising message passing mechanisms in the runtime environment. We describe how a simple buffering mechanism introduces dynamic list chunking in the runtime environment of the parallel functional language Eden. We discuss design and implementation aspects of dynamic chunking and compare its effects to the original version in a set of measurements. Our optimisation is justified by a simple cost model, measurements analyse the overhead and illustrate the impact of the changed message passing mechanism. 1
Parallel FFT with Eden Skeletons
 in Parallel Computing Technologies, ser. LNCS 5698
, 2009
"... Abstract. The notion of Fast Fourier Transformation (FFT) describes a range of efficient algorithms to compute the discrete Fourier transformation, frequency distribution in a signal. FFT plays a major role both for pure mathematical applications and for reallife scenarios such as digital signal pr ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. The notion of Fast Fourier Transformation (FFT) describes a range of efficient algorithms to compute the discrete Fourier transformation, frequency distribution in a signal. FFT plays a major role both for pure mathematical applications and for reallife scenarios such as digital signal processing. The paper investigates and compares skeletonbased parallel Haskell implementations of different FFTalgorithms on workstation clusters with distributed memory. Our experiments show that the original divideandconquer versions suffer from an inherent input distribution and result collection problem, because huge amounts of data have to be communicated. Advanced approaches like distributable homomorphism FFT or multidimensional FFT provide more flexibility to overcome these problems. Assuming a distributed access to input data and reorganising computation in such a way that the results can be returned in a distributed way leads to versions with an acceptable parallel runtime behaviour.
Under consideration for publication in J. Functional Programming 1 Parallel Functional Programming in Eden
"... Eden extends the nonstrict functional language Haskell with constructs to control parallel evaluation of processes. Although processes are defined explicitly, communication and synchronisation issues are handled in a way transparent to the programmer. In order to offer effective support for paralle ..."
Abstract
 Add to MetaCart
(Show Context)
Eden extends the nonstrict functional language Haskell with constructs to control parallel evaluation of processes. Although processes are defined explicitly, communication and synchronisation issues are handled in a way transparent to the programmer. In order to offer effective support for parallel evaluation, Eden’s coordination constructs override the inherently sequential demanddriven (lazy) evaluation strategy of its computation language Haskell. Eden is a generalpurpose parallel functional language suitable for developing sophisticated skeletons—which simplify parallel programming immensely—as well as for exploiting more irregular parallelism that cannot easily be captured by a predefined skeleton. The paper gives a comprehensive description of Eden, its semantics, its skeletonbased programming methodology—which is applied in three case studies—, its implementation and performance. Furthermore it points at many additional results that have been achieved