Results 1 -
7 of
7
Bypassing of Channels in Eden
, 2000
"... . We describe automatic bypassing, a desirable optimization of Eden's implementation aimed at reducing the number of messages and/or threads at runtime. Eden [BLOMP97] extends the lazy functional language Haskell with a set of coordination features, aimed to express parallel algorithms. These inc ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
. We describe automatic bypassing, a desirable optimization of Eden's implementation aimed at reducing the number of messages and/or threads at runtime. Eden [BLOMP97] extends the lazy functional language Haskell with a set of coordination features, aimed to express parallel algorithms. These include process abstractions (or process schemes) and process instantiations (or applications of a process scheme to actual inputs). When a new process is instantiated, their input and output channels are connected to its parent process. This implies that, in principle, only tree--like process topologies can be created. But the aimed topology may not be hierarchical (e.g. pipelines, grids, etc.). It is desirable to be able to connect every producer to its actual consumer, trying to avoid the intermediate processes frequently used only to set up the topology. The strategy consists of a combination of compile time analysis and runtime support. Both are explained in detail. Also, the savin...
From GranSim to Paradise
"... We describe PARADISE (PARAllel DIstribution Simulator for Eden) a simulator developed to profile the execution of programs written in the parallel functional programming language Eden [BLOMP96], [BLOMP97]. Eden extends the lazy functional language Haskell by syntactic constructs to explicitly define ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
We describe PARADISE (PARAllel DIstribution Simulator for Eden) a simulator developed to profile the execution of programs written in the parallel functional programming language Eden [BLOMP96], [BLOMP97]. Eden extends the lazy functional language Haskell by syntactic constructs to explicitly define processes. Paradise is a substantial modification of GranSim [HLP94], [Loi96], [Loi98], a tool to study the dynamic behaviour of GpH (Glasgow Parallel Haskell [THJ + 96]) programs. We describe the basic differences, in the one hand between GpH and Eden, and in the other hand between GranSim and Paradise. After that, we present the new facilities we want for our simulator and the current status of the implementation. Examples of actual and foreseen graphics are given along the text.
Towards a Mobile Haskell
, 2003
"... This paper proposes a set of communication primitives for Haskell, to be used in open distributed systems, i.e. systems where multiple executing programs can interact using a prede ned protocol. Functions are \ rst class citizens" in a functional language, hence it would be natural transfer th ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
This paper proposes a set of communication primitives for Haskell, to be used in open distributed systems, i.e. systems where multiple executing programs can interact using a prede ned protocol. Functions are \ rst class citizens" in a functional language, hence it would be natural transfer them between programs in a distributed system. However, existing distributed Haskell extensions are limited to closed systems or restrict the set of expressions that can be communicated. The former eectively prohibits large-scale distribution, whereas the latter sacri ces key abstraction constructs. A functional language that allows the communication of functions in an open system can be seen as a mobile computation language, hence we call our extension mHaskell (Mobile Haskell). We demonstrate how the proposed communication primitives can be used to implement more powerful abstractions, such as remote evaluation, and that common patterns of communication can be encoded as higher order functions or mobile skeletons. The design has been validated by constructing a prototype in Glasgow Distributed Haskell, and a compiled implementation is under construction.
Implementing a High-level Distributed-Memory Parallel Haskell in Haskell
"... Abstract. We present the initial design, implementation and preliminary evaluation of a new distributed memory parallel Haskell, HdpH. The language is a shallowly embedded parallel extension of Haskell that supports high-level semiexplicit parallelism, is scalable, and has the potential for fault to ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We present the initial design, implementation and preliminary evaluation of a new distributed memory parallel Haskell, HdpH. The language is a shallowly embedded parallel extension of Haskell that supports high-level semiexplicit parallelism, is scalable, and has the potential for fault tolerance. The HdpH implementation is designed for maintainability without compromising performance too severely. To provide maintainability the implementation is modular and layered and, crucially, coded in vanilla Concurrent Haskell. Initial performance results are promising for three simple data parallel or divide-and-conquer programs, e.g. an absolute speedup of 135 on 168 cores of a Beowulf cluster. 1
High-level Process Control in Eden
- EuroPar 2003 — Intl. Conf. on Parallel and Distributed Computing, volume 2790 of LNCS
, 2003
"... High-level control of parallel process behaviour simplifies the development of parallel software substantially by freeing the programmer from low-level process management and coordination details. The latter are handled by a sophisticated runtime system which controls program execution. In this pape ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
High-level control of parallel process behaviour simplifies the development of parallel software substantially by freeing the programmer from low-level process management and coordination details. The latter are handled by a sophisticated runtime system which controls program execution. In this paper we look behind the scenes and show how the enormous gap between high-level parallel language constructs and their low-level implementation has been bridged in the implementation of the parallel functional language Eden. The main idea has been to specify the process control in a functional language and to restrict the extensions of the low-level runtime system to a few selected primitive operations.
Motivation for Glasgow distributed Haskell, a non-strict Functional Language
, 1999
"... Introduction Many applications, particularly those with multiple users are most naturally structured as a collection of processes distributed over a number of machines. Examples include multi-user games and simulations, distance learning tools, and software development environments. The advent of t ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Introduction Many applications, particularly those with multiple users are most naturally structured as a collection of processes distributed over a number of machines. Examples include multi-user games and simulations, distance learning tools, and software development environments. The advent of the world wide web has stimulated the development of distributed applications, and the technology to support them 5;6;9;12;28 . Large-scale distributed applications may have components written in multiple languages, supplied by several vendors and executed on a heterogeneous collection of platforms. They also have elaborate mechanisms for managing the failure of components of the system. Large-scale distribution is supported by standard interfaces like CORBA 31 or Microsoft DCOM 22 , and entails considerable machinery. In contrast, small-scale distribution entails components written in a single language, is typically constructed by a single vendor, and is often restricted to an homoge
Deriving Non-Hierarchical Process Topologies
"... Eden is a parallel functional language which extends Haskell with new expressions to define and instantiate processes. These extensions allow the easy definition of parallel process topologies as higher order functions. ..."
Abstract
- Add to MetaCart
Eden is a parallel functional language which extends Haskell with new expressions to define and instantiate processes. These extensions allow the easy definition of parallel process topologies as higher order functions.

