Results 1 
4 of
4
A Provably TimeEfficient Parallel Implementation of Full Speculation
 In Proceedings of the 23rd ACM Symposium on Principles of Programming Languages
, 1996
"... Speculative evaluation, including leniency and futures, is often used to produce high degrees of parallelism. Existing speculative implementations, however, may serialize computation because of their implementation of queues of suspended threads. We give a provably efficient parallel implementation ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
Speculative evaluation, including leniency and futures, is often used to produce high degrees of parallelism. Existing speculative implementations, however, may serialize computation because of their implementation of queues of suspended threads. We give a provably efficient parallel implementation of a speculative functional language on various machine models. The implementation includes proper parallelization of the necessary queuing operations on suspended threads. Our target machine models are a butterfly network, hypercube, and PRAM. To prove the efficiency of our implementation, we provide a cost model using a profiling semantics and relate the cost model to implementations on the parallel machine models. 1 Introduction Futures, lenient languages, and several implementations of graph reduction for lazy languages all use speculative evaluation (callbyspeculation [15]) to expose parallelism. The basic idea of speculative evaluation, in this context, is that the evaluation of a...
An Effective Speculative Evaluation Technique for Parallel Supercombinator Graph Reduction
, 1993
"... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation: The Problems of Parall ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation: The Problems of Parallel Programming . . . . . . . . . . . . . . . . . . . . . 2 1.2 A First Solution: Functional Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 A Refined Solution: Speculative Evaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 A Final Solution: Effective Speculative Evaluation . . . . . . . . . . . . . . . . . . . . . 12 1.5 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2. Supercombinator Graph Reduction . . . . . . . . . . . . . . . . . . . . . . . . . ...
The concurrent language Aldwych
 Proc. 1 st Int. Workshop on RuleBased Programming (RULE
, 2000
"... Abstract. Aldwych is a general purpose programming language which we have developed in order to provide a mechanism for practical programming which can be thought of in an inherently concurrent way. We have described Aldwych elsewhere [13] in terms of a translation to a concurrent logic language. Ho ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. Aldwych is a general purpose programming language which we have developed in order to provide a mechanism for practical programming which can be thought of in an inherently concurrent way. We have described Aldwych elsewhere [13] in terms of a translation to a concurrent logic language. However, it would be more accurate to describe it as translating to a simple operational language which, while able to be represented in a logicprogramming like syntax, has lost much of the baggage associated with “logic programming”. This language is only a little more complex than foundational calculi such as the picalculus. Its key feature is that all variables are moded with a single producer, and some are linear allowing a reversal of polarity and hence interactive communication.
Machine Model Time
"... {jdg,blelloch}f2 cs. emu. edu Speculative evaluation, including leniency and futures, is often used to produce high degrees of parallelism, Existing speculative implement at ions, however, may serialize computation because of their implementation of queues of suspended threads. We give a provably ef ..."
Abstract
 Add to MetaCart
{jdg,blelloch}f2 cs. emu. edu Speculative evaluation, including leniency and futures, is often used to produce high degrees of parallelism, Existing speculative implement at ions, however, may serialize computation because of their implementation of queues of suspended threads. We give a provably efficient parallel implementation of a speculative functional language on vazious machine models. The implementation includes proper parallelization of the necessary queuing operations on suspended threads. Our target machine models are a butterfly net work, hypercube, and PRAM. To prove the efficiency of our implementation, we provide a cost model using a profiling semantics and relate the cost model to implementations on the parallel machine models,