article

Bounding space usage of conservative garbage collectors

Published:01 January 2002Publication History

Abstract

Conservative garbage collectors can automatically reclaim unused memory in the absence of precise pointer location information. If a location can possibly contain a pointer, it is treated by the collector as though it contained a pointer. Although it is commonly assumed that this can lead to unbounded space use due to misidentified pointers, such extreme space use is rarely observed in practice, and then generally only if the number of misidentified pointers is itself unbounded.We show that if the program manipulates only data structures satisfying a simple GC-robustness criterion, then a bounded number of misidentified pointers can at most result in increasing space usage by a constant factor. We argue that nearly all common data structures are already GC-robust, and it is typically easy to identify and replace those that are not. Thus it becomes feasible to prove space bounds on programs collected by mildly conservative garbage collectors, such as the one in [2]. The worst-case space overhead introduced by such mild conservatism is comparable to the worst-case fragmentation overhead for inherent in any non-moving storage allocator.The same GC-robustness criterion also ensures the absence of temporary space leaks of the kind discussed in [13] for generational garbage collectors.

References

  1. 1 A. Appel. Compiling with Continuations. Cambridge University Press, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 K. Barabash, , N. Buchbinder, T. Domani, B. K. Kolodner, Y. Ossia, S. S. Pinter, J. Shepherd, R. Sivan, and V. Umansky. Mostly accurate stack scanning. In Proceedings of the Usenix Java Virtual Machine gesearvh and Technology Symposium, April 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 J. F. Bartlett. Compacting garbage collection with ambiguous roots. Lisp Pointers, pages 3-12, April-June 1988.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 H.-J. Boehm. Space efficient conservative garbage collection. In SIGPLAN '93 Confervnce on Programming Language Design and Implementation, pages 197-206, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 D. R. Chase. Safety considerations for storage allocation optimization. In SIGPLAN '88 Confervnce on Programming Language Design and Implementation, pages 1-10, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 W. D. Clinger. Proper tail recursion and space efficiency. In SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 174-185, June 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NiP-Completeness. W. H. Freeman and Company, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 M. Hirzel and A. Diwan. On the type accuracy of garbage collection. In Proceedings of the International Symposium on Memory Management 2000, pages 1-11, October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 R. L. Hudson and J. E. B. Moss. Incremental collection of mature objects. In Proceedings of the 1992 International Workshop on Memory Management (LNCS 637), pages 92-109. Springer, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 S. Liang. The Java Native Interface: Programmer's Guide and Specification. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 J. M. Robson. An estimate of the store size necessary for dynamic storage allocation. Journal of the ACM, 18(3):416-42a, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 J. M. Robson. Bounds for some functions concerning dynamic storage allocation. Journal of the AUM, 21(3):491-499, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 N. Rojemo. Generational garbage collection without temporary space leaks. In Prvceedings of the 1995 International Workshop on Memory Management (LNCS 986), pages 145 162. Springer, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 M. Serrano and H.-J. Boehm. Understanding memory allocation of Scheme programs. In Prvceedings of the 2000 International Confervnce on Functional Programming (ICFP), pages 245 256, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 M. Wiser, A. Demers, and C. Hauser. The portable common runtime approach to interoperability. In Pwceedings of the 12th ACM Symposium on Operating Systems Principles, December 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 E. Wentworth. Pitfalls of conservative garbage collection. Sol, ware Practice and Experience, 20(7):719-727, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

(auto-classified)
  1. Bounding space usage of conservative garbage collectors

      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 ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 37, Issue 1
        Jan. 2002
        342 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/565816
        Issue’s Table of Contents
        • cover image ACM Conferences
          POPL '02: Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
          January 2002
          351 pages
          ISBN:1581134509
          DOI:10.1145/503272

        Copyright © 2002 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 January 2002

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!