Abstract
Speculative evaluation relates to computing several (alternative) threads of control of large programs concurrently without knowing in advance which of them contribute to which extent to final results. This approach may be used to advantage to compute, at the expense of deploying considerable processing power, solutions of np-hard search problems on average a lot faster than sequentially.
This paper addresses the organizational measures necessary to perform speculative computations concurrently in a distributed memory multiprocessor system. They primarily concern task management and scheduling, a fairness regulation scheme which ensures progress of all speculative tasks at about the same pace, and the conflict between fairness and bounded numbers of speculative tasks. Though these measures are discussed in the context of functional languages and systems, they are in principle applicable in the imperative world as well.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Beaumont. Scheduling Strategies and Speculative Work. In Anthony Beaumont and Gopal Gupta, editors, Proceedings of Parallel Execution of Logic Programs (ICLP’ 91), volume 569 of LNCS, pages 120–131, Berlin, Germany, June 1991. Springer.
K. J. Berkling Reduction Languages for Reduction Machines Proceedings 2nd Annual International Symposium on Computer Architecture, ACM/IEEE 75CH0916-7C 1975, pages 133–140
T. Bülck and A. Held and W. E. Kluge and S. Pantke and C. Rathsack and S.-B. Scholz and R. Schröder. Experience with the Implementation of a Concurrent Graph Reduction System on an nCUBE/2 Platform. In B. Buchberger and j. Volkert, editors, Proceedings of CONPAR 94-VAPP IV volume 854 of LNCS, Springer 1994, pages 497–508
H. Bloedorn and W. E. Kluge. Organizing Speculative Computations in the Reduction System π-red.. In Proc. WorkshopPar allel-Algorithmen und Rechnerstrukturen, pages 138–152. Mitteilungen der GI ISSN 0177-0454, 1992.
Iain G. Checkland. Speculative Concurrent Evaluation in a Lazy Functional Language. PhD thesis, University of York, Department of Computer Science, 1994.
D. Gärtner and W. E. Kluge. π-red+—An Interactive Compiling Graph Reduction System for an Applied λ-Calculus. Journal of Functional Programming, 6(5):723–756, 1996.
H. J. Genrich and K. Lautenbach and P. S. Thiagarajan. Elements of General Net Theory In Net Theory and Applications, volume 84 of LNCS, Springer 1980, pages 21–163
B. Hausman. Pruning and Scheduling Speculative Work in OR-Parallel Prolog. In E. Odijk, M. Rem, and J.-C. Syre, editors, Proceedings of the Conference on Parallel Architectures and Languages Europe: Vol. 2, volume 366 of LNCS, Springer 1989, pages 133–150
S. L. Peyton Jones. The Implementation of Functional Programming Languages. Computer Science. Prentice-Hall, 1987.
W. E. Kluge. Cooperating Reduction Machines. IEEE Transactions on Computers, C-32:1002–1012, 1983.
W. E. Kluge. A User’s Guide for the Reduction System π-red. Technical Report 9419, Institut für Informatik und praktische Mathematik, Universität Kiel, December 1994.
J. S. Mattson. An Effective Speculative Evaluation Technique for Parallel Supercombinator Graph Reduction. PhD thesis, Department of Computer Science and Engineering, University of California, San Diego, February 1993.
Osborne. Speculative Computation in Multilisp. Technical Report DECCRL-90-1, Digital Equipment Corporation, Cambridge Research Lab, 1990.
A. Partridge. Speculative Evaluation in Parallel Implementations of Lazy Functional Languages. PhD thesis, Dept. of Computer Science, University of Tasmania, 1991.
Ehud Shapiro. The Family of Concurrent Logic Programming Languages. ACM Computing Surveys, 21(3):413–510, September 1989.
M. T. Vandevoorde and D. Kapur. Distributed Larch Prover (DLP): An Experiment in Parallelizing a Rewrite-Rule Based Prover. volume 1103 of LNCS, Springer 1996, pages 420–423
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schroeder, R., Kluge, W. (2001). Organizing Speculative Computations in Functional Systems. In: Mohnen, M., Koopman, P. (eds) Implementation of Functional Languages. IFL 2000. Lecture Notes in Computer Science, vol 2011. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45361-X_13
Download citation
DOI: https://doi.org/10.1007/3-540-45361-X_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41919-8
Online ISBN: 978-3-540-45361-1
eBook Packages: Springer Book Archive