Performance and evaluation of LISP systems
Performance and evaluation of LISP systems
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concert: design of a multiprocessor development system
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
A case study of parallel execution of a rule-based expert system
International Journal of Parallel Programming
Principles of artificial intelligence
Principles of artificial intelligence
PARLOG: Parallel programming in logic
Concurrent Prolog
Concurrent Prolog
Concurrent Prolog: a progress report
Concurrent Prolog
Mul-T: a high-performance parallel Lisp
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Deleting Irrelevant Tasks in an Expression-Oriented Multiprocessor System
ACM Transactions on Programming Languages and Systems (TOPLAS)
Qlisp: Parallel Processing in Lisp
IEEE Software
Speculative Computation in Multilisp
Proceedings of the US/Japan Workshop on Parallel Lisp: Languages and Systems
Garbage collection and task deletion in distributed applicative processing systems
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
A customizable substrate for concurrent languages
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Locality, causality and continuations
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Scheduling speculative tasks in a compute farm
SC '05 Proceedings of the 2005 ACM/IEEE conference on Supercomputing
Design and semantics of quantum: a language to control resource consumption in distributed computing
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Feedback directed implicit parallelism
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
A scheduling framework for general-purpose parallel languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Implicitly threaded parallelism in manticore
Journal of Functional Programming
Hi-index | 0.00 |
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.