Skip to main content

Object type directed garbage collection to improve locality

  • Improving Locality
  • Conference paper
  • First Online:
Book cover Memory Management (IWMM 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 637))

Included in the following conference series:

Abstract

Most garbage collected systems have excessive need for RAM to achieve reasonable performance without too much paging. The reason for such poor locality is the way data are organized in the heap. Conventional organization approaches such as breadth-first ordering do not always bring objects in the same active working set together. When such co-active objects are distributed throughout the heap (on different memory pages), high paging costs will result from accessing objects during execution. To alleviate such poor ordering, researchers have tried many different approaches: depth-first ordering, dynamic reorganization, object creation ordering, and hierarchical decomposition. Each of these approaches has its associated costs, effectiveness, and limitations. This paper presents a new ordering approach to improve locality. By paying a little attention to object type and format, effective heuristics can be derived to group co-active objects together. To investigate this idea, a number of such object type directed grouping techniques are incorporated into a Scheme-48 system. Page fault reduction of up to an order of magnitude was observed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ndre, D.L.: ”Paging in Lisp Programs,” M.S. Thesis, University of Maryland, 1986.

    Google Scholar 

  2. Cattell, R.G.G.: Object Data Management. Reading, MA: Addison-Welsey.

    Google Scholar 

  3. Caudill, P., Wirfs-Brock, A.: ”A third generation Smalltalk-80 implementation.” OOPSLA'86 Conference Proceedings, pages 119–130, Portland, OR, September 1986.

    Google Scholar 

  4. Chambers, C., Ungar, D.: ”Customization: Optimizing Compiler Technology for SELF, a Dynamically-Typed Object Oriented Language.” Proc. SIGPLAN 89 Conference on Programming Language Design and Implementation, June 1989.

    Google Scholar 

  5. Cheney, C.: ”A nonrecursive list compacting algorithm,” Communications of the ACM, 13(11):677–678, November 1970.

    Article  Google Scholar 

  6. Courts, R.: ”Improving locality of reference in a garbage-collecting memory management system.” Communications of the ACM, 31(9):1128–1138, September 1988.

    Google Scholar 

  7. Fenichel, R., and Yochelson, J.: ”A Lisp garbage-collector for virtual memory computer systems.” Communications of the ACM, 12(11):611–612, November 1969.

    Article  Google Scholar 

  8. Lieberman, H., and Hewitt, C.: ”A real-time garbage collector based on the lifetimes of objects,” Communications of the ACM, 26(6):419–429, June 1983.

    Google Scholar 

  9. McCarthy, J.: ”Recursive functions of symbolic expressions and their computations by machine, part I.,” Communications of the ACM, 3(4):184–195, April 1960.

    Article  Google Scholar 

  10. Moon, D.: ”Garbage collection in a large Lisp system,” 1984 ACM Symposium on LISP and Functional Programming, pages 235–246, Austin, Texas, August 1984.

    Google Scholar 

  11. Rees, J.A., Clinger, W., et al.: ”Revised Report on the Algorithmic Language Scheme,” Sigplan Notice 21, 21,12 pages 37–39, December 1986.

    Google Scholar 

  12. Shaw, R.: Empirical analysis of a LISP System. PhD thesis, Stanford University, February 1986.

    Google Scholar 

  13. Stamos, J.W.: ”Static grouping of small objects to enhance performance of a paged virtual memory,” ACM Transactions on Programming Languages and Systems, 2(2), May 1984, pp. 155–180.

    Google Scholar 

  14. Steele, G., Sussman, G.: The revised report on Scheme, a dialect of Lisp. MIT Artificial Intelligence Memo, January 1978.

    Google Scholar 

  15. Ungar, D.: ”Generation scavenging: A non-disruptive high performance storage reclamation algorithm.” SIGSOFT/SIGPLAN Practical Programming Environments Conference, pages 157–167, April 1984.

    Google Scholar 

  16. Ungar, D.: ”The Design and Evaluation of a High Performance Smalltalk System,” Ph.D. Thesis, UC Berkeley, UCB/CSD 86/287, March 1986.

    Google Scholar 

  17. Wilson, P., Lam, M., and Moher, T.: ”Effective Static-graph Reorganization to Improve Locality,” Proc. SIGPLAN 91 Conference on Programming Language Design and Implementation, June 1991.

    Google Scholar 

  18. Wilson, P., Lam, M., and Moher, T.: ”Caching Considerations for Generational Garbage Collection,” 1992 ACM Conference on Lisp and Functional Programming, June 1992.

    Google Scholar 

  19. Zorn, B.: ”Comparative Performance Evaluation of Garbage Collection Algorithms,” Ph.D. Thesis UC Berkeley EECS Dept., 1989

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yves Bekkers Jacques Cohen

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lam, M.S., Wilson, P.R., Moher, T.G. (1992). Object type directed garbage collection to improve locality. In: Bekkers, Y., Cohen, J. (eds) Memory Management. IWMM 1992. Lecture Notes in Computer Science, vol 637. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017204

Download citation

  • DOI: https://doi.org/10.1007/BFb0017204

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55940-5

  • Online ISBN: 978-3-540-47315-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics