skip to main content
10.1145/91556.91644acmconferencesArticle/Chapter ViewAbstractPublication PageslfpConference Proceedingsconference-collections
Article
Free Access

Speculative computation in multilisp

Authors Info & Claims
Published:01 May 1990Publication History

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.

References

  1. Bur85.F.W. Burton. Speculative computation, parallelism, and functional programming. IEEE Trans. on Computers, pages 1190-1193, December 1985.Google ScholarGoogle Scholar
  2. CG87.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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. CSM88.T. Chikayama, H. Sato, and T. Miyazaki. Overview of the parallel inference machine operating system (PIMOS). In Int'l. Con/. on Fifth Generation Computer Systems, pages 230-251, 1988.Google ScholarGoogle Scholar
  4. Eps89.B. Epstein. Support for speculative computation in MultiScheme. Bachelor's Thesis, Brandeis University, May 1989.Google ScholarGoogle Scholar
  5. Gab85.R. Gabriel. Per/or~rnance Evaluation of Lisp Systems. M.I.T. Press, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. GG89.R. Goldman and R. Gabriel. Qlisp: Parallel processing in Lisp. IEEE Software, pages 51-59, July 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. GP81.D. Grit and R. Page. Deleting irrelevant tasks in an expression-oriented multiprocessor system. A CM Trans. on Prog. Languages and Systems, pages 49-59, October 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Hal85.R. Halstead. Multilisp: A language for concurrent symbolic computation. A CM Trans. on Prog. Languages and Systems, pages 501-538, October 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. HAOS86.R. Halstead, T. Anderson, R. Osborne, and T. Sterling. Concert: Design of a multlprocessor development system. In 13th Annual Syrup. on Computer Architecture, pages 40-48, June 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. HK82.P. Hudak and R. Keller. Garbage collection and task deletion in Distributed Applicative Processing Systems. In Proceedings 1982 A CM Con/. on Lisp and Functional Prog., pages 168-178, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. KH81.W. Kornfeld and C. Hewitt. The scientific community metaphor. IEEE Trans. on Systems, Man, and Cybernetics, pages 24-33, January 1981.Google ScholarGoogle Scholar
  12. KHM89.D. Kranz, R. Halstead, and E. Mohr. MuI~T: A hlgh-performance parallel Lisp. In SigPlan Conf. on Prog. Language Design and Implementation, pages 81-90, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. KM86.E. Krall and P. McGehearty. A case study of parallel execution of a rule-based expert system. Int'l. Journal o/Parallel Prograrnrning, pages 5- 32, January 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lus88.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 ScholarGoogle Scholar
  15. Mil87.J. Miller. MultiScheme: A parallel processing system based on MIT Scheme. Technical Report TR-402, L~boratory for Computer Science, M.I.T., September 1987.Google ScholarGoogle Scholar
  16. Nil80.N. Nilsson. Principles of Artificial Intelligence. Morgan Kaufmann, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Osb89.R. Osborne. Speculative computation in Multilisp. Technical Report TR-464, Laboratory for Computer Science, M.I.T., November 1989.Google ScholarGoogle Scholar
  18. Osb90.R. Osborne. Speculative parallelism in Multilisp. In T. Ito and R. Ha}stead, editors, Parallel Lisp: Languages and Systems, Proceedings of U.S./Japan Workahop on Parallel Lisp. Lecture Notes in Computer Science, Springer- Verlag, 1990. To be published. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. PD89.A. Partridge and A. Dekker. Speculative parallelism in a distributed graph reduction machine. In Bruce Shriver, editor, Proceedings of ~r~d An. nual Hawaii Int'l Conf. on System Sciences, Volume 2, pages 771-779, 1989.Google ScholarGoogle Scholar
  20. Sha87.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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sol89.R. Soley. On the efficient exploitation of speculation under datattow paradigms of control. Technical Report Ttk-443, Laboratory for Computer Science, M.I.T., 1989.Google ScholarGoogle Scholar
  22. Ued87.K. Ueda. Guarded Horn clauses. In E. Shapiro, editor, Concurrent Prolog: Collected Papers, Volume 1, Chapter 4. M.I.T. Press, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Speculative computation in multilisp

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            LFP '90: Proceedings of the 1990 ACM conference on LISP and functional programming
            May 1990
            348 pages
            ISBN:089791368X
            DOI:10.1145/91556

            Copyright © 1990 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 May 1990

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate30of109submissions,28%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader