scispace - formally typeset
Proceedings ArticleDOI

Speculative computation in multilisp

Randy B. Osborne
- pp 198-208
Reads0
Chats0
TLDR
The results demonstrate that the support for speculative computation adds expressive and computational power to Multilisp, with observed performance improvement as great as 26 times over conventional approaches to parallel computation.
Abstract
We present experimental evidence that performing computations in parallel before their results are known to be required can yield performance improvements over conventional approaches to parallel computing. We call such eager computation of expressions speculative computation, as opposed to conventional mandatory computation that is used in almost all contemporary parallel programming languages and systems. The two major requirements for speculative computation are: 1) a means to control computation to favor the most promising computations and 2) a means to abort computation and reclaim computation resources.We discuss these requirements in the parallel symbolic language Multilisp and present a sponsor model for speculative computation in Multilisp which handles control and reclamation of computation in a single, elegant framework. We outline an implementation of this sponsor model and present performance results for several applications of speculative computation. The results demonstrate that our support for speculative computation adds expressive and computational power to Multilisp, with observed performance improvement as great as 26 times over conventional approaches to parallel computation.

read more

Citations
More filters

Mul-T: a high-performance parallel Lisp

TL;DR: Mul-T as discussed by the authors is a parallel Lisp system based on Multilisp's future construct that has been developed to run on an Encore Multimax multiprocessor.
Journal ArticleDOI

Implicitly threaded parallelism in manticore

TL;DR: This paper focuses on the implicitly threaded parallel constructs of the Parallel ML language, which support fine-grained parallelism, and presents detailed examples utilizing various mechanisms of the language and gives a formal description of the implementation.
Journal ArticleDOI

A Syntactic Theory of Dynamic Binding

TL;DR: A syntactic theory is presented that enables the programmer to perform equational reasoning on programs using dynamic binding and it is proved to be sound and complete with respect to derivations allowed on programs in “dynamic-environment passing style”.
Journal ArticleDOI

Implicitly-threaded parallelism in Manticore

TL;DR: This paper presents Manticore, a language for building parallel applications on commodity multicore hardware including a diverse collection of parallel constructs for different granularities of work, and focuses on the implicitly-threaded parallel constructs in the high-level functional language.
Proceedings ArticleDOI

Feedback directed implicit parallelism

TL;DR: An automated way of using spare CPU resources within a shared memory multi-processor or multi-core machine to squeeze extra performance out of the threads of an already-parallel program or out of a program that has not yet been parallelized.
References
More filters
Book

Principles of Artificial Intelligence

TL;DR: This classic introduction to artificial intelligence describes fundamental AI ideas that underlie applications such as natural language processing, automatic programming, robotics, machine vision, automatic theorem proving, and intelligent data retrieval.
Book

Structure and Interpretation of Computer Programs

TL;DR: Structure and Interpretation of Computer Programs emphasizes the central role played by different approaches to dealing with time in computational models, appropriate for an introduction to computer science courses, as well as programming languages and program design.
Journal ArticleDOI

MULTILISP: a language for concurrent symbolic computation

TL;DR: A recommended Multilisp programming style is presented which, if followed, should lead to highly parallel, easily understandable programs.
Journal ArticleDOI

A real-time garbage collector based on the lifetimes of objects

TL;DR: In this paper, the authors present a real-time garbage collection algorithm that makes storage for short-lived objects cheaper than storage for longlived objects, and operates in real time.
Journal ArticleDOI

PARLOG: parallel programming in logic

TL;DR: Parlog as discussed by the authors is a logic programming language with parallel modes of evaluation, which is similar to PROLOG in the sense that nearly every definition and query can be read as a sentence of predicate logic.