Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

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

Published: 01 June 1983 Publication History

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]
Allen, J. Anatomy of Lisp. McGraw-Hill, New York, 1979.
[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.
[3]
Baker, H. Actor systems for real time computation. Tech. Rept. TR-197, MIT Lab. for Computer Science, Cambridge, Mass., 1978.
[4]
Baker, H.G. List processing in real time on a serial computer. Commun. ACM 21, 4 (April 1978) 280-294.
[5]
Baker, H. The paging behavior of the Cheney list copying algorithm. Tech. Note 1, Symbolics, Inc., Cambridge, Mass., 1980.
[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.
[7]
Bobrow, D., and Winograd, T. An overview of KRL: A language for knowledge representation. Cognitive Science 1, (1977).
[8]
Burstall, R.M., and Darlington, J.L. A transformation system for developing recursive programs. I. ACM 24, 1 (Jan. 1977), 24-77.
[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.
[10]
Dautsch, LP., and Bobrow, D.G. An efficient, incremental, automatic garbage collector. Commun. ACM 19, 9 (Sept. 1976), 522-526.
[11]
Dijkstra, E., Lamport, Let el. On-the-fly garbage collection: An exercise in cooperation. Commun. ACM 21, 11 (Nov. 1978}, 966-975.
[12]
Friedman, D., and Wise, D. Garbage collecting a heap which includes a scatter table. Inf. Process. Lett. 5, 6 {Dec. 1976).
[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.
[14]
Guibas, L., and Wyatt, D. Compilation and delayed evaluation in APL. Presented at the 5th ACM Conf. Principles of Programming Languages, 1978.
[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.
[16]
Hewitt, C. The Apiary network architecture for knowledgeable systems. In Prec. 1980 Lisp Conf., Stanford Univ., Stanford, Calif., 1980.
[17]
Ingalls, D. The smalhalk-76 programming system: Design and implementation. Presented at the 5th ACM Conf. Principles of Programming Langnages, 1978.
[18]
Kornfeld, W. Ether--A parallel problem solving system. Presented at the 6th Joint Conf. Artificial Intelligence, Tokyo, Japan, Aug. 1979.
[19]
Knnth, D. Garbage collection in real time. Class handout for course CS144C, Stanford Univ., Stanford, Calif., Spring 1981.
[20]
Liebemmn, H. A preview of act 1. Al Memo 625, M1T Artificial Intelligence Lab., Cambridge, Mass., 1980.
[21]
Lucassen, J.M. Improvements to the Liebarman-Hewitt garbage collector. Term Paper for MIT course 6.845, May 1981.
[22]
Moon, D. MacLisp Reference Manual. MIT Lab. for Computer Science, Cambridge, Mass., 1980.
[23]
Moses, J. The function of Function In Lisp. Memo, ACM SIGSAM Bull., July, 1970.
[24]
Snyder, A. An object-oriented machine architecture. Tech. Rept. TR-209, MIT Lab for Computer Science, Cambridge, Mass., 1979.
[25]
Weinreh, D., and Moon, D. Lisp Machine Manual. MIT Artificial Intelligence Lab., Cambridge, Mass., 1978.
[26]
White, J. Memory management in a gigantic Lisp environment, or GC considered harmful. In Proc. 1980 Lisp Conf., Stanford, Calif.

Cited By

View all
  • (2023)Heap Size Adjustment with CPU ControlProceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3617651.3622988(114-128)Online publication date: 19-Oct-2023
  • (2023)A Comprehensive Study on Different Optimizations of Pure Reference Counting Garbage Collectors2023 International Conference on Computational Intelligence, Networks and Security (ICCINS)10.1109/ICCINS58907.2023.10450100(1-6)Online publication date: 22-Dec-2023
  • (2023)BestGC: An Automatic GC SelectorIEEE Access10.1109/ACCESS.2023.329439811(72357-72373)Online publication date: 2023
  • Show More Cited By

Index Terms

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

                            Recommendations

                            Comments

                            Please enable JavaScript to view thecomments powered by Disqus.

                            Information & Contributors

                            Information

                            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
                            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: 01 June 1983
                            Published in CACM Volume 26, Issue 6

                            Permissions

                            Request permissions for this article.

                            Check for updates

                            Author Tags

                            1. LISP
                            2. algorithms
                            3. languages
                            4. lisp
                            5. object-oriented programming
                            6. parallel processing
                            7. performance
                            8. real-time garbage collection
                            9. reference counting
                            10. virtual memory

                            Qualifiers

                            • Article

                            Contributors

                            Other Metrics

                            Bibliometrics & Citations

                            Bibliometrics

                            Article Metrics

                            • Downloads (Last 12 months)308
                            • Downloads (Last 6 weeks)44
                            Reflects downloads up to 19 Nov 2024

                            Other Metrics

                            Citations

                            Cited By

                            View all
                            • (2023)Heap Size Adjustment with CPU ControlProceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3617651.3622988(114-128)Online publication date: 19-Oct-2023
                            • (2023)A Comprehensive Study on Different Optimizations of Pure Reference Counting Garbage Collectors2023 International Conference on Computational Intelligence, Networks and Security (ICCINS)10.1109/ICCINS58907.2023.10450100(1-6)Online publication date: 22-Dec-2023
                            • (2023)BestGC: An Automatic GC SelectorIEEE Access10.1109/ACCESS.2023.329439811(72357-72373)Online publication date: 2023
                            • (2023)Pattern-based circular reference detection in PythonScience of Computer Programming10.1016/j.scico.2023.102932227(102932)Online publication date: Apr-2023
                            • (2023)BibliographyEngineering a Compiler10.1016/B978-0-12-815412-0.00023-1(793-813)Online publication date: 2023
                            • (2023)Implementing ProceduresEngineering a Compiler10.1016/B978-0-12-815412-0.00012-7(275-325)Online publication date: 2023
                            • (2022)Low-latency, high-throughput garbage collectionProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523440(76-91)Online publication date: 9-Jun-2022
                            • (2021)Higher-order concurrency for microcontrollersProceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3475738.3480716(26-35)Online publication date: 29-Sep-2021
                            • (2020)BaranProceedings of the VLDB Endowment10.14778/3407790.340780113:12(1948-1961)Online publication date: 14-Sep-2020
                            • (2020)Designing Interactions Beyond Conscious ControlProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/34118294:3(1-23)Online publication date: 4-Sep-2020
                            • Show More Cited By

                            View Options

                            View options

                            PDF

                            View or Download as a PDF file.

                            PDF

                            eReader

                            View online with eReader.

                            eReader

                            Login options

                            Full Access

                            Media

                            Figures

                            Other

                            Tables

                            Share

                            Share

                            Share this Publication link

                            Share on social media