skip to main content
article
Free Access

A real-time garbage collector based on the lifetimes of objects

Published:01 June 1983Publication History
Skip Abstract Section

Abstract

In previous heap storage systems, the cost of creating objects and garbage collection is independent of the lifetime of the object. Since objects with short lifetimes account for a large portion of storage use, it is worth optimizing a garbage collector to reclaim storage for these objects more quickly. The garbage collector should spend proportionately less effort reclaiming objects with longer lifetimes. We present a garbage collection algorithm that (1) makes storage for short-lived objects cheaper than storage for long-lived objects, (2) that operates in real time—object creation and access times are bounded, (3) increases locality of reference, for better virtual memory performance, (4) works well with multiple processors and a large address space.

References

  1. 1 Allen, J. Anatomy of Lisp. McGraw-Hill, New York, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Attardi, G., and Hewitt, C. Knowledge embedding in the description system OMEGA. Presented at the American Association for Artificial Intelligence Conf., Stanford Univ., Stanford, Calif., 1980.Google ScholarGoogle Scholar
  3. 3 Baker, H. Actor systems for real time computation. Tech. Rept. TR-197, MIT Lab. for Computer Science, Cambridge, Mass., 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Baker, H.G. List processing in real time on a serial computer. Commun. ACM 21, 4 (April 1978) 280-294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Baker, H. The paging behavior of the Cheney list copying algorithm. Tech. Note 1, Symbolics, Inc., Cambridge, Mass., 1980.Google ScholarGoogle Scholar
  6. 6 Bishop, P. Computer systems with a very large address space and garbage collection. Tech. Rept. TR-178, MIT Lab. for Computer Science, Cambridge, Mass., May 1977.Google ScholarGoogle Scholar
  7. 7 Bobrow, D., and Winograd, T. An overview of KRL: A language for knowledge representation. Cognitive Science 1, (1977).Google ScholarGoogle Scholar
  8. 8 Burstall, R.M., and Darlington, J.L. A transformation system for developing recursive programs. I. ACM 24, 1 (Jan. 1977), 24-77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 deKleer, J., Doyle, J., Rich, C., Steele, G., and Sussman, G. AMORD--A deductive procedure system. Memo 435, MIT Artificial Intelligence Lab., Cambridge, Mass., Jan. 1978.Google ScholarGoogle Scholar
  10. 10 Dautsch, LP., and Bobrow, D.G. An efficient, incremental, automatic garbage collector. Commun. ACM 19, 9 (Sept. 1976), 522-526. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 Dijkstra, E., Lamport, Let el. On-the-fly garbage collection: An exercise in cooperation. Commun. ACM 21, 11 (Nov. 1978}, 966-975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Friedman, D., and Wise, D. Garbage collecting a heap which includes a scatter table. Inf. Process. Lett. 5, 6 {Dec. 1976).Google ScholarGoogle Scholar
  13. 13 Greenblatt, R., Knight, T., Holloway, J., and Moon, D. A Lisp Machine. Presented at the Workshop on Computer Architecture for Non- Numeric Processing. Pacific Grove, Calif., March 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 Guibas, L., and Wyatt, D. Compilation and delayed evaluation in APL. Presented at the 5th ACM Conf. Principles of Programming Languages, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 Hewitt, C. Viewing control structures as patterns of passing messages. In P. Winston and R. Brown (F, ds.), Artificial Intelligence: An MIT Perspective, MIT Press, Cambridge, Mass., 1979.Google ScholarGoogle Scholar
  16. 16 Hewitt, C. The Apiary network architecture for knowledgeable systems. In Prec. 1980 Lisp Conf., Stanford Univ., Stanford, Calif., 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Ingalls, D. The smalhalk-76 programming system: Design and implementation. Presented at the 5th ACM Conf. Principles of Programming Langnages, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 Kornfeld, W. Ether--A parallel problem solving system. Presented at the 6th Joint Conf. Artificial Intelligence, Tokyo, Japan, Aug. 1979.Google ScholarGoogle Scholar
  19. 19 Knnth, D. Garbage collection in real time. Class handout for course CS144C, Stanford Univ., Stanford, Calif., Spring 1981.Google ScholarGoogle Scholar
  20. 20 Liebemmn, H. A preview of act 1. Al Memo 625, M1T Artificial Intelligence Lab., Cambridge, Mass., 1980.Google ScholarGoogle Scholar
  21. 21 Lucassen, J.M. Improvements to the Liebarman-Hewitt garbage collector. Term Paper for MIT course 6.845, May 1981.Google ScholarGoogle Scholar
  22. 22 Moon, D. MacLisp Reference Manual. MIT Lab. for Computer Science, Cambridge, Mass., 1980.Google ScholarGoogle Scholar
  23. 23 Moses, J. The function of Function In Lisp. Memo, ACM SIGSAM Bull., July, 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 Snyder, A. An object-oriented machine architecture. Tech. Rept. TR-209, MIT Lab for Computer Science, Cambridge, Mass., 1979.Google ScholarGoogle Scholar
  25. 25 Weinreh, D., and Moon, D. Lisp Machine Manual. MIT Artificial Intelligence Lab., Cambridge, Mass., 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 White, J. Memory management in a gigantic Lisp environment, or GC considered harmful. In Proc. 1980 Lisp Conf., Stanford, Calif. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A real-time garbage collector based on the lifetimes of objects

                            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

                            Full Access

                            • Published in

                              cover image Communications of the ACM
                              Communications of the ACM  Volume 26, Issue 6
                              June 1983
                              54 pages
                              ISSN:0001-0782
                              EISSN:1557-7317
                              DOI:10.1145/358141
                              Issue’s Table of Contents

                              Copyright © 1983 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 June 1983

                              Permissions

                              Request permissions about this article.

                              Request Permissions

                              Check for updates

                              Qualifiers

                              • article

                            PDF Format

                            View or Download as a PDF file.

                            PDF

                            eReader

                            View online with eReader.

                            eReader