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.
Preview
Unable to display preview. Download preview PDF.
11 References
H. Abelson and G. Sussman. Structure and Interpretation of Computer Programs. M.I.T. Press, Cambridge, MA., 1984.
L. Bagnall. ParVis: A program visualization tool for Multilisp. Master's Thesis, Electrical Engineering and Computer Science, M.I.T., January 1989.
H. Baker and C. Hewitt. The incremental garbage collection of processes. A.I. Lab Memo 454, M.I.T., March 1978.
F. W. Burton. Speculative computation, parallelism, and functional programming. IEEE Trans. on Computers, pages 1190–1193, December 1985.
R. Bubenik and W. Zwaenepoel. An operational semantics for optimistic computations. Technical Report TR89-85, Department of Computer Science, Rice University, February 1989.
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.
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.
B. Epstein. Support for speculative computation in MultiScheme. Bachelor's Thesis, Brandeis University, May 1989.
R. Gabriel. Performance Evaluation of Lisp Systems. M.I.T. Press, 1985.
R. Goldman and R. Gabriel. Qlisp: Parallel processing in Lisp. IEEE Software, pages 51–59, July 1989.
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.
R. Halstead. Multilisp: A language for concurrent symbolic computation. ACM Trans. on Prog. Languages and Systems, pages 501–538, October 1985.
R. Halstead. An assessment of Multilisp: Lessons from experience. International Journal of Parallel Programming, December 1986.
R. Halstead. Parallel symbolic computing. IEEE Computer, pages 35–43, August 1986.
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.
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.
W. Kornfeld and C. Hewitt. The scientific community metaphor. IEEE Trans. on Systems, Man, and Cybernetics, pages 24–33, January 1981.
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.
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.
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.
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.
J. Miller. MultiScheme: A parallel processing system based on MIT Scheme. Technical Report TR-402, Laboratory for Computer Science, M.I.T., September 1987.
R. Nikhil. Id (version 88.0) reference manual. Computation Structures Group Memo 284, Laboratory for Computer Science, M.I.T., March 1988.
N. Nilsson. Principles of Artificial Intelligence. Morgan Kaufmann, 1980.
R. Osborne. Speculative computation in Multilisp. Technical Report TR-464, Laboratory for Computer Science, M.I.T., November 1989.
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.
E. Shapiro. Concurrent Prolog: A progress report. In E. Shapiro, editor, Concurrent Prolog: Collected Papers, Volume 1, Chapter 5. M.I.T. Press, 1987.
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.
K. Ueda. Guarded Horn clauses. In E. Shapiro, editor, Concurrent Prolog: Collected Papers, Volume 1, Chapter 4. M.I.T. Press, 1987.
Author information
Authors and Affiliations
Editor information
Rights 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