Results 1 -
4 of
4
The Multi-Architecture Performance of the Parallel Functional Language
, 2000
"... . In principle, functional languages promise straightforward architecture-independent parallelism, because of their high level description of parallelism, dynamic management of parallelism and deterministic semantics. However, these language features come at the expense of a sophisticated compil ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
. In principle, functional languages promise straightforward architecture-independent parallelism, because of their high level description of parallelism, dynamic management of parallelism and deterministic semantics. However, these language features come at the expense of a sophisticated compiler and/or runtime-system. The problem we address is whether such an elaborate system can deliver acceptable performance on a variety of parallel architectures. In particular we report performance measurements for the GUM runtime-system on eight parallel architectures, including massively parallel, distributed-memory, shared-memory and workstation networks. c Springer-Verlag; to appear in \Euro-Par 2000 | Parallel Processing" 1 Introduction Parallel functional languages have several features that should, in theory, enable good performance on a range of platforms. They are typically only semi-explicit about parallelism, containing limited explicit control of parallel behaviour. Inste...
Local Speculative Evaluation for Distributed Graph Reduction
- In [53
"... In a parallel graph reduction system, speculative evaluation can increase parallelism by performing potentially useful computations before they are known to be necessary. Speculative computations may be coded explicitly in a program, or they may be scheduled implicitly by the reduction system as idl ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
In a parallel graph reduction system, speculative evaluation can increase parallelism by performing potentially useful computations before they are known to be necessary. Speculative computations may be coded explicitly in a program, or they may be scheduled implicitly by the reduction system as idle processors become available. A general approach to both kinds of speculation incurs a great deal of overhead that may outweigh the benefits of speculative evaluation for fine-grain speculative tasks. The basic principle of local speculation is to permanently bind all implicit speculative computations to the sparking processor. Should all local mandatory tasks become blocked, local speculation offers a lowcost alternative to task migration. Restricting speculation to the local processor simplifies the problems of speculative task management, and opens the door for fine-grain speculative tasks. Though there are fewer opportunities for local speculation than for more general speculation, loca...
A Distributed Operational Semantics for a Parallel Functional Language
, 2000
"... : We present an operational semantics for a functional parallel language with explicit process creation and implicit message-passing communication. The semantics is based on a distributed memory model and is effective for investigating the interplay between laziness and eagerness in the language, as ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
: We present an operational semantics for a functional parallel language with explicit process creation and implicit message-passing communication. The semantics is based on a distributed memory model and is effective for investigating the interplay between laziness and eagerness in the language, as well as for measuring speculative parallelism. 8.1
Funser: a Functional Server for Textual Information Retrieval
- Journal of Functional Programming
, 1994
"... The paper describes a data-intensive application written in a lazy functional language: a server for textual information retrieval. The design illustrates the importance of interoperability, the capability of interacting with code written in other programming languages. Lazy functional programming i ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The paper describes a data-intensive application written in a lazy functional language: a server for textual information retrieval. The design illustrates the importance of interoperability, the capability of interacting with code written in other programming languages. Lazy functional programming is shown to be a powerful and elegant means of accomplishing several desirable concrete goals: delivering initial results promptly, using space economically, and avoiding unnecessary I/O. Performance results, however, are mixed. 1 Introduction Is it possible to write a "real" application in a pure functional language? This question has been asked many times, at conferences, on Internet newsgroups, and in papers, and perhaps the answer is beginning to be yes. This paper describes work that attempts to answer this question in the context of full-text information retrieval; for this kind of "real" application, we have found the answer to be, for now, maybe. The researchers at the Center for Inf...

