Skip to main content

Speculative computation in multilisp

  • Part I Parallel Lisp Languages and Programming Models
  • Conference paper
  • First Online:
Parallel Lisp: Languages and Systems (PSC 1989)

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

Included in the following conference series:

Abstract

We demonstrate by experiments 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 describe 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.

This research was performed as part of the author's doctoral work at the M.I.T. Laboratory for Computer Science.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

11 References

  1. H. Abelson and G. Sussman. Structure and Interpretation of Computer Programs. M.I.T. Press, Cambridge, MA., 1984.

    Google Scholar 

  2. L. Bagnall. ParVis: A program visualization tool for Multilisp. Master's Thesis, Electrical Engineering and Computer Science, M.I.T., January 1989.

    Google Scholar 

  3. H. Baker and C. Hewitt. The incremental garbage collection of processes. A.I. Lab Memo 454, M.I.T., March 1978.

    Google Scholar 

  4. F. W. Burton. Speculative computation, parallelism, and functional programming. IEEE Trans. on Computers, pages 1190–1193, December 1985.

    Google Scholar 

  5. R. Bubenik and W. Zwaenepoel. An operational semantics for optimistic computations. Technical Report TR89-85, Department of Computer Science, Rice University, February 1989.

    Google Scholar 

  6. K. Clark and S. Gregory. Parlog: Parallel programming in logic. In E. Shapiro, editor, Concurrent Prolog: Collected Papers, Volume 1, Chapter 3. M.I.T. Press, 1987.

    Google Scholar 

  7. T. Chikayama, H. Sato, and T. Miyazaki. Overview of the parallel inference machine operating system (PIMOS). In Int'l. Conf. on Fifth Generation Computer Systems, pages 230–251, 1988.

    Google Scholar 

  8. B. Epstein. Support for speculative computation in MultiScheme. Bachelor's Thesis, Brandeis University, May 1989.

    Google Scholar 

  9. R. Gabriel. Performance Evaluation of Lisp Systems. M.I.T. Press, 1985.

    Google Scholar 

  10. R. Goldman and R. Gabriel. Qlisp: Parallel processing in Lisp. IEEE Software, pages 51–59, July 1989.

    Google Scholar 

  11. D. Grit and R. Page. Deleting irrelevant tasks in an expression-oriented multi-processor system. ACM Trans. on Prog. Languages and Systems, pages 49–59, October 1981.

    Google Scholar 

  12. R. Halstead. Multilisp: A language for concurrent symbolic computation. ACM Trans. on Prog. Languages and Systems, pages 501–538, October 1985.

    Google Scholar 

  13. R. Halstead. An assessment of Multilisp: Lessons from experience. International Journal of Parallel Programming, December 1986.

    Google Scholar 

  14. R. Halstead. Parallel symbolic computing. IEEE Computer, pages 35–43, August 1986.

    Google Scholar 

  15. R. Halstead, T. Anderson, R. Osborne, and T. Sterling. Concert: Design of a multiprocessor development system. In 13th Annual Symp. on Computer Architecture, pages 40–48, June 1986.

    Google Scholar 

  16. P. Hudak and R. Keller. Garbage collection and task deletion in Distributed Applicative Processing Systems. In Proceedings 1982 ACM Conf. on Lisp and Functional Prog., pages 168–178, 1982.

    Google Scholar 

  17. W. Kornfeld and C. Hewitt. The scientific community metaphor. IEEE Trans. on Systems, Man, and Cybernetics, pages 24–33, January 1981.

    Google Scholar 

  18. D. Kranz, R. Halstead, and E. Mohr. Mul-T: A high-performance parallel Lisp. In SigPlan Conf. on Prog. Language Design and Implementation, pages 81–90, 1989.

    Google Scholar 

  19. E. Krall and P. McGehearty. A case study of parallel execution of a rule-based expert system. Int'l. Journal of Parallel Programming, pages 5–32, January 1986.

    Google Scholar 

  20. H. Lieberman and C. Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, pages 419–429, June 1983.

    Google Scholar 

  21. E. Lusk et al. The Aurora Or-parallel Prolog system. In Proc. of Int'l. Conf. on Fifth Generation Computer Systems, pages 819–830, 1988.

    Google Scholar 

  22. J. Miller. MultiScheme: A parallel processing system based on MIT Scheme. Technical Report TR-402, Laboratory for Computer Science, M.I.T., September 1987.

    Google Scholar 

  23. R. Nikhil. Id (version 88.0) reference manual. Computation Structures Group Memo 284, Laboratory for Computer Science, M.I.T., March 1988.

    Google Scholar 

  24. N. Nilsson. Principles of Artificial Intelligence. Morgan Kaufmann, 1980.

    Google Scholar 

  25. R. Osborne. Speculative computation in Multilisp. Technical Report TR-464, Laboratory for Computer Science, M.I.T., November 1989.

    Google Scholar 

  26. A. Partridge and A. Dekker. Speculative parallelism in a distributed graph reduction machine. In Bruce Shriver, editor, Proceedings of 22nd Annual Hawaii Int'l Conf. on System Sciences, Volume 2, pages 771–779, 1989.

    Google Scholar 

  27. E. Shapiro. Concurrent Prolog: A progress report. In E. Shapiro, editor, Concurrent Prolog: Collected Papers, Volume 1, Chapter 5. M.I.T. Press, 1987.

    Google Scholar 

  28. R. Soley. On the efficient exploitation of speculation under dataflow paradigms of control. Technical Report TR-443, Laboratory for Computer Science, M.I.T., 1989.

    Google Scholar 

  29. K. Ueda. Guarded Horn clauses. In E. Shapiro, editor, Concurrent Prolog: Collected Papers, Volume 1, Chapter 4. M.I.T. Press, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Robert H. Halstead Jr.

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Osborne, R.B. (1990). Speculative computation in multilisp. In: Ito, T., Halstead, R.H. (eds) Parallel Lisp: Languages and Systems. PSC 1989. Lecture Notes in Computer Science, vol 441. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024152

Download citation

  • DOI: https://doi.org/10.1007/BFb0024152

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52782-4

  • Online ISBN: 978-3-540-47143-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics