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.
Preview
Unable to display preview. Download preview PDF.
References
ndre, D.L.: ”Paging in Lisp Programs,” M.S. Thesis, University of Maryland, 1986.
Cattell, R.G.G.: Object Data Management. Reading, MA: Addison-Welsey.
Caudill, P., Wirfs-Brock, A.: ”A third generation Smalltalk-80 implementation.” OOPSLA'86 Conference Proceedings, pages 119–130, Portland, OR, September 1986.
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.
Cheney, C.: ”A nonrecursive list compacting algorithm,” Communications of the ACM, 13(11):677–678, November 1970.
Courts, R.: ”Improving locality of reference in a garbage-collecting memory management system.” Communications of the ACM, 31(9):1128–1138, September 1988.
Fenichel, R., and Yochelson, J.: ”A Lisp garbage-collector for virtual memory computer systems.” Communications of the ACM, 12(11):611–612, November 1969.
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.
McCarthy, J.: ”Recursive functions of symbolic expressions and their computations by machine, part I.,” Communications of the ACM, 3(4):184–195, April 1960.
Moon, D.: ”Garbage collection in a large Lisp system,” 1984 ACM Symposium on LISP and Functional Programming, pages 235–246, Austin, Texas, August 1984.
Rees, J.A., Clinger, W., et al.: ”Revised Report on the Algorithmic Language Scheme,” Sigplan Notice 21, 21,12 pages 37–39, December 1986.
Shaw, R.: Empirical analysis of a LISP System. PhD thesis, Stanford University, February 1986.
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.
Steele, G., Sussman, G.: The revised report on Scheme, a dialect of Lisp. MIT Artificial Intelligence Memo, January 1978.
Ungar, D.: ”Generation scavenging: A non-disruptive high performance storage reclamation algorithm.” SIGSOFT/SIGPLAN Practical Programming Environments Conference, pages 157–167, April 1984.
Ungar, D.: ”The Design and Evaluation of a High Performance Smalltalk System,” Ph.D. Thesis, UC Berkeley, UCB/CSD 86/287, March 1986.
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.
Wilson, P., Lam, M., and Moher, T.: ”Caching Considerations for Generational Garbage Collection,” 1992 ACM Conference on Lisp and Functional Programming, June 1992.
Zorn, B.: ”Comparative Performance Evaluation of Garbage Collection Algorithms,” Ph.D. Thesis UC Berkeley EECS Dept., 1989
Author information
Authors and Affiliations
Editor information
Rights 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