Skip to main content

Organizing Speculative Computations in Functional Systems

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2011))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. K. J. Berkling Reduction Languages for Reduction Machines Proceedings 2nd Annual International Symposium on Computer Architecture, ACM/IEEE 75CH0916-7C 1975, pages 133–140

    Google Scholar 

  3. 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

    Google Scholar 

  4. 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.

    Google Scholar 

  5. Iain G. Checkland. Speculative Concurrent Evaluation in a Lazy Functional Language. PhD thesis, University of York, Department of Computer Science, 1994.

    Google Scholar 

  6. 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.

    Article  MATH  MathSciNet  Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Google Scholar 

  9. S. L. Peyton Jones. The Implementation of Functional Programming Languages. Computer Science. Prentice-Hall, 1987.

    Google Scholar 

  10. W. E. Kluge. Cooperating Reduction Machines. IEEE Transactions on Computers, C-32:1002–1012, 1983.

    Article  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. Osborne. Speculative Computation in Multilisp. Technical Report DECCRL-90-1, Digital Equipment Corporation, Cambridge Research Lab, 1990.

    Google Scholar 

  14. A. Partridge. Speculative Evaluation in Parallel Implementations of Lazy Functional Languages. PhD thesis, Dept. of Computer Science, University of Tasmania, 1991.

    Google Scholar 

  15. Ehud Shapiro. The Family of Concurrent Logic Programming Languages. ACM Computing Surveys, 21(3):413–510, September 1989.

    Article  Google Scholar 

  16. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics