Abstract
On stock hardware, our garbage collector commonly takes under 4% of a system's time and less than 0.2 seconds at each occurrence. It provides an unsurpassed mechanism for reclaiming memory and processing resources in a parallel system. Furthermore, the elementary algorithm is easily extended to a parallel implementation that achieves significant performance improvement without slowing down the operation of user programs.
The garbage collector is also an important component of the system when investigating speculative computation. The requirement that the garbage collector recycle tasks that are no longer performing useful work impacts not only the design of internal data structures, but also affects the semantics of continuations in a parallel system.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
(preliminary version)
This research was supported in part by the Defense Advanced Research Projects Agency and was monitored by the Office of Naval Research under contract numbers N00014-83-K-0125, N00014-84-K-0099, N00014-86-K-0180, and MDA903-84-C-0033. Additional funds and resources were provided by BBN Advanced Computers Inc., and the Hewlett-Packard Corporation.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Hal Abelson and G. J. Sussman. Procedural abstractions in lisp programming. Tentative title, submitted to Byte Magazine, August 1987.
Harold Abelson, Gerald Jay Sussman, and Julie Sussman. Structure and Interpretation of Computer Programs. MIT Press, 1985.
Laura Bagnall et al. The butterfly lisp user interface. Submitted to Workshop on Parallel and Distributed Debugging, 1987.
H. Baker and C. Hewitt. The incremental garbage collection of processes. Technical Report AI Memo 454, Mass. Inst. of Technology, Artificial Intelligence Laboratory, December 1977.
BBN Advanced Computers Inc., Cambridge, MA. Butterfly Common Lisp and Butterfly Scheme Release Notes, February 1989. Release 1.0.
Stewart Michael Clamen. Debugging in a parallel lisp environment. Bachelor's thesis, Mass. Inst. of Technology, 1986.
Anthony James Courtemanche. Multitrash, a parallel garbage collector for multi-Scheme. Bachelor's thesis, Mass. Inst. of Technology, 1986.
Barbara S. Epstein. Support for speculative computation in multiScheme. Bachelor's thesis, Brandeis, 1989.
R. Fenichel and J. Yochelson. A Lisp garbage collector for virtual memory computer systems. Comm. of the ACM, 12(11):611–612, 1969.
R. Halstead. Multilisp: A language for concurrent symbolic computation. In ACM Trans. on Prog. Languages and Systems, pages 501–538, October 1985.
C. Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8(3):323–364, 1977.
Mass. Inst. of Technology, Cambridge, MA. MIT Scheme Reference, Scheme Release 7, 1988.
James Miller. MultiScheme: A Parallel Processing System Based on MIT Scheme. PhD thesis, Mass. Inst. of Technology, August 1987. Available as MIT LCS/TR/402.
James Miller. Implementing a Scheme-based parallel processing system. International Journal of Parallel Processing, 17(5), October 1988.
James Miller and Christopher Hanson. IEEE Draft Standard for the Programming Language Scheme. IEEE. forthcoming.
James Miller and Guillermo Rozas. Free variables and first-class environments. Journal of Lisp and Symbolic Computation, to appear.
Jonathan Rees, Norman Adams, and James Meehan. The t manual. Technical report, Yale University, January 1984. Fourth edition.
Jonathan Rees and William Clinger (editors). Revised3 report on the algorithmic language Scheme. ACM Sigplan Notices, 21(12), December 1986. Also available as MIT AI Memo 818a.
David Ungar. Generation scavenging: A non-distruptive high performance storage reclamation algorithm. ACM SIGPLAN Notices, 19(5):157–167, May 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miller, J.S., Epstein, B.S. (1990). Garbage collection in multischeme. 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/BFb0024153
Download citation
DOI: https://doi.org/10.1007/BFb0024153
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